はじめに
Google Analytics でアクセスを解析する際に重要な指標はたくさんあります。中でもセッションへの理解は、ユーザの行動を分析する上で不可欠です。
しかし、セッションを正しく捉えて適切な設定を行えているケースが少ないのが実情となっています。中でも、ユニバーサルアナリティクス(UA)及びGoogleアナリティクス4(GA4)とではセッションの定義が変わっており、混同してしまわぬよう注意が必要です。
本記事では、まずセッションの概念と、セッションが切れる条件を見直します。次に、本来はセッションが切れるべきでないケースをピックアップし、対策を考えます。
セッションとは?
まずはセッションという単語をアクセス解析の文脈から離れ、抽象的に捉えてみます。
‘session’ を分解すると、’ses’ + ‘sion’ となります。
それぞれの意味を調べてみると、以下のことが分かりました。
- ses: sed-という語が変化したもので、意味は 座る、座って相談する
- sion: こと(名詞化)
みんなで座って何かを話し合うようなイメージですね。
‘session’ の原義は、’何らかの集まり’ のようです。
次にアクセス解析ツールであるGoogleAnalytics(GA4)のコンテキストでセッションを考えてみましょう。
GA4でも、’何らかの集まり’ を示すはずです。それはなんなのでしょうか。
アナリティクスヘルプでのセッションの用語を見ると、以下の定義があります。
セッションとは、ユーザーがウェブサイトまたはアプリケーションを操作する時間です。
(参照: [GA4] アナリティクスのセッションについて)
ユーザの操作を1つのまとまりとして、セッションと呼んでいるのですね。
セッションが切れる条件
ではGA4におけるセッションでは、どのような区切りを1つのまとまりとしているのでしょうか。
結論、GA4でセッションの切れる条件は下記のたった1つです。
30分の不操作による期限切れ
デフォルトの設定では、GA4のセッションは「30分の不操作」でのみ終了します。
アナリティクスヘルプ内にも下記のような記載があります。
デフォルトでは、30 分間操作がなければセッションは終了(タイムアウト)します。
「操作がなければ」とは、ビーコンが送信されていない状況を表します。つまり、GA4ではサーバにイベントが送信されない場合、ユーザの操作がないと判定されます。
そのため、ページ内でスクロールなどをしても、スクロールイベントが発火していない状況であれば基本的には操作となりません。結果として、30分イベント発火がない時点でセッションは切れます。
具体例として、ユーザーが下記のような行動をとった場合をあげます。
ページBを80%を読み、30分以上経過した時点でページCに遷移したとします。すると、カスタムイベントを設定していない場合、ページBでのpage_viewイベント発火後、「30分の不操作」を経てページCでイベントが再度発火*1することになります。結果、セッションは切れてしまっているので、2セッション発生したことになります。
*1 正確には、下記表のようにページBにてpage_viewイベント発火(④)→30分以上スクロール→ページBでサイト内遷移クリック(イベントの伴わないクリック)時にuser_engagementイベント発火*2(⑥)→ページBにて2セッション目スタート(⑥)→ページCにてpage_viewイベント発火 という流れです。 そのため、ページBにて2セッション目が開始します(滞在時間1秒未満)。
*2 user_engagementイベント発火条件に関する公式ヘルプページ:[GA4] ユーザー エンゲージメント
UAでは、「30分の不操作」に加えて下記2点の場合にセッションが切れていました。
①午前0時の通過
②参照元、メディア、キャンペーン切り替わり
GA4では上記条件でセッションは切れない点に留意しましょう。
セッションが切れるべきでないケーススタディ
下記2つの具体的なケースについて考えていきましょう。
ケース1:ページ内コンテンツが長く、読者のページ滞在時間が自然と長くなり、30分以上の間隔でイベントが発火する可能性が高い場合
ケース2:運用サイト内で、別ドメインへのページ遷移が多い場合
ケース1
ページ内コンテンツが長く、読者のページ滞在時間が自然と長くなり、30分以上の間隔でイベントが発火する可能性が高いケースについて考えていきます。
「セッションが切れる条件」内セクションにて、ページを離脱していなくとも、30分以上イベントが発火していない場合に「30分の不操作」となりセッションが切れるケースをご紹介しました。
では、各コンテンツが長く、ページの滞在時間が必然的に長くなる場合でも、1セッションとして計測したい場合には、どのような対策が必要でしょうか。
ケース1の対策:セッションのタイムアウト時間を変更
ページ内コンテンツが長いためにセッションが切れてしまうという問題は、「30分の不操作」という定義の時間を変更することで解決可能です。
管理画面からセッションのタイムアウト時間を変更し、ページの滞在時間が長くなりやすい場合でも同一セッションとして計測可能です。
下記手順より、設定可能です。
管理 > データの収集と修正 > データストリーム > ウェブサイト > タグ設定を行う > セッションのタイムアウトを調整する
ケース1の対策:カスタムイベントを設定
ユーザーがページを利用しているのにも関わらず、イベント発火しないがために「ページの不操作」となる場合では、発火イベントを増やすことでも解決可能です。
スクロールイベントをデフォルトの90%だけでなく、25%、50%、75%など細かい条件で発火させるようなカスタムイベントの設定を行うことでイベント発火時間の間隔が短くなります。
結果、ユーザーがページを離脱していないのにセッションがきれてしまう、といった状況を減らす事ができます。
ケース2
異なるドメイン間でのページ遷移が発生するウェブサイトを運営しているケースを考えてみましょう。
例えば、BtoB向けサービスのウェブサイトを運営しており、コーポレートサイトが別ドメインに存在する環境で、ユーザーが次のような行動を取った場合を想定してみましょう。
①サービス詳細ページ → ②別ドメインのコーポレートサイト閲覧 → ③サイト内回遊 → ④流入時ドメインの問い合わせフォーム到達 → ⑤問い合わせ完了ページ到達
ここで問題となるケースは、別ドメイン遷移時に発生します。
セッションが切れる条件は「30分以上の不操作(イベントの発火間隔が30分以上)」でしたが、デフォルトの設定では、ドメインが変わる際には別セッションとして計測されます(単純にセッションが切れているわけではない点に注意)。
各GA4プロパティの計測範囲により、プロパティ内での表示セッション数は異なりますが、①→②や③→④などの異なるドメイン間の推移時、別のセッションが計測されます。
ドメインbbb.comのコーポレートサイトを35分閲覧(②〜③の離脱まで)しており、①の流入時のドメインaaa.comから④へ再訪問した際のイベント発火間隔が30分以上となるためです。
結果、セッション数は下記の表の通りとなります。
つまり本ケースでは、プロパティAやCのデータを見ている場合、サイトへ初回アクセスしたセッション(①)と、問い合わせフォーム入力から完了までのセッション(④~⑤)が切れてしまっているといえます。
補足:
本ケースにおいて、単純にセッションが切れているわけではないといえるのは、④のpage_viewイベント発火が13:25だった場合(①と④のでのイベント発火間隔が30分以内の場合)は、下記の表のとおりとなるためです。
本ケースが問題となるのは、セッションが切れてしまうことにより、正確なコンバージョンが計測されない点です。
本来は「自然検索経由の初回セッションでコンバージョンした」という行動であったはずが「リファラル経由の2回目セッションでコンバージョンした」と、データを読み違えてしまいます。
コンバージョンを用いる指標はマーケティングの中でも重要で、セッションごとに正しく取得する必要があります。
ケース2の対策:クロスドメイントラッキングの設定
ドメインが異なるページ遷移が発生するがゆえにイベント発火間隔が30分以上となり、セッションが切れてしまうという問題は、異なるドメインを同一プロパティで計測するための設定である、「クロスドメイントラッキング」を設定することで解決可能*3です。
*3 1つのプロパティで異なるドメインを一緒に計測している場合に限ります。(詳細は後述)
まずクロスドメイン トラッキングについて、概要を引用します。
クロスドメイン トラッキングを使用すると、2 つの関連サイト (e コマースサイトと、別のショッピング カート サイトなど) でのセッションが 1 回のセッションとしてアナリティクス レポートに記録されます。これは「サイト間のリンク」とも呼ばれます。
(参照: クロスドメイン トラッキングについて)
上記設定を行うことで、別ドメインへのページ遷移が発生した場合においても、一連のサイト回遊を同一セッションとして計測可能になります。
結果、ケース内①→②及び③→④のドメイン間遷移が同一セッションとなり、もともと複数セッションだった行動を1セッションとして正しくデータを理解することができます。
本設定は、下記が前提となります。
2.GA4の編集者権限以上をもっていて、管理画面にてクロスドメイントラッキングを設定可能
下記手順により、設定可能です。
管理 > データの収集と修正 > データストリーム > ウェブサイト > タグ設定を行う > ドメインの設定
セッションをつなげたい場合でも、プロパティAのように異なるドメインを同一のGA4タグで計測できない場合、クロスドメイントラッキングの実装ができず、本ケースの解決は難しいでしょう。
しかし、セッションの定義を正しく理解するだけでも、サイト内でのユーザー行動を把握するうえで非常に重要です。本内容が、今後のサイト運営やデータ解析の改善に役立てば幸いです。
まとめ
本記事では、抽象的なセッションについて考えました。抽象的なセッションとは、「なにかの集まり」としました。
そこからGA4におけるセッションは、ユーザの操作の集まりだと振り返りました。
続いてセッションが切れる条件を見直しました。
- 「30分の不操作」という時間による期限切れ
また本来切れるべきでないセッションのケースを挙げ、その対策を考えました。
- セッションタイムアウト時間を変更する
- カスタムイベントを設定する
- クロスドメイントラッキングを設定する
セッションを理解し、正しい計測をして、日々のマーケティングに活かしていきましょう。
また、セッションを正しく計測できているか確認したい、クロスドメイントラッキングを行えるように分析基盤を整えたい、等のご要望がございましたら、お気軽にお問い合わせください。