【学習ログ】GA4におけるセッションの仕組みとタイムアウト調整
セッションとは何か
GA4でいうセッションは、ユーザーがサイトやアプリを操作しているひとまとまりの時間を指す。アプリをフォアグラウンドで開いたり、前のセッションが終わったあとにページやスクリーンを表示したタイミングで新しいセッションが始まる。
デフォルトでは30分間操作がなければタイムアウト扱いになり、その時点で区切られる。ただしセッションの継続時間自体に上限はなく、操作が続く限りは続く。
セッション開始時のイベントとID
セッションが始まると、自動的にsession_startイベントが発火し、そこで「セッションID(ga_session_id)」と「セッション番号(ga_session_number)」が割り振られる。
- セッションIDは、開始時点の秒単位のタイムスタンプで生成される。user_idやuser_pseudo_idと組み合わせることで、各セッションを固有に識別できる。
- セッション番号は、そのユーザーにとって何回目のセッションかを示す数字。3回目や5回目といった履歴を追うのに便利。
この2つの値は、gtag.jsやFirebase SDK経由で送られるイベントに自動で紐づくが、Measurement Protocolやデータインポート経由だと付与されない場合がある。
セッション数の数え方
GA4では、ユニークなセッションIDの数を推定することでセッション数を算出している。単なるアクセス回数ではなく、このID単位でカウントされる点が重要。
セッションタイムアウトの調整
アプリ編
アプリがバックグラウンドに移行するとセッションタイムアウトのカウントが始まる。ただしバックグラウンド中でもextend_sessionパラメータ(値は1)を付けてイベントを送信すればセッションを延長できる。ナビアプリや音楽アプリのようにバックグラウンド実行が主なアプリではこの方法が役立つ。
また、setSessionTimeoutDurationメソッドを使えば、アプリのデフォルトタイムアウト時間(30分)を任意の時間に変更できる。
ウェブ編
ウェブのデフォルトタイムアウト(30分)は管理画面から変更できる。手順は以下の通り。
- Google アナリティクスで [管理] を選択
- ログインしているアカウントを確認
- [プロパティ] 列で [データ ストリーム] を選択
- ウェブデータストリームを選択
- ページ下部の [タグ設定を行う] を選択
- [設定] 内の [すべて表示] をクリック
- [セッションのタイムアウトを調整する] を選択し、時間やエンゲージメントセッションの秒数を設定
- [保存] を選択
これにより、分析の粒度や計測対象の行動に合わせて、セッションの切れ目をコントロールできる。
学びのまとめ
GA4のセッションは単なる滞在時間の集計ではなく、session_startで生成されるIDと番号を核に、ユーザー行動をひとまとまりとして分析するための単位になっている。タイムアウトの扱いを理解し、必要に応じて設定を変えることで、データの切れ目をより実態に近づけられる感覚が持てるようになった。
Discussion