GA4とBigQueryを連携するメリット& 基本的なSQLの使い方を解説

2020年10月からGoogle Analytics 4(以下「GA4」)がリリースされ、Webやアプリ上におけるユーザーの生データを低コストでBigQueryに管理できるようになりました。

低コストといっても余程のアクセスが来ない限りほぼ無償で管理できるので、有効活用できないかと気になっている方も一定数いるのではと思います。

とはいえ、その大多数は「実際にGA4の生データをBigQueryで管理すべき理由ってなんだ?」となっているのではないでしょうか?(実際に僕はなりました(笑))

そのため本記事では、GA4とBigQueryを連携するメリットについて解説していきます。あわせて、よく使う基本的なSQLの使い方についても紹介するので、ぜひ参考にしてみてください。

本記事の筆者
  • 国立理系修士1年(23歳 | 専攻は機械学習)
  • SEOマーケティング会社で実務を1年ほど経験
  • ブログ運営3年目(月間10,000PVほど)
  • 2025年4月からIT事業会社のデータサイエンティストとして働く予定で、現在はBigQueryを活用したGA4やGSCのデータ分析に注力
目次

GA4とBigQueryを連携するメリット

早速、GA4とBigQueryを連携するメリットについて紹介していきます。

GA4とBigQueryを連携するメリット
  • GA4のUIに表示される集計されたデータでなく、生データ(ローデータ)を収集することができるため、より質の高いデータを獲得することができる。
  • サンプリングされていない生データにアクセスできるため、UIの標準レポート・探索レポートよりも深い分析をすることができる。(前後パス分析、ユーザージャーニーの追跡、より優れたセグメンテーション、機械学習モデル構築による予測分析など)
  • CRM・メール・広告などの他の外部ソースデータとGA4のデータを組み合わせることができ、より優れた分析用のデータセットを得ることができる。
  • GA4では無料で最大14ヶ月しかデータを保持できない(探索レポートの場合)が、BigQueryでは半永久的にデータを保存できるため、年単位での比較が可能。
  • LookerStudioと接続する際にAPI制限に悩まされる心配がなくなるため、より高速なレポートを作成することができる。

あまりこの分野に慣れていない方はとっつきづらいかもですが、ざっくり上記がGA4とBigQueryを連携するメリットです。

なお、より深く信頼性の高い情報を得たい方は、「9 Reasons Why You Should Turn On GA4 BigQuery Integration」の記事が参考になるかと思います。

また、「GA4とBigQueryの連携で実現する6つのメリット」の記事もわかりやすいです。当記事とあわせてどうぞ<(_ _)>

GA4とBigQueryを連携するデメリットは?

反対に、GA4とBigQueryを連携するデメリットについても紹介していきます。

GA4とBigQueryを連携するデメリット
  • SQLを書ける人材がいないと深い分析は不可能
  • 大規模サイトになると金銭的コストが掛かってくる(発生する料金については後述します。)

GA4の管理画面UIでの分析よりも、SQLで分析できるようになるための学習コスト・人的コストが比べ物にならないくらい掛かってくるのが一番ネックかなと思います。

また、BigQueryにデータを保存する&SQLクエリを実行するための金銭的コストも掛かってきます。そちらについては下記にてまとめていきます。

GA4×BigQueryの料金体系

GA4×BigQueryの料金体系は少しややこいのですが、月間100万PVほどアクセスがくる大規模サイトでない限り基本的に無料で使うことができます。

BigQueryを無料で使える範疇
  • データ保存料金:毎月10GBまで無料(それ以上は1GBごとに0.1〜0.4ドル)
  • SQLクエリによる分析料金:毎月1TBまで無料(それ以上は1TBごとに6.25ドル)

上記はすべて2024年3月現在である料金体系で記載しています。(参考

当サイトは1日に1,000イベント(平均300〜400PV)ほど計測されるのですが、それを保存するデータ量が1MB以下です。なので、データ保存料金において10,000日分以上集まらないと課金されないので、ほとんどのサイトでは長期に渡って無料で使えることがわかるかと思います。

また、SQLクエリによる分析も1回あたり大体10MBほどで実行できます。1ヶ月以内に10MBのクエリを100,000回行ってやっと課金されるので、課金されるまで分析を回す方が難しいです(笑)

GA4とBigQueryを連携する方法はブログ記事よりも動画で確認した方が早いので、参考動画を下記に載せておきます。

上記動画をもとに手を動かしていけば、1時間ほどでGA4とBigQueryを連携できるかと思います。

それでは次にGA4データをBigQueryで扱うための基本的なSQLを紹介していきます!

GA4×BigQueryにおける基本的なSQLの使い方

ここからは、BigQueryでGA4のローデータを分析していくための「基本的なSQLの使い方」について解説していきます。

テーブル指定

from
 `プロジェクト名.データセット名.events_*`

上記記述でテーブル指定をすることができます。

「events_*」部分でデータセット内のevents_ で始まる全てのテーブルを指定し、後述するwhere句を用いて期間指定するのが一般的です。

期間指定

where
  _table_suffix between '20240101' and '20240131'

上記で、2024年1月1日から2024年1月31日までの期間に対応するテーブルを指定することができます。

分析したい期間ごとに数字を変更してあげましょう。

UNNEST

select
 (select value.string_value from unnest(event_params) where key = 'page_location') as page_url

GA4データをBigQueryで扱う際に面倒なのが、ネストされたデータ形式があることです。

ネストされたデータ形式とは、GA4データでいう1つのセルに複数行に相当するデータが入っているということです。

これらのデータにアクセスするために、UNNEST関数を使ってデータを展開する必要があります。上記はその一例なのですが、この概念は必ずといっていいほど必要になってくるので、参考記事をもとに習得していきましょう。

» 参考記事:BigQuery入門者がはじめに躓くだろうネスト型との付き合い方

日付関連

-- YYYY-MM-DD
date(timestamp_micros(event_timestamp), 'Asia/Tokyo') as jst_time
-- YYYY-MM-DD HH:MM:SS
format_timestamp('%Y-%m-%d %H:%M:%S', timestamp_micros(event_timestamp), 'Asia/Tokyo') as jst_time

上記はイベント発生時刻を読みやすい形式に変換するクエリです。

上がYYYY-MM-DD形式で、下がYYYY-MM-DD HH:MM:SS形式ですので、日付だけでなく時刻の情報も欲しい場合は下の記述をselect文に入れてあげましょう。

分析例:特定のページに訪れたユーザーIDを取得

with pv as (
  select
    event_name,
    user_pseudo_id,
    (select value.string_value from unnest(event_params) where key = 'page_location') as page_url,
    format_timestamp('%Y-%m-%d %H:%M:%S', timestamp_micros(event_timestamp), 'Asia/Tokyo') as jst_time
  from
    `ga4-bigquery-pj-392206.analytics_342165491.events_*`
  where
    _table_suffix between '20240101' and '20240131'
    and event_name = 'page_view'
)

select
  event_name,
  user_pseudo_id,
  page_url,
  jst_time
from
  pv
where
  page_url = 'https://sgs-prog.com/contact/'
order by
  jst_time
;

上記は当ブログのお問い合わせページにおいて、閲覧したユーザーIDとその時刻を集計するクエリです。

こちらのクエリを実行した結果が以下の通り。

上記のような結果が返ってきて、お問い合わせが入った時にどのユーザーによるものかがuser_pseudo_idにより検討つきます。

調べたいuser_pseudo_idのイベントを追跡すると、どういった経由でサイトに訪れ、どのページを辿ってお問い合わせしたかのユーザージャーニーがわかり、改善に活かせます。

GA4×BigQueryの連携でよくある質問

最後に、GA4×BigQueryでよくある質問についてまとめて本記事を終了したいと思います。

過去データはエクスポートできますか?

GA4のデータはBigQueryと連携してから初めてエクスポートされるので、過去データはエクスポートできません。

そのため、早めに連携しておく方が過去データと比較できたりなど色々お得です。まだの方は早めにGA4とBigQueryを連携しておきましょう。

» GA4とBigQueryを連携する

GA4とBigQueryを連携したが、データにアクセスできないのはなぜ?

GA4とBigQueryを連携してからエクスポートされるまで、少なくとも1〜2日掛かることがあります。(ストリーミングエクスポート以外の話)

実際に自分も無知すぎて、GA4とBigQueryを連携した直後に「あれ、本当にうまくいってるのか?」みたいな状態になりました。

肌感覚として、次の日の朝10時にその日のデータがエクスポートされることが多いです。そのため、焦らず1〜2日ほど時間を置いて確認してみましょう。

GA4とBigQueryを連携して、効率的なマーケティング施策を見出そう!

本記事では、GA4とBigQueryを連携するメリットや基本的なSQLの使い方について解説しました。

本記事のトピックである「GA4とBigQueryを連携するメリット」についてもう一度下記に載せておきますね。

GA4とBigQueryを連携するメリット
  • GA4のUIに表示される集計されたデータでなく、生データ(ローデータ)を収集することができるため、より質の高いデータを獲得することができる。
  • サンプリングされていない生データにアクセスできるため、UIの標準レポート・探索レポートよりも深い分析をすることができる。(前後パス分析、ユーザージャーニーの追跡、より優れたセグメンテーション、機械学習モデル構築による予測分析など)
  • CRM・メール・広告などの他の外部ソースデータとGA4のデータを組み合わせることができ、より優れた分析用のデータセットを得ることができる。
  • GA4では無料で最大14ヶ月しかデータを保持できない(探索レポートの場合)が、BigQueryでは半永久的にデータを保存できるため、年単位での比較が可能。
  • LookerStudioと接続する際にAPI制限に悩まされる心配がなくなるため、より高速なレポートを作成することができる。

低コストでGA4のローデータをBigQueryで扱えるようになったということは、今後BigQueryを使ったデータ分析が主流になってくることだと思っています。

自分もまだまだわからないことだらけなのですが、SQLのクエリやBI側の処理を当ブログでも今後アウトプットできたらなと思っています(*`・ω・)ゞ

というわけで本記事は以上とします。最後まで読んでいただきありがとうございました。

Thank you for sharing my post !!
  • URLをコピーしました!

スポンサーリンク

目次