【BigQuery × GA4】連携データの確認とevent_timestampのフォーマット変換

BigQuery

cover image from Unsplash

Photo by Henry & Co. on Unsplash

本記事について

Google アナリティクス は BigQuery と連携することで、集計前の生データを BigQuery 上で利用することができる。

本記事では、BigQuery にエクスポートしたデータの詳細の確認方法と、 クエリの練習として event_timestamp のフォーマットを変換する方法を紹介する。

BigQuery と Google アナリティクス 4 の連携方法

これの手順通りにやるのが一番よい。

他にも連携方法を丁寧に解説した日本語記事はいっぱいあるので、そちらも参考にされるとよい。

BigQuery export のデータを確認する

連携が成功すると、BigQuery のプロジェクト内に、データセットとテーブルが自動追加される。

BigQuery操作画面BigQuery操作画面。

データセットとテーブルの名前は以下のように決定される。

データセット

BigQuery にリンクしている Google アナリティクス 4 プロパティおよび Firebase プロジェクトごとに、「analytics_<property_id>」という名前の 1 つのデータセットが BigQuery プロジェクトに追加されます。

テーブル

毎日のエクスポート オプションが有効になっている場合、各データセット内に events_YYYYMMDD という名前のテーブルが毎日作成されます。

GA4 BigQuery Export スキーマ - アナリティクス ヘルプより

テーブル名に(4)とついているが、これは 4 日分のテーブルが保存されているからである。

BigQuery操作画面BigQuery操作画面より。

テーブル名を選択すると、SCHEMA が開き、データ構造を確認することができる。

日にちごとのテーブルの中身は、PREVIEW で表示することができる。便利。 BigQuery操作画面BigQuery操作画面より。

event_timestamp のフォーマットを変換する

SQL 処理の手始めに event_timestamp のフォーマット変換を行う。 まず、テーブル内の SCHEMA から event_timestamp が INTEGER であることが確認できる。

BigQuery操作画面BigQuery操作画面より。

今回は、2種類のフォーマット変換を紹介する。 一つめは、マイクロ秒精度が必要な場合。 TIMESTAMP_MICROS で、 INTEGER からマイクロ秒精度の TIMESTAMP を返す。

二つめは、年月日のみ欲しい場合。 DATEで TIMESTAMP から DATE を抽出すればよい。

実装例

SELECT
  event_timestamp,
  TIMESTAMP_MICROS(event_timestamp) AS event_timestamp_value,
  DATE(TIMESTAMP_MICROS(event_timestamp), 'Asia/Tokyo') AS event_date
FROM `プロジェクトID名.データセット名.テーブル名`

Image from Gyazoクエリ実行結果。

上記のような結果になっていれば、成功である。

BigQuery はクエリ実行前にエラーの有無がわかるので、これまた便利である。