【データ分析】BigQueryにおけるGA4 event_paramsの展開とUNNESTによる分析
はじめに
GA4をBigQueryにExport設定して、BigQuery上でGA4データを分析する際に、よくつまずくのが、GA4のevent_paramsの解析の仕方。今回は、こちらに関してまとめる。
event_paramsとは?
GA4のイベントは、特定のユーザーの行動やサイト、アプリの状態変化を記録する。GA4では、イベントのトラッキングと分析にevent_nameとevent_paramsの2つの主要な要素を使用する。
event_name
-
文字列で、特定のイベントを一意に識別する。これはイベントの種類を表し、例えば**
page_view
、purchase
、sign_up
**などがあり、ユーザーで設定可能。
event_params
- イベントの各パラメータを格納した繰り返しレコード。
BigQueryにエクスポートされたGA4のイベントテーブルのフィールド(一部)。
フィールド(抜粋) | 型 | メモ |
---|---|---|
event_date | STRING | イベントが記録された日付 |
event_name | STRING | イベント名(session_start やpage_viewなど) |
event_params | RECORD | イベントの各パラメータを格納した繰り返しレコード。 |
event_params
列には配列が格納されている
event_params
はイベントに関連する追加情報を格納するレコード(またはオブジェクト)の配列。各レコードはキー(key
)と値(value
)のペアを持ち、イベントのコンテキストまたは追加の詳細を提供する。
具体的には、下記のように1つのevent_nameに対して、複数のevent_paramsがkey, valueのペアで格納されている。
{
"event_name":"session_start",
"event_params":[
{"key":"page_referrer", "string_value":"https://www.bing.com/"},
{"key":"ga_session_id", "int_value":1670474519},
{"key":"page_location", "string_value":"https://exammple.com/page1"},
{"key":"page_title", "string_value":"page1"},
・・・(省略)
]
}
BigQueryにエクスポートされたテーブルでは下記のように表示される。
event_date | event_timestamp | event_name | event_params.key | event_params_value.string_value |
---|---|---|---|---|
20220222 | 1643673600483790 | page_view | page_location | https://example.com |
page_title | Home | |||
medium | referral | |||
source | ||||
page_referrer | https://www.google.com | |||
<parameters...> | <values...> |
よく設定されるevent_params項目
- page_location(key): ユーザーが訪れたページのURL。
- page_referrer(key): ユーザーが前に訪れたページのURL。
- event_category(key): イベントのカテゴリ。UA時代のパラメーター
- event_label(key): イベントのラベル。UA時代のパラメーター
- value(value): イベントに関連する数値(例:購入金額)。
ちなみに、GA4では、Universal Analytics(UA)時代の**event_category
やevent_label
**といったパラメータは標準では使用されず、任意で設定することが可能になっている。
event_params
のvalue
の4つの異なるタイプ(string, int, float, double)
さらにややこしいのが、event_params
のvalue
には、実際には4つの異なるタイプがある:string_value
、int_value
、float_value
、double_value
。
これらはイベントのコンテキストに応じて異なる種類のデータを格納するために使われる。
string_value
- テキスト情報を格納。一番よく使われる。
- ページのURL、ユーザーが実行したアクションの種類、製品名、カテゴリ名など。たとえば、ユーザーがどのボタンをクリックしたか、どの製品を閲覧したかなどの情報が含まれる。
int_value
- 整数を格納。数が大きくない特定のカウントやIDなど、小数点を含まない数値データに適している。
- 具体的なケース: ページビューの数、あるイベントが発生した回数、製品IDやカテゴリIDなど
float_value
- 浮動小数点数を格納。小数点を含む数値や、非常に大きいまたは小さい数値を扱う場合に適している。
- 具体的なケース: 製品のレビュースコアやユーザー評価、ある行動の平均時間(秒)、または特定のイベントに関連する割引率など。
double_value
- 浮動小数点数を格納するが、**
float_value
**よりも大きな範囲と精度を持つ。より精密な計算や、より大きい範囲の数値を必要とする場合に使用される。 - 具体的なケース: 金額や距離、時間など、より高い精度が要求される数値データに使用される。たとえば、高価な商品の価格や、ユーザーがアプリを使用した総時間(ミリ秒単位)、長い距離(メートル単位)など。
event_paramsを送る際のvalueタイプは自動推論される。
GA4イベントを送信する際に、gtag.jsでは値のタイプを
続きはこちらで記載しています。
Discussion