GA4は、BigQueryとの連携でより優れたデータ分析を可能にし、それらの分析結果は、企業の経営や事業の方針検討にも役立つほど重要な情報資産となります。GA4とBigQueryの連携は、大きく3つのステップで簡単に実行可能です。GA4を導入している企業は、BigQueryとの連携を行って、データ活用の可能性をさらに広げてみましょう。
この記事では、GA4とBigQueryの連携で実現できることや連携方法、活用事例を解説しています。GA4とBigQueryを連携した後の利用方法や注意点も把握できる内容になっているので、ぜひ最後までご覧ください。
GA4とBigQueryの連携で実現できる4つのこと
GA4とBigQueryを連携すれば、以下の4つのことを実現できます。
- 集計前のデータを直接分析できる
- GA4のデータと既存データを統合して分析できる
- GA4のデータをグラフや表に可視化できる
- 過去のデータの保存期間を延ばせる
集計前のデータを直接分析できる
GA4とBigQueryの連携によって、集計前のデータ(イベントや1PVごとに1行ずつ記録されたデータ)でも無料で分析が可能です。従来は、月額150万円以上かかる有償版の「Google Analytics 360」を導入しなければ、Google Analytics上にあるWebサイトのデータを扱えませんでしたが、GA4とBigQueryを連携してSQLを使用することで、集計前の細かいデータも分析できるようになりました。
その結果、収集されたデータをより柔軟に分析でき、正確なユーザー行動の把握が可能になりました。
GA4のデータと既存データを統合して分析できる
GA4とBigQueryを連携すれば、BigQueryで管理しているデータも活用した分析が可能です。例えば、GA4が収集したWebサイト上の閲覧履歴と、BigQueryにあるオフライン購買履歴を組み合わせたデータ分析を行えば、これまでにないカスタマージャーニーを発見できる可能性があります。
GA4のデータをグラフや表に可視化できる
BigQueryは、BIツールとの連携でGA4のデータを直感的な操作でグラフや表に可視化できます。ドラッグ&ドロップをはじめとした簡単な操作でユーザーの行動履歴をクロス集計したり、グラフや表にしたりできるため、効率良く資料の作成や分析結果の確認が可能です。
過去のデータの保存期間を延ばせる
GA4とBigQueryを連携すれば、過去のデータの保存期間を延ばせます。GA4は、最長14ヶ月しかデータを保存できませんが、BigQueryとの連携で14ヶ月以上前のデータも保存できるようになるため、年単位でのデータ分析がしやすくなります。
BigQueryとの連携によって取得できるGA4の主なデータ
GA4は、UAと比較してWebサイトの計測機能が向上しており、以下のようなデータを簡単な設定で取得可能になりました。
- スクロール数:ページ最下部までスクロールされた際に記録
- 離脱クリック:ドメインから離脱するリンクがクリックされた際に記録
- サイト内検索:Webサイト内で検索が行われた際に記録
- 動画エンゲージメント:Webサイト内の動画が視聴された際に、動画再生イベント、動画進捗イベント、動
- 画完全再生イベントを記録
- ファイルのダウンロード:文書、アプリケーション、圧縮ファイル、音声、動画がダウンロードされた際に記録
さらにGA4とBigQueryの連携で集計前のデータも分析できるため、ユーザーの流入から離脱までの行動を詳細に把握可能です。
GA4とBigQueryの連携方法【3ステップ】
GA4とBigQueryの連携は、以下の3つのステップで完了します。
- Google Cloudの管理画面でBigQueryのプロジェクト作成を行う
- BigQuery APIを有効化する
- GA4をBigQueryのプロジェクトと連携する
Google Cloudの管理画面でBigQueryのプロジェクト作成を行う
- Google Cloudの管理画面からログインする
- 「プロジェクトの選択」をクリックする
- 「新しいプロジェクト」を選択する
- プロジェクト名、組織、場所を入力して「作成」をクリックする
BigQuery APIを有効化する
- ナビゲーションメニューより「APIとサービス」をクリックする
- 「ライブラリ」を選択する
- 「カテゴリ」の「ビッグデータ」を選択する
- 「BigQuery API」を選択する
- 「APIが有効です」と表示されるかを確認する
GA4をBigQueryのプロジェクトと連携する
- GA4のプロパティの「管理」より「BigQueryのリンク」を選択する
- 「リンク」を選んだ後「BigQueryのプロジェクトを選択」をクリックする
- データロケーションや頻度などを選択した後「送信」をクリックする
BigQueryと連携したGA4のデータを確認する方法
BigQueryと連携したGA4のデータを確認する方法は、以下の通りです。
- GA4でログインしているGoogleアカウントで、Googleのクラウドプラットフォームにログインする
- GA4と連携したBigQueryのプロジェクトを選択する
- メニューから「BigQuery」を選択する
- BigQueryの管理画面でプロジェクトを選んだ後「プレビュー」をクリックする
【ケース別】GA4のデータを分析する際にBigQueryで使えるクエリ一覧
GA4のデータを分析する際にBigQueryで使えるクエリを、以下のようなケース別に紹介します。
- 特定のイベントをカウントする
- 日付範囲を指定したうえで日別の数値を出す
- 日別のユーザー数をカウントする
- ページ毎のPV数を取得する
- ユーザーごとのセッション数やPV数を降順で並べる
特定のイベントをカウントする
特定のイベントをカウントする方法は、以下の通りです。
select
count(event_name) as sessions -- 後ほど指定するイベント名の列の見出しを「sessions」にする
from
`ha-ga4.analytics_227084301.events_20220207` -- データの選択範囲。ここでは2022年2月7日のみを指定
where
event_name = 'session_start' -- イベント名がsession_startに合致するものだけを抽出

日付範囲を指定したうえで日別の数値を出す
日付範囲を指定したうえで日別の数値を出す方法は、以下の通りです。
select
date(timestamp_micros(event_timestamp),"Asia/Tokyo") as event_date, -- イベントの発生日付を選択
count(event_name) as sessions -- 後ほど指定するイベント名の列の見出しを「sessions」にする
from
`ha-ga4.analytics_227084301.events_*` -- データの選択範囲。ここでは全期間とし、whereの部分で日付を指定する
where
event_name = 'session_start' -- イベント名がsession_startに合致するものだけを抽出
and _table_suffix between '20220201' and '20220207' -- データの取得期間を指定
group by
event_date -- 日付ごとに集計する
order by
event_date -- 昇順で並び替える。降順で並び替えたい場合は event_date desc と記載する

日別のユーザー数をカウントする
日別のユーザー数をカウントする方法は、以下の通りです。
select
date(timestamp_micros(event_timestamp),"Asia/Tokyo") as event_date, -- イベントの発生日付を選択
count(distinct user_pseudo_id) as users -- CookieIDのユニークな数をカウントする
from
`ha-ga4.analytics_227084301.events_*` -- データの選択範囲。ここでは全期間とし、whereの部分で日付を指定する
where
_table_suffix between '20220201' and '20220205' -- 日付の指定
group by
event_date

ページ毎のPV数を取得する
ページ毎のPV数を取得する方法は、以下の通りです。
select
(select value.string_value from unnest(event_params) where key = 'page_title') as page_title, --ページタイトルをイベントパラメータから取得
(select value.string_value from unnest(event_params) where key = 'page_location') as page_location, --ページURLをイベントパラメータから取得
count(event_name) as pageviews --イベント数をカウントする。対象イベントはwhere内で指定
from
`ha-ga4.analytics_227084301.events_*` -- データの選択範囲。ここでは全期間とし、whereの部分で日付を指定する
where
_table_suffix between '20220201' and '20220205' -- 日付の指定
and event_name = 'page_view' -- イベント名を指定
group by
page_title, -- ページタイトルでグルーピング
page_location -- ページURLでグルーピング
order by
pageviews desc -- ページビュー数降順で並び替え

ユーザーごとのセッション数やPV数を降順で並べる
ユーザーごとのセッション数やPV数を降順で並べる方法は、以下の通りです。
select
user_pseudo_id, -- ユーザーのCookie IDを指定する
countif(event_name = 'session_start') as number_of_sessions, --セッション数を取得
countif(event_name = 'page_view') as page_voew --PV数を取得
from
`ha-ga4.analytics_227084301.events_*` -- データの選択範囲。ここでは全期間とし、whereの部分で日付を指定する
where
_table_suffix between '20220201' and '20220207' -- データの取得期間を指定
group by
user_pseudo_id -- ユーザーのCookie IDごとに集計する
order by
number_of_sessions desc -- セッション降順で並べる

GA4とBigQueryを連携した活用事例2選
GA4とBigQueryを連携した以下のような活用事例を解説します。
- 複数Saasのレポート基盤を1つに統合した事例
- GA4データの深堀り分析ダッシュボードを構築した事例
複数Saasのレポート基盤を1つに統合した事例
A社では、利用している複数のSaaSプロダクトの集計作業が煩雑化しており、課題解決としてGA4とSalesforceのデータをBigQueryと連携して、日別のデータを自動で抽出できるようにしました。これにより、集計作業だけでなくレポートの作成作業の効率化にも成功しました。
GA4データの深堀り分析ダッシュボードを構築した事例
BIツールでGA4データを可視化する際には、セグメント機能が使用不可になり、データにサンプリングもかかってしまう課題がありました。この課題解決として、B社はGA4とBigQueryの連携でサンプリングのかかっていない生データをSQLで加工し、セグメントを再現しました。
GA4と連携したBigQueryの利用料金
GA4とBigQueryの連携は基本的に無料ですが、データの保存や分析には料金がかかります。GA4と連携したBigQueryの利用料金を、以下のアクション別に解説します。
- GA4からBigQueryへエクスポートしたデータを保存する料金(ストレージ料金)
- BigQueryでGA4のデータを分析する料金(コンピューティング料金)
GA4からBigQueryへエクスポートしたデータを保存する料金(ストレージ料金)
GA4とBigQueryの連携により、ユーザーの行動データがGA4からBigQueryのストレージへ送られると、料金が発生します。データ量の増加に伴って料金も増加するため、膨大な量のデータが想定される際には、まとまった予算の確保が必要です。また、BigQueryのストレージ利用料金は、データ量だけでなく保存期間によっても変動します。データの保存方法には、以下の2種類があり、保存方法によって料金が異なります。
| オペレーション | 特徴 | 料金 |
| アクティブストレージ | 過去90日間で変更されたテーブルやパーティション | $0.023/GB |
| 長期保存 | 90日間連続して変更されていないテーブルもしくはテーブル パーティションで、そのテーブルのストレージの料金は自動的に約50%値引きされる※毎月10GBまでは無料 |
$0.016 /GB |
上の表は東京(asia-northeast1)の料金例
BigQueryでGA4のデータを分析する料金(コンピューティング料金)
コンピューティング料金とは、データを集計・加工するときのクエリ処理にかかる費用です。コンピューティング料金は、定額制の「BigQuery Editions」と従量課金制の「オンデマンド」の2つの料金モデルから選択できます。BigQuery Editionsは、予算やユースケースに応じてさらに以下の3つのプランから選択可能です。
| モデル名(プラン名) | 料金 |
| BigQuery Editions(Standard) | $0.051/slot hour |
| BigQuery Editions(Enterprise) |
$0.0765/slot hour |
| BigQuery Editions(Enterprise Plus) | $0.1275/slot hour |
| オンデマンド | $7.5/TiB(1TB/月まで無料) |
上の表は東京(asia-northeast1)の料金例
GA4とBigQueryを連携する際の4つの注意点
GA4とBigQueryを連携する際には、以下のような4つの注意点があります。
- 過去データは遡ってエクスポートできない
- GA4とBigQueryのデータには多少のズレが生じる
- GA4からBigQueryにエクスポートしただけではデータの可視化はできない
- GA4の無償版を利用している場合は1日のエクスポートできるイベント数に上限が設けられる
過去データは遡ってエクスポートできない
GA4からBigQueryへのデータエクスポートは、自動では実行されません。データエクスポートをするには、エクスポート設定が必要です。また、データエクスポートはエクスポートを開始した時点からのデータしか保管できず、過去データを遡ることはできないため、早めの設定をおすすめします。
GA4とBigQueryのデータには多少のズレが生じる
GA4とBigQueryのデータには、それぞれのツールの特徴が原因で多少のズレが生じます。例えば、GA4には、日をまたぐセッションであっても関係なく同一のセッションとして扱うという特徴があり、BigQueryには、エクスポートするデータにGoogle広告や属性情報に関わるデータが含まれないという特徴があります。
GA4とBigQueryを連携してデータ分析を行う際は、データを扱うルールがそれぞれ異なることを理解して作業を進めなければなりません。
GA4からBigQueryにエクスポートしただけではデータの可視化はできない
GA4からBigQueryへデータエクスポートをしても、自動ではデータが可視化されません。グラフや表としてデータを可視化するには、Looker StudioをはじめとしたBIツールが必要です。
また、BigQueryとBIツールを連携してグラフや表を作成するには、SQLクエリによるデータ抽出も必要になります。SQLクエリによるデータ抽出は技術者がいなければ難しいため、社内もしくは外部から人材を確保しましょう。
GA4の無償版を利用している場合は1日のエクスポートできるイベント数に上限が設けられる
GA4の無償版では、エクスポートの上限が1日100万イベントに設定されています。継続的に上限を超えた場合、BigQueryのエクスポートが一時停止されて、数日間エクスポートできなくなるため、エクスポートの利用量には注意が必要です。
万が一エクスポートが一時停止した際は、管理者と編集者宛てにメールで通知が届きます。通知が届いたら、メールの内容を確認してイベント数を調整しなければなりません。
GA4とBigQueryを連携させて分析の精度や効率性を向上させよう
GA4は、BigQueryとの連携でデータ分析の精度や自由度をさらに高められます。例えば、GA4とBigQueryが持つそれぞれのデータを組み合わせて分析したり、集計前のデータを活用したりできるようになり、データ活用の可能性を大きく広げられます。BigQueryで分析したデータは、マーケティングだけでなく、企業の経営や事業の方針を検討する際にも役立つ重要な情報となるため、積極的に活用しましょう。
電算システムでは、GA4とBigQueryの連携をサポートしています。また、GA4のデータをBigQuery経由でLooker Studioやデータポータル、スプレッドシートに可視化・運用するための支援も行っているので、GA4のデータをより効果的に活用したい方は、お気軽にお問い合わせください。
電算システムは、BigQueryのサービス内容や分析したデータの活用方法を解説した資料を無料で提供しています。興味のある方は、以下のページから資料をダウンロードしてみてください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- ga4 bigquery

