Google アナリティクス 4(以下GA4)はあらゆる計測を「イベント」で行ないます。
セッションもイベント「session_start」で計測されますが、レポートを見ると「セッション」という指標があります。
「session_start」と「セッション」の違いは何でしょうか?
本コラムでは両者の違いと利用時の注意点について解説します。
GA4のリリース当初はイベント「session_start」= 指標「セッション」と同じ集計定義でしたが、精度向上とエラー率の低下を実現するため、指標「セッション」の集計定義が変更されました。
詳細は以下のヘルプを参照してください。
https://support.google.com/analytics/answer/9191807?hl=ja
- イベント「session_start」とは
- 指標「セッション」とは
- session_startとセッションの違い
- session_startとセッションに差が出るのはなぜ?
- session_startとセッション利用時の注意点
- まとめ
イベント「session_start」とは
サイト訪問時に1ページ目で計測されるイベントです。
page_viewやclickなどと同様にイベント名に「session_start」という名称で自動的に計測されるイベントです
このイベントは訪問中2ページ目以降では計測されません。
セッションが切れてから再訪問すると新たにsession_startが計測されます。
session_startのイベント数がセッション数となります。
指標「セッション」とは
サイト訪問時にセッションIDが自動的に生成されます。
セッションIDは訪問ごとにユニークなIDとなります。
セッションが切れてから再訪問すると新たに違うセッションIDが生成されます。
指標「セッション」はこのユニークなセッションIDの数をカウントし算出します。
session_startとセッションの違い
両方とも「セッション」という扱いですが、違いは何でしょうか?
上述のとおりカウントロジックに違いがありますが、もう少し掘り下げて比較します。
以下の図はサイト訪問時のユーザー行動を簡単なログにしたものです。
9/1と9/2にそれぞれ訪問し「session_start」のイベント数は2、ユニークなセッションIDの数も2です。
そのため、セッションという数だけみれば違いはありません。
しかし実際には微妙に差が出たり、中には大きく差が出る場合があります。
特に大きく差が出る場合は根本的な違いがあります。
その理由について次章「session_startとセッションに差が出るのはなぜ?」で解説します。
session_startとセッションに差が出るのはなぜ?
微妙に差が出るケース
訪問中に日付けを跨いだ場合に発生します。
例えば以下のように日付けを跨いだ場合に差が発生します。
9/1から9/2にかけて行動した結果をレポートの集計期間を9/2,9/3にした場合を想定します。
session_startは9/1に計測されますが、レポートの集計期間の9/2にはsession_startはないため0になります。
ユニークなセッションID数は9/2もあるため1です。
つまり、以下のような結果になります。
これは誤差範囲になることが多いため、そこまで気にしなくてもよいと思います。
大きく差が出るケース
「session_start」は訪問時の1ページ目だけ発生します。
セッションIDは訪問時に生成され各ページに紐づきます。ここがポイントです。
「セッション」はページごとに紐づいているユニークなセッションIDをカウントします。
つまり、ページ単位でsession_startとセッションを比較すると大きな差が発生します。
例えば以下のような行動をページ単位のレポートで見た場合、大きな差となります。
簡単にいえば
- session_start:1ページ目だけカウント
- セッション:2ページ目以降もカウント
となり、これが大きな差の理由であり「ssession_start」と「セッション」の違いになります。
特に1ページ目になりえないページは「session_start」との差は大きくなります。
なお、訪問中に同一ページを見た場合、セッションIDが同じであるため「セッション」は重複カウントされません。
session_startとセッションが同義であるという認識で用いてしまうと、まったく違う結果になるため注意が必要です。
session_startとセッション利用時の注意点
ユニバーサルアナリティクス(以下UA)の「セッション」は1ページ目だけでカウントします。
GA4の「セッション」は2ページ目以降もカウントされます。
同じ指標名ですが、ロジックがまったく異なるため注意が必要です。
例えばUAで
- ページ x セッション(ランディングページの閲覧数)
といったレポートを作ってみていた場合、GA4で同じレポートを作るとまったく違った結果となります。
GA4ではディメンションをランディングページにするか、イベント「session_start」を使うかのどちらかにした方がよいでしょう。
ただし、この注意はページ単位で指標「セッション」を利用する場合になります。
集客や日付、ランディングページといったスコープが訪問のディメンションに対して利用する場合は問題ありません。
まとめ
「session_start」はブラウザから送信されるため欠損する可能性がありますが「セッション」はGoogleサーバー側で処理されるため精度は「session_start」より高いとも言えます。
ただし、使いどころや見方を間違えなければ「session_start」「セッション」どちらでも問題はありません。
どのようなレポートを作るか、必要なのかといったところを考慮して利用していただければよいと思います。