Google Analytics 4(GA4)では、最近 batch_ordering_id と batch_page_id という 2 つの新しいイベントパラメータが追加されました。
batch_ordering_id
batch_ordering_id は、同一ページから GA4 がネットワークリクエスト(batch)を送信するたびに増加する連番です。
GA4 には、複数のイベントを 1 回のリクエスト(batch)にまとめて送信する event grouping 機能があり、通信パフォーマンスの最適化を行っています。
batch_ordering_id は、同一ページ内で送信された batch の順序を示すためのパラメータです。
例えば、ページを開いた際に Event 1~Event 5 が発生した場合、GA4 は自動的に次のように処理します。
- Event 1:1 回目の batch → 値は 1
- Event 2:2 回目の batch → 値は 2
- Event 3、Event 4、Event 5:3 回目の batch → 値は 3
Event 3~Event 5 は 1 つのリクエスト(batch)としてまとめて送信されます。そのため、実際に GA4 に送信されるリクエストは合計 3 回のみとなります。
このパラメータにより、1 回のページ表示から複数のリクエストが送信された場合でも、GA4 や BigQuery などでイベントの送信順序を正しく保持することができます。
batch_page_id
batch_page_id は、1 回のエンゲージメント内でページごとに付与される連番で、ページ遷移が発生するたびに増加します。
実際には、この値はイベントの発生時刻を基に生成されており、GA4 の Cookie ga<container-id> に保存されている値と密接に関連しています。
主な特徴は以下の通りです。
- batch_page_id は 13 桁のタイムスタンプ(ミリ秒単位)
- イベント発生時のタイムスタンプを表す
- ga<container-id> に保存されている秒単位の値を、ミリ秒精度にしたもの
例 gainjp.com でイベントが発生した場合:
-
Cookie ga<container-id> のタイムスタンプ:1700107169(10 桁・秒)
-
batch_page_id:1700107168937(13 桁・ミリ秒)
両者の関係は次の式で表せます。
このことから、batch_page_id はイベントが発生したページのコンテキストに紐づく、ミリ秒精度のタイムスタンプであることが分かります。
これらのパラメータを意識すべきケース
batch_ordering_id と batch_page_id は、特に次のような場面で重要になります。
- BigQuery で GA4 の生データを分析する場合
- イベントの送信順序に関する問題を調査する場合
- Measurement Protocol や gtag.js を使った batch 送信を扱う場合
- ページ単位でイベントの流れを再構築する場合
これらのパラメータは GA4 により自動生成されるもので、設定や変更はできません。
参考資料:GA4 で使用される Cookie を理解する: _ga、_ga_<container-id>、および FPID