GA4のカスタムディメンションがBigQueryで確認できないときの確認方法
GA4のカスタムディメンションは設定されていない?
GA4の画面上でイベントを設定して、UI上ではイベントが設定されていても、BigQueryで探しても出てこないということはありませんか。
[GA4] BigQuery Export スキーマ
こちらにも記載されていないとの記載があります。
しかし、UI上では「カスタムディメンション」と呼ばれていても、実はBigQueryでは別の名前、「イベント パラメータ」「ユーザー プロパティ」という名前で格納されています。
イベント パラメータ=「params」「value」「string(文字列値) or int(整数値)」
ユーザー プロパティ=「properties」「value」「string(文字列値) or int(整数値)」
GA4カスタムディメンションのBigQuery上での格納され方
イベントパラメータ
フィールド名 |
データ型 |
説明 |
event_params |
RECORD |
このイベントに関連付けられたパラメータを格納する繰り返しレコード。 |
event_params.key |
STRING |
イベント パラメータのキー。 |
event_params.value |
RECORD |
イベント パラメータの値を格納するレコード。 |
STRING |
イベント パラメータの文字列値。 |
|
INTEGER |
イベント パラメータの整数値。 |
ユーザー プロパティ
フィールド名 |
データ型 |
説明 |
user_properties |
RECORD |
setUserProperty API によって設定される、ユーザー プロパティの繰り返しレコード。 |
user_properties.key |
STRING |
ユーザー プロパティの名前。 |
user_properties.value |
RECORD |
ユーザー プロパティの値を格納するレコード。 |
STRING |
ユーザー プロパティの文字列値。 |
|
INTEGER |
ユーザー プロパティの整数値。 |
BigQueryのサンプルデータ
GA4のBigQueryデモアカウントevents_20210131
こちらはGA4のBigQueryデモアカウントデータです。デモアカウントではカスタムディメンションは設定が見えないので上記では記載がないですが、event_namesの中のイベント名が設定したものになっているはずです。
GA4でのカスタムディメンションの数を取得する際のクエリ
データが入っているかどうかを確認したい場合にはある特定のユーザーのevent_namesを検索し、上の画像のように格納されているかを確認したのち、以下のクエリを参考にしてデータの取得してみてください。
特定のイベント名の値
-- Example: Query total value for a specific event name.
--
-- Queries the total event value for all 'purchase' events.SELECT
SUM(
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'value'
))
AS event_value
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name = 'purchase'
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';
-- Example: Query total value for a specific event name.
--
-- Queries the total event value for all 'purchase' events.SELECT
SUM(
(
SELECT COALESCE(value.int_value, value.float_value, value.double_value)
FROM UNNEST(event_params)
WHERE key = 'value'
))
AS event_value
FROM
-- Replace table name.
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
event_name = 'purchase'
-- Replace date range.
AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';