3.4 セッションの定義

GA4 におけるセッションの始まりと終わり、UA との違いを理解します。
基礎書籍換算 約 8 ページ

この章で学ぶこと

  • セッションの始まりを示す session_start イベント
  • セッションが終わるタイムアウトの仕組み
  • 日付をまたぐセッションの扱い
  • 途中で参照元が変わったときの扱い
  • UA とセッション数がずれる理由

session_start イベント

セッション とは、ユーザーがサイトやアプリを訪れてから離れるまでの、ひとまとまりの訪問のことです。お店にたとえると「1 回の来店」にあたります。

GA4 では、セッションが始まると session_start という自動収集イベントが記録されます。同時に、そのセッションに含まれるすべてのイベントには、次のパラメータが付きます。

パラメータ内容
ga_session_idセッションの識別子(セッションが始まった時刻をもとにした値)
ga_session_numberそのユーザーにとって何回目のセッションか

レポートの「セッション数」は、ユーザーごとの ga_session_id の種類の数をもとに計算されます。

ユーザー A
├─ セッション 1(ga_session_id = 1730000000, ga_session_number = 1)
│   ├─ session_start
│   ├─ page_view /
│   ├─ page_view /products/
│   └─ scroll
└─ セッション 2(ga_session_id = 1730086400, ga_session_number = 2)
    ├─ session_start
    ├─ page_view /products/item-01/
    └─ add_to_cart

ポイント セッションの識別子は「ユーザーごと」に付けられます。そのため、BigQuery でセッション数を数えるときは、ga_session_id だけでなく、ユーザーの識別子と組み合わせて数える必要があります(第 10 部)。

タイムアウトの仕組み

セッションは、ユーザーが一定時間操作しないと終了します。この時間を セッションのタイムアウト と呼び、GA4 の既定値は 30 分 です。

10:00  page_view(セッション開始)
10:05  page_view
10:20  scroll
         ……操作なし……
10:55  page_view  ← 最後の操作(10:20)から 30 分以上たっているので、新しいセッションが始まる

タイムアウトの変更

タイムアウトの時間は、管理画面の「データストリーム」→ ウェブ ストリーム →「タグ設定を行う」→「セッションのタイムアウトを調整する」で変更できます(5 分〜7 時間 55 分)。

サイトの特徴タイムアウトの考え方
一般的なサイト既定の 30 分のままでよい
長い動画や長文を、操作せずに見続けることが多い長めにする(例:60 分)
短時間で用件が済むサイト既定のままでよい(短くする必要はあまりない)

注意 タイムアウトを変更すると、変更した時点以降のセッション数が変わります。変更する場合は、その日付を記録しておき、前後で数値を比較するときに注意しましょう。

エンゲージメントのあったセッションの判定時間

同じ画面には、「エンゲージメントのあったセッションの時間を調整する」という設定もあります。これは、セッションが「エンゲージのあったセッション」と判定されるまでの時間(既定 10 秒、最大 60 秒)で、タイムアウトとは別のものです。詳しくは第 4 部で扱います。

日付をまたぐセッション

GA4 では、日付が変わってもセッションは途切れません。たとえば、23 時 50 分に訪れて 0 時 10 分まで閲覧したユーザーは、1 つのセッションとして扱われます。

23:50  session_start, page_view(10 月 28 日)
23:58  page_view(10 月 28 日)
00:05  page_view(10 月 29 日)
00:10  page_view(10 月 29 日)
→ セッションは 1 つ

ただし、日別のレポートで見ると、このセッションは 両方の日に 1 セッションずつ 数えられることがあります。そのため、日別のセッション数を足し合わせると、期間全体のセッション数よりわずかに多くなる場合があります。

ポイント 日別の数値を合計して月間の数値を出すのではなく、期間を 1 か月に指定して表示した数値を使いましょう。ユーザー数も同様で、日別のユーザー数を足しても月間のユーザー数にはなりません(同じ人が何日も来ていれば重複して数えられるため)。

参照元が変わったとき

UA では、セッションの途中で別の参照元から再び訪れると、新しいセッションが始まっていました。たとえば、検索から訪れたユーザーが、いったんほかのサイトに移り、10 分後にメールのリンクから戻ってきた場合、UA では 2 つのセッションとして数えられていました。

GA4 では、このような場合も 新しいセッションは始まりません。タイムアウト(30 分)の前に戻ってくれば、同じセッションの続きとして扱われます。

10:00  google 検索から訪問(セッション開始)
10:05  外部サイトへ移動
10:15  メールのリンクから戻る ← GA4 では同じセッション(UA では新しいセッション)

セッションの参照元はどれになるか

このとき、「セッションの参照元」は、セッションが始まったときの参照元(この例では google)になります。途中で訪れたメールのリンクは、セッションの参照元には反映されません。

ただし、イベント単位の「参照元」には、メールのリンクから戻ってきたあとのイベントについて、メールの情報が使われることがあります。キーイベントがどちらの流入の成果として数えられるかは、アトリビューションの設定(第 7 部)によって決まります。

UA とセッション数がずれる理由

ここまでの内容をまとめると、GA4 のセッション数が UA と異なる主な理由は、次のとおりです。

原因UAGA4影響
日付の切り替え新しいセッションを開始セッションは継続GA4 のほうが少なくなる
途中での参照元の変化新しいセッションを開始セッションは継続GA4 のほうが少なくなる
計測の推計なし同意モードによるモデリングなど設定により異なる
セッション数の計算方法実数をカウント推定アルゴリズムで高速に計算わずかな誤差が出ることがある
ボットやフィルタビューのフィルタデータフィルタ、既知のボットの自動除外設定により異なる

セッション数は推定値

意外に知られていませんが、GA4 のレポートに表示されるセッション数は、大量のデータを高速に集計するため、統計的な手法(HyperLogLog++ というアルゴリズム)で推定された値です。ユーザー数(アクティブ ユーザー数、総ユーザー数)も同じ手法で推定されています。

誤差はごく小さいため、日々の分析で気にする必要はほとんどありません。ただし、BigQuery で正確に数えた値と、GA4 の画面の値とが一致しない理由の一つとして知っておくとよいでしょう。

セッションに関するその他の指標

セッションに関連して、GA4 には次のような指標があります。いずれも第 4 部で詳しく解説します。

指標意味
セッション数期間内に始まったセッションの数
エンゲージのあったセッション数10 秒以上継続、キーイベントの発生、2 回以上のページ表示のいずれかを満たしたセッションの数
エンゲージメント率セッション全体のうち、エンゲージのあったセッションの割合
ユーザーあたりのセッション数1 人のユーザーが平均して何回訪れたか
セッションあたりの平均エンゲージメント時間1 回の訪問で、どれくらいの時間ページを前面に表示していたか
セッションのキーイベント率キーイベントが発生したセッションの割合

まとめ

  • GA4 のセッションは session_start イベントで始まり、ga_session_id で識別される
  • 既定では、30 分操作がないとセッションが終わる。タイムアウトは変更できる
  • GA4 では、日付が変わったり、途中で参照元が変わったりしてもセッションは途切れない
  • そのため、GA4 のセッション数は UA よりも少なくなる傾向がある
  • GA4 のセッション数やユーザー数は、統計的な手法による推定値である

次の章では、独自のパラメータをレポートで使えるようにする、カスタム ディメンションとカスタム指標の登録方法を学びます。