Google Cloudのベンダーとして仕事をしていると、最近、顧客からBigQueryに関するお問い合わせをいただく機会が増えています。特に、Google Analytics 4(GA4)のデータをBigQueryに取り込み、より高度な分析を行いたいというご相談もあります。
私もこのブログサイトでGA4を利用しているため、今回は、実際にGA4とBigQueryを連携し、GA4のデータがBigQueryに取り込まれるところまで確認してみます。
この記事の手順を実践することで、自社や個人で運営しているWebサイトのGA4データをBigQueryに取り込み、GA4だけでは難しい、より自由なデータ分析を行えるようになります。
また、すでにGoogle Cloudを利用している企業だけではなく、Google Cloudを利用したことがない個人でも、BigQuery Sandboxを利用してGA4とBigQueryの連携を試す方法も紹介します。
ぜひ、最後までご覧いただけると嬉しいです!
Google AnalyticsとBigQueryを連携するメリット
まず、Google AnalyticsのデータをBigQueryに取り込むことで、何ができるようになるのでしょうか。
例えばブログであれば、
- ページビュー数
- ユーザー数
- アクセスされたページ
- 流入元
- 使用されたデバイス
- 発生したイベント
などをGA4の画面から確認できます。
一方、GA4をBigQueryと連携すると、GA4からBigQueryへイベントデータをエクスポートして、SQLを使ってより自由に分析できるようになります。
イメージとしては、次のようになります。

GA4とBigQueryを連携するメリット
BigQueryにGA4のデータを取り込むことで、GA4だけでは難しい、より自由なデータ分析が可能になります。
SQLを使って自由に分析できる
GA4の管理画面では、あらかじめ用意されたレポートや探索機能を利用して分析します。
一方、BigQueryでは、SQLを使って自分で条件を指定してデータを集計できます。例えば、
・特定の記事だけのアクセス数
・曜日別のアクセス数
・デバイス別のアクセス状況
・特定のイベントが発生した回数
・複数の記事を閲覧したユーザー
など、目的に合わせて分析処理を作ることができます。
例えば、イベントごとの発生回数を確認する場合、次のようなSQLを実行できます。
SELECT
event_name,
COUNT(*) AS event_count
FROM
PROJECT_ID.analytics_PROPERTY_ID.events_YYYYMMDD
GROUP BY
event_name
ORDER BY
event_count DESC;
これによって、どのようなイベントが何回発生したのかを確認できます。
GA4以外のデータと組み合わせられる
BigQueryでは、GA4のデータだけではなく、CRMや売上データ、商品データなど、さまざまなデータを組み合わせて分析できます。
例えば、Webサイトを訪問したユーザーが、その後商品を購入したかといった分析も可能です。

Looker Studioなどと組み合わせられる
BigQueryにデータを集約すれば、BIツールと組み合わせてダッシュボードを作ることもできます。
例えば、

という構成です。
ブログであれば、
・月間PV
・日別PV
・人気記事
・流入元
・デバイス別アクセス
などをまとめて表示できます。
AI・機械学習につなげられる
さらにGoogle Cloudを利用すると、BigQueryに蓄積したデータをAIや機械学習の分析につなげることもできます。
例えばブログなら、

といった発展が考えられます。
GA4とBigQueryの連携方法
GA4とBigQueryを連携する方法は、Google Cloudを利用している場合と、Google Cloudを利用していない場合で、接続先となるGoogle Cloudプロジェクトの用意方法が異なります。
Google Cloudを利用している場合の連携方法
すでにGoogle Cloudを利用している企業の場合は、既存のGoogle CloudプロジェクトにBigQueryを構築して、GA4と連携することができます。

既存のGoogle Cloud環境がある場合は、そのプロジェクトを利用できるため、新しく環境を用意する必要はありません。
Google Cloudを利用していない場合
一方、個人でブログやWebサイトを運営している場合、GA4は利用していても、Google Cloudの環境までは用意していないというケースも多いと思います。
そのような場合は、BigQuery Sandboxを利用して、GA4とBigQueryの連携を試すことができます。
BigQuery Sandboxは、クレジットカードや請求先アカウントを設定せずにBigQueryを試せる環境です。
今回は、私が運営しているこのブログサイトのGA4を利用して、BigQuery Sandboxへデータをエクスポートしてみます。
今回の構成は次のとおりです。

今回は、どちらの方法も説明します。
Google Cloud プロジェクトを用意する方法
GA4とBigQueryを連携する方法そのものは、大きく変わりません。違いは、接続先となるGoogle Cloudプロジェクトをどう用意するかです。
Google Cloudを利用している場合の連携方法
すでにGoogle Cloudを利用している場合は、既存のGoogle Cloudプロジェクトを使用できます。

Google Cloudプロジェクトで、事前にデータセットを作成する必要はありません。
Google Cloudを利用していない場合
個人でブログなどを運営している場合は、BigQuery Sandboxを利用できます。
BigQuery Sandboxでは、クレジットカードや請求先アカウントを設定せずにBigQueryを試すことができます。
新規Google Cloud プロジェクトを作成する方法
Google アカウントでログインし、Google 検索で「google cloud console」で検索し、「ログイン」を選択します。

利用規約にチェックを入れ、「同意して続行」を選択します。

新規にプロジェクトを作成します。「プロジェクトの選択」を選択します。

「新しいプロジェクト」を選択します。

「プロジェクト名」と「プロジェクトID」を設定します。「プロジェクト名」は、後で変更可能ですが、「プロジェクトID」は、一度設定すると後で変更できません。通常は「プロジェクト名」と「プロジェクトID」を同じように設定することが多いですが、「プロジェクトID」にはスペースなど使用できない文字があります。設定後、「作成」を選択します。

次に、「API へのアクセスの有効化」では「次へ」を選択します。

「Tag Manage API」の有効化画面では、「次へ」を選択します。なお、この画面は環境によっては表示されない場合があります。

もし、下記画面のまま画面が切り替わらない場合、「Google Cloud」を選択してください。

ようこそ画面が表示されます。

以上で、Google Cloudプロジェクトの作成は完了です。
BigQuery Sandboxについて
BigQuery Sandboxでは、BigQueryの機能を無料で試すことができます。
今回のように、GA4とBigQueryの連携を試してみる用途であれば、まずSandboxを利用する方法が分かりやすいでしょう。
現在の公式ドキュメントでは、Sandboxには以下の制限があります。
- ストレージの上限:10 GiB
- クエリ処理:1 TiB/月
- テーブル、ビュー、パーティションはデフォルトで60日後に期限切れ
- データのストリーミングは非対応
- データ操作言語(DML)ステートメントは非対応
- BigQuery Data Transfer Serviceは非対応
実際の画面が以下になります。

Google AnalyticsからBigQueryへのリンクを方法
それでは、実際にGoogle AnalyticsのデータをBigQueryへリンクしてみます。
企業のGoogle Cloudプロジェクトに設定する場合、Google AnalyticsにアクセスできるGoogle アカウントに、プロジェクト階層で以下のロールを事前に付与しておいてください。
- プロジェクト IAM 管理者(roles/resourcemanager.projectIamAdmin)
- Service Usage Admin(roles/serviceusage.serviceUsageAdmin)
Google Analyticsの手順
Google Analyticsの手順は、Google Cloudを利用している場合でも、BigQuery Sandboxを利用する場合でも基本的に同じです。
Google Analyticsにアクセス、サイドバーから「管理」を選択します。

「サービス間のリンク設定」から「BigQuery のリンク」を選択します。

次に、「リンク」を選択します。

ここから先の設定は、Google Cloudを利用している場合とBigQuery Sandboxを利用する場合で一部異なります。
Google Cloudを利用している場合
該当のプロジェクトを選択し、「確定」を選択します。

「データのローケーション」を選択します。
ロケーションは、複数リージョンにデータを保存したい場合、「米国(us)」か「欧州連合(eu)」を選択します。
それ以外のリージョンを選択することもできます。リージョンの指定がなければ、「東京(asia-northeast1)」を選択します。
リージョン選択後、「次へ」を選択します。

プロジェクトの課金アカウント(支払い設定)が行っている場合は、すべての設定を行うことができます。

データストリームとイベント
ここでは、BigQueryへエクスポートするGA4のデータストリームと、除外するイベントを指定します。私のようにブログサイトでGoogle Analyticsを使用している場合は、ウェブが選択されていることを確認します。
詳細画面は「データ ストリームとイベントの設定」を選択します。

除外するイベントがある場合は、「追加」からイベントを選択します。イベントを除外することで、BigQueryのデータ量を減らすことができます。
ただし、今回のような小規模ブログでは、BigQuery Sandboxの範囲をすぐに超えるような可能性は低いので、検証時は無理にイベントを除外しない方が分かりやすいです。

モバイルアプリ ストリーム用の広告識別子の追加
この設定はモバイルアプリのストリームで広告識別子を含めるためのオプションです。モバイルアプリを分析する場合、広告関連の識別子をBigQuery側で利用できるようになります。
Webサイトの今回の用途には基本的に不要です。
エクスポート タイプ
毎日
エクスポート タイプの「毎日」は、前日のイベントデータを1日1回エクスポートする方式です。BigQuery側では、
events_20261003
events_20261004
events_20261005
のようなテーブルが作成されます。
この設定のメリットは、完全な1日分のデータを確認できることです。
「GA4のデータがBigQueryに取り込まれることを確認したい」という今回の用途では、この設定が分かりやすいでしょう。
一方で、リアルタイムの分析には向いていません。
例えば、「今日の10:00に発生したアクセスを、10:05にBigQueryで確認したい」といった用途には向きません。
ストリーミング(ベスト エフォート)
ストリーミングでは、イベントがGoogle Analyticsに到着してから数秒~数分以内に、継続的にリアルタイムエクスポートされます。
一方で、ベストエフォート方式のため、データの到達順序のズレや一部の属性欠損が発生することがあります。
また、追加料金が発生するため、BigQuery Sandboxでは使用できません。
ユーザーデータ
ユーザーデータを有効にすると、ユーザーの属性変更などに基づいて、当日のアクティビティがあったユーザーのデータがエクスポートされます。
イベント単位のデータだけではなく、ユーザー単位の情報を分析しやすくなります。
一方で、ユーザーデータまで有効にすると確認対象が増え、記事の説明も複雑になります。
また、ユーザー識別に関わるデータを扱うため、企業で利用する場合はアクセス権限・プライバシー・データガバナンスをより慎重に考える必要があります。
今回の目的はGA4のデータをBigQueryへ取り込むことなので、エクスポートタイプは「毎日」で設定します。

設定を確定する場合は「送信」を選択します。

Google Cloudを利用していない場合
BigQuery Sandboxの場合も、基本的な設定手順は同じです。
ただし、エクスポートタイプで「ストリーミング(ベスト エフォート)」は選択できません。下記のスクリーンショットではロケーションを選択できませんが、これは私の環境で、試しに「東京(asia-northeast1)」を選択してデータセットを作成済みだからです。
皆さんの環境では、ロケーションを選択できる状態になっています。

作成されるデータセット
設定が完了すると、BigQueryにGA4のデータセットが作成されます。実際に作成されたデータセットは、以下のようになります。

これで、GA4のデータをBigQueryへ取り込む設定は完了です。
企業でBigQueryを利用するメリット
ここまで、Google Analytics 4(GA4)のデータをBigQueryに取り込む方法を紹介しました。
個人のブログであれば、アクセス数や人気記事、流入元などを分析するだけでもBigQueryを利用するメリットがあります。
一方、企業の場合は、GA4のデータをBigQueryに取り込むことで、さらに活用の幅を広げることができます。
企業では、Webサイトのアクセスデータだけではなく、顧客情報、売上情報、商品情報など、さまざまなデータを保有しています。
例えば、次のようなデータです。
- GA4:Webサイトへのアクセスやユーザーの行動
- CRM:顧客情報や顧客との接点
- 売上データ:商品の購入履歴や売上金額
- 商品データ:商品名、価格、カテゴリーなど
これらのデータをそれぞれ別々に管理するのではなく、BigQueryに集約することで、複数のデータを組み合わせた分析が可能になります。

例えば、GA4だけを利用している場合、
「この記事は何人のユーザーに閲覧されたのか?」
ということは分かります。
しかし、GA4のデータを売上データや顧客データと組み合わせることで、
「この記事を読んだユーザーは、その後どの商品を購入したのか?」
「どのWebサイトから訪問したユーザーが、最も購入につながっているのか?」
「どの記事を読んだユーザーの購入率が高いのか?」
といった、Webサイトへのアクセスと、その後のビジネス成果を関連付けた分析が可能になります。
このように、GA4とBigQueryを連携することで、単なるアクセス解析から、企業全体のデータを活用した分析基盤へ発展させることができます。
まとめ
今回は、下記6点について説明しました。
- Google AnalyticsとBigQueryを連携するメリット
- GA4とBigQueryを連携するメリット
- GA4とBigQueryの連携方法
- Google Cloud プロジェクトを用意する方法
- Google AnalyticsからBigQueryへのリンクを方法
- 企業でBigQueryを利用するメリット
今回は、Google Analytics 4(GA4)とBigQueryを連携し、GA4のデータをBigQueryへ取り込む方法を紹介しました。
GA4とBigQueryを連携すると、GA4のデータをBigQueryに蓄積し、SQLを使ってより自由に分析できるようになります。
また、企業ではGA4だけではなく、売上・顧客・商品などのデータと組み合わせることで、Webサイトへのアクセスとビジネス成果を関連付けた分析も可能になります。
一方、個人でGoogle Cloudを利用していない場合でも、BigQuery Sandboxを利用すれば、GA4とBigQueryの連携を試すことができます。
Google Analyticsをすでに利用している方は、BigQueryとの連携を試してみてはいかがでしょうか。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログ!
