GA4とBigQueryの連携方法|設定手順・エクスポート・料金を解説【2026年版】

「GA4の管理画面だと、見たい切り口でデータを出せない」——探索レポートを触り込んだ人ほど、この壁にぶつかります。ディメンションの組み合わせに制限があったり、データ量が多いとサンプリングがかかったり、GA4の画面だけでは細かい分析に限界があるためです。
この限界を超える手段が、GA4のイベントデータをBigQueryへエクスポートすることです。GA4とBigQueryの連携は無料プロパティでも使える公式機能で、連携すればイベント単位の生データをSQLで自由に集計できるようになります。
この記事はGA4×BigQuery実践シリーズの第1回として、連携の設定手順から、BigQuery側にデータが正しく入っていることの確認までを解説します。SQLを使った具体的な分析は第2回で扱うので、今回は「連携を完了させて、成功したと判断できる状態」がゴールです。
この記事でわかること
- GA4とBigQueryを連携すると何ができるか
- 連携前に確認すべき権限とGoogle Cloud側の準備
- 管理画面での連携手順(7ステップ)
- Daily/Streaming/Fresh Dailyの違いと選び方
- 連携成功をどこまで確認すれば良いか(データセット・テーブルの見方)
- BigQueryの無料枠と、費用が発生するライン
なお、本記事の設定手順・料金・上限は2026年8月時点のGoogle公式情報(アナリティクス ヘルプ「BigQuery Export」、BigQuery の料金)をもとにしています。
Contents
GA4とBigQueryを連携すると何ができる?
BigQueryは、Google Cloudが提供するデータウェアハウス(大量データの保管・集計基盤)です。SQLでデータを集計・抽出するためのサービスで、Googleアナリティクスの上位版ではなく、GA4とは独立したGoogle Cloudのプロダクトです。
GA4には、計測した生のイベントデータを1件単位でBigQueryへエクスポートする公式機能があります。かつて旧アナリティクス(ユニバーサル アナリティクス)では有料版限定だったこの機能が、GA4では無料プロパティでも使えます。
連携後にできることを整理すると、次の3つです。
- 生データへのアクセス:GA4のレポートは集計済みの数値ですが、BigQueryには「どのユーザー/デバイス識別子が、いつ・どのページで・何のイベントを発生させたか」といったイベントデータが1件ずつ入ります
- SQLによる自由な集計:GA4の探索レポートで組めない条件・粒度でも、SQLなら制約なく抽出できます
- 他データとの統合分析:BigQueryはデータの保管・集計基盤なので、将来的にCRM・広告費・売上などのデータを持ち込み、GA4のデータと突き合わせる土台になります
誤解されやすい点ですが、BigQueryは「GA4の高機能版」ではありません。BigQuery側にはGA4のようなレポート画面はなく、入っているのは生データだけです。「見やすいレポートはGA4、自由な集計はBigQuery」という役割の違いを押さえておくと、連携後の使い分けに迷いません。
GA4とBigQueryを連携するメリット
抽象的に「高度な分析ができます」と言われてもピンと来ないと思うので、筆者がSEO・アクセス解析の実務で「BigQueryがないと困る」と感じる場面を挙げます。
イベント単位・パラメータ単位で深掘りできる
GA4の標準レポートは、イベントパラメータの組み合わせに制約があります。BigQueryなら「特定のCTAをクリックしたユーザーが、その後どのページに遷移したか」のように、イベントとパラメータを自由に組み合わせた抽出ができます。CTAクリックを計測する仕込み自体はGTMで行い、その検証をBigQueryで行う、という組み合わせが実務の定番です。
流入元とコンバージョンを独自条件で突き合わせられる
「自然検索から入って、3ページ以上見て、最後に問い合わせたセッションだけを抽出する」といった独自条件の分析は、GA4の探索レポートでは組みにくい領域です。流入元の識別をUTMパラメータで正しく仕込んでおけば、BigQuery側で施策単位の行動分析まで一気通貫でつながります。
サンプリング・しきい値の影響を受けない
GA4の探索レポートは、データ量が多いとサンプリング(一部データからの推計)がかかることがあります。BigQueryへの日次エクスポートはサンプリングされていない生のイベントデータなので、全件を対象に集計できます。
データを自社の資産として持てる
エクスポートされたデータはGoogle Cloudの自社プロジェクト内に保存されるため、GA4の保持期間設定に縛られず、蓄積したデータを長期で保管・分析できます。Looker Studioなどの可視化ツールから直接参照することもできます(Looker Studioダッシュボードの構築記録)。
GA4とBigQueryを連携する前に確認すること
連携作業そのものは30分もかかりませんが、権限まわりでつまずくケースが多いので、先に揃っているかを確認してください。
| 確認項目 | 必要な状態 |
|---|---|
| GA4側の権限 | 対象プロパティに対する「編集者」以上の役割 |
| Google Cloud側の権限 | エクスポート先プロジェクトのオーナー相当の権限(プロジェクトのIAMポリシーを変更できること) |
| Google Cloudプロジェクト | エクスポート先のプロジェクトを作成済み(既存プロジェクトでも可) |
| BigQuery API | 対象プロジェクトで有効になっていること |
| データロケーション | データの保存先リージョンを決めておく(後から変更しにくい) |
| 課金設定(Billing) | 無料枠内ならサンドボックスで開始可。ストリーミングを使う場合は課金設定が必須 |
特に注意したいのが権限の分担です。GA4の権限とGoogle Cloudの権限は別物なので、マーケティング担当がGA4の編集者でも、Google Cloud側のプロジェクト権限がなければ連携できません。社内でGoogle Cloudを管理する部門が別にある場合は、「BigQuery Exportのためにプロジェクトのオーナー権限(またはIAMポリシーを変更できる権限)が必要」と伝えて調整してください。
データロケーションは、日本のサイトであれば東京(asia-northeast1)を選ぶことが多いですが、料金がリージョンによって微妙に異なります。組織のポリシーで指定がなければ、料金の安い米国(US)マルチリージョンを選ぶ判断もあります。一度エクスポートが始まった後のロケーション変更は移行作業が必要になるため、ここだけは先に決めておいてください。
GA4とBigQueryを連携する方法
ここからは実際の設定手順です。管理画面の操作順に沿って進めます(画面名称は2026年8月時点のものです)。
1. Google Cloudプロジェクトを準備する
Google Cloudコンソールにログインし、エクスポート先のプロジェクトを用意します。新規作成でも既存プロジェクトでも構いません。Google Cloudを初めて使う場合は、利用規約に同意するとプロジェクトが作成できるようになります。
この時点では課金設定(クレジットカード登録)は必須ではありません。後述するBigQueryサンドボックスという無料モードで始められます。
2. BigQuery APIを確認する
Google Cloudコンソールの「APIとサービス」→「ライブラリ」で「BigQuery API」を検索し、対象プロジェクトで有効になっていることを確認します。無効の場合は「有効にする」をクリックします。新しいプロジェクトでは最初から有効になっていることも多いので、その場合はそのまま次へ進んで問題ありません。
3. GA4の「BigQueryのリンク」を開く
GA4の管理画面に切り替えます。管理 → サービス間のリンク設定 → BigQueryのリンクを開き、「リンク」ボタンをクリックします。この操作にはGA4の「編集者」以上の役割が必要です。
4. Google Cloudプロジェクトを指定する
「BigQueryプロジェクトを選択」から、手順1で用意したプロジェクトを選びます。ここに表示されるのは、ログイン中のGoogleアカウントがアクセスできるプロジェクトだけです。目当てのプロジェクトが表示されない場合は、Google Cloud側の権限が足りていません。
5. データロケーションを設定する
データの保存先リージョンを選択します。事前に決めたロケーション(東京なら asia-northeast1)を指定して「次へ」をクリックします。
6. エクスポートするデータストリームを選ぶ
「データストリームとイベントを設定」から、エクスポート対象のデータストリームを選択します。Webサイトのみの計測なら通常は1ストリームです。ここではエクスポートから除外するイベントも指定できます。後述する日次100万イベントの上限に近いプロパティでは、分析に使わないイベントを除外して量を抑える使い方をします。最初はそのまま(除外なし)で問題ありません。
7. エクスポート頻度を設定する
最後にエクスポートの種類を選びます。標準(無料版)のGA4では「毎日(Daily)」と「ストリーミング」の2つが選択でき、両方を同時に有効にすることもできます。違いは次の章で説明しますが、初めての連携なら「毎日」だけにチェックを入れて「次へ」→ 内容を確認して「送信」をクリックすれば設定完了です。
設定が完了すると、Googleのサービスアカウント(firebase-measurement@system.gserviceaccount.com)がプロジェクトに追加され、これがGA4からBigQueryへの書き込みを行います。Google公式ヘルプによると、リンク完了後24時間以内にデータのエクスポートが始まります。
DailyとStreamingの違い|まずはDailyで始める
エクスポート頻度は次の3種類があります。
| 毎日(Daily) | ストリーミング(Streaming) | 毎日(高頻度)/Fresh Daily | |
|---|---|---|---|
| 利用できるプロパティ | すべて | すべて(課金設定が必須) | アナリティクス360のみ |
| エクスポートのタイミング | 1日1回、前日分をまとめて出力 | イベント発生からほぼリアルタイムで継続出力 | 1日を通じて更新される日次データ |
| 出力先テーブル | events_YYYYMMDD | events_intraday_YYYYMMDD | events_YYYYMMDD(高頻度更新) |
| 1日のイベント数上限 | 標準プロパティは100万イベント | 上限なし | Analytics 360の仕様に依存 |
| 追加費用 | なし(BigQuery利用料のみ) | BigQuery利用料に加えて1GBあたり0.05ドル | BigQuery利用料のみ |
Fresh Daily(画面上は「毎日(高頻度)」)は有料版のアナリティクス360専用のオプションなので、標準プロパティの実質的な選択肢はDailyとStreamingの2つです。
通常のサイトで初めてBigQueryを連携するなら、まずDailyだけで始めるのが基本です。理由は3つあります。
- SEOやCVR改善のための行動分析は前日までのデータで十分なケースがほとんどで、リアルタイム性が必要な場面は限られる
- Streamingは課金設定が必須で、データ量に応じた追加費用(1GBあたり0.05ドル)が発生する
- Streamingが出力する当日テーブル(events_intraday)は日次テーブル完成後に削除される暫定データで、分析の基準はあくまで日次のevents_テーブルになる
「当日のデータをすぐ検証したい」という明確な用途(リリース直後の計測検証など)ができてから、Streamingを追加で有効にすれば十分です。
GA4とBigQueryを連携した後の確認方法
ここが今回の記事で最も重要なパートです。設定を送信して終わりにせず、BigQuery側にデータが実際に入っていることまで確認して、初めて連携成功と判断できます。
確認1:データセット「analytics_<プロパティID>」が作成されているか
Google CloudコンソールでBigQueryを開き、左側のエクスプローラでプロジェクトを展開します。連携が動き始めると、analytics_<プロパティID>という名前のデータセットが自動作成されます。プロパティIDは9〜10桁の数字で、GA4の「管理」→「プロパティの詳細」で確認できる番号と一致するはずです(例:analytics_123456789)。
確認2:日次テーブル「events_YYYYMMDD」が作られているか
データセットを展開すると、日付ごとのイベントテーブルが確認できます。
- events_YYYYMMDD:Dailyエクスポートが出力する日次テーブル。1日分の全イベントが入ります(例:events_20260828)
- events_intraday_YYYYMMDD:Streamingを有効にした場合のみ作られる当日分のテーブル。日次のevents_テーブルが完成すると、その日のintradayテーブルは削除されます
テーブル名をクリックして「プレビュー」を開くと、event_date、event_name、event_paramsといった列に1行ずつイベントが入っているのが見えます。SQLを書かなくても、プレビューでデータの存在は確認できます。
反映までの時間の目安
リンク完了後、最初のデータがエクスポートされるまで最大24時間かかります。設定した当日にデータセットが見えなくても異常ではありません。設定の翌日〜翌々日に、前日分のevents_テーブルができているかを確認するくらいの感覚で待ってください。Dailyエクスポートは遅延して届くイベントの反映などで、日次テーブルの内容が確定するまで数日かかることもあります。
連携成功の判断基準(ここまで確認できればOK)
- BigQueryにデータセット analytics_<プロパティID> が作成されている
- 設定翌日以降、events_YYYYMMDD テーブルが日付ごとに増えている
- テーブルのプレビューで、event_name などにイベントが記録されている
逆に、48時間以上経ってもデータセットが作成されない場合は、リンク設定の完了状態(GA4の「BigQueryのリンク」画面)と、サービスアカウントがプロジェクトから削除されていないかを確認してください。
BigQueryは無料で使える?料金の考え方
結論から言うと、GA4とBigQueryの連携機能自体は無料ですが、BigQuery側の利用量が無料枠を超えると費用が発生します。「GA4連携=完全無料」ではない点は正しく理解しておいてください。
BigQueryの無料枠は次の通りです(2026年8月時点。BigQueryの料金より)。
| 項目 | 無料枠 | 超過した場合 |
|---|---|---|
| ストレージ(保存) | 毎月10GiBまで無料 | 保存量に応じて課金(リージョンにより単価が異なる) |
| クエリ(集計処理) | 毎月1TiBまで無料 | オンデマンド料金で処理量1TiBあたり6.25ドル〜(リージョンによる) |
| Streamingエクスポート | 無料枠なし | 取り込み1GBあたり0.05ドル(目安として1GB≒約60万イベント) |
課金設定をしていないプロジェクトは「BigQueryサンドボックス」という無料モードで動作します。クレジットカードの登録なしで使えるため導入のハードルは低いのですが、2つの制約があります。
- Streamingエクスポートは使えない(ストリーミング取り込み自体がサンドボックス非対応)
- テーブルの有効期限がデフォルト60日で、それより古いテーブルは自動削除される
60日で消える制約はデータ蓄積の目的と相性が悪いため、継続的に使うと決めたら課金設定を有効にしておくのがおすすめです。課金を有効にしても無料枠(ストレージ10GiB・クエリ1TiB/月)は引き続き適用されます。
費用感の目安として、GA4のイベントデータはおおむね100万イベントで1〜2GB程度です。月間数万〜数十万イベント規模の中小サイトなら、Dailyエクスポート+通常の分析クエリでストレージ・クエリとも無料枠に収まる可能性が高いです。一方、月数千万イベント級の大規模サイトや、重いクエリを頻繁に回すダッシュボード運用では無料枠を超えます。Google Cloudの予算アラートを設定しておくと安心です。
GA4とBigQueryを連携するときの注意点
過去データは遡ってエクスポートされない
最も重要な注意点です。BigQueryへエクスポートされるのはリンクを設定した以降に計測されたデータだけで、設定前の過去データが自動的にバックフィル(遡って出力)されることはありません。
つまり、「分析したくなってから連携する」と、その時点から数ヶ月はデータが貯まるのを待つことになります。BigQueryを将来使う可能性が少しでもあるなら、分析を始める予定より早めに——できれば今——連携だけ済ませてデータを貯め始めておくのが、この仕組みとの正しい付き合い方です。Daily Export自体にはStreamingのような追加の取り込み料金はありません。ただし、BigQueryの保存量やクエリ処理量が無料枠を超えた場合は料金が発生します。
標準プロパティのDailyエクスポートは1日100万イベントまで
標準(無料版)プロパティのDailyエクスポートには、1日100万イベントの上限があります(2026年8月時点)。上限を継続的に超えると日次エクスポートが一時停止され、停止中の日のデータは再処理されません。大幅に超過した場合は即時に停止されることもあります。
月間ではなく「1日あたり」の上限なので、日次100万イベントは中規模サイトではまず届かない水準ですが、大規模サイトでは連携前に日次イベント数(GA4のレポートで確認できます)を見ておいてください。超えそうな場合は、エクスポート対象から不要なイベントを除外する設定(手順6)で調整します。なおStreamingエクスポートにはこの上限はありません。
GA4管理画面の数値とBigQueryの数値は完全一致しない
連携後に集計を始めると気づきますが、GA4のレポートで見る数値とBigQueryで集計した数値は、常に完全一致するとは限りません。GA4レポート側の集計仕様(しきい値、推計、セッションの数え方など)とBigQueryの生データからの集計はロジックが異なるためです。「どちらかが壊れている」と慌てる前に、一致しないことがある前提で使うのが正しいスタンスです。数値の突き合わせ方は第2回で扱います。
GA4とBigQueryを連携した後にやること
連携とデータ確認まで完了したら、いよいよBigQueryを「使う」フェーズです。シリーズ第2回では、貯まったデータをSQLで分析する実践編として、次の内容を扱う予定です。
- events_テーブルの構造(event_name・event_params・page_locationの読み方)
- source/mediumによる流入元別の集計
- セッションとキーイベント(コンバージョン)の抽出
- CTAクリックなどGTMで仕込んだイベントの検証
- コピペで使えるSQLテンプレート
第2回までの間にできる準備としては、計測設計側を整えておくことが有効です。流入元の識別がきれいに入っていないと、BigQueryでどれだけ自由に集計できても「分類できないdirectの山」を眺めることになります。UTMパラメータの命名ルールを先に整備しておくと、第2回の分析がそのまま実務で使えるデータになります。
GA4とBigQueryの連携でよくある質問
GA4とBigQueryの連携は無料ですか?
連携機能自体は無料プロパティでも使えます。ただしBigQuery側で無料枠(ストレージ毎月10GiB・クエリ処理毎月1TiB)を超えた分には料金が発生します。小規模サイトのDailyエクスポートなら無料枠内に収まるケースが多いですが、「連携=完全無料」ではありません。
連携すると過去のGA4データも取得できますか?
できません。エクスポートされるのはリンク設定後に計測されたデータのみで、過去データの遡及エクスポート(バックフィル)はありません。将来分析する可能性があるなら、早めに連携してデータを貯め始めておくことをおすすめします。
データが反映されるまでどのくらいかかりますか?
リンク完了後、24時間以内にエクスポートが始まります。Dailyエクスポートは1日1回前日分をまとめて出力するため、設定翌日〜翌々日にevents_YYYYMMDDテーブルができているかを確認してください。当日中にデータセットが見えなくても異常ではありません。
DailyとStreamingはどちらを選ぶべきですか?
初めての連携ならDailyだけで始めるのが基本です。前日までのデータで大半の分析は成立し、追加費用もかかりません。Streamingは当日データの即時確認が必要になってから追加すれば十分で、課金設定と1GBあたり0.05ドルの追加費用が必要です。
BigQueryを使うにはSQLが必須ですか?
連携とデータ確認まではSQL不要で、この記事の手順はすべて画面操作だけで完了します。データを本格的に集計する段階ではSQLを使いますが、GA4分析で使うSQLは定型パターンが多く、テンプレートの流用で始められます。第2回でコピペで使える形を紹介する予定です。
まとめ:連携は「データが入っていること」の確認まで
GA4とBigQueryの連携は、設定画面の操作だけなら30分で終わります。しかし実務で大事なのは設定を送信することではなく、BigQuery側にanalytics_<プロパティID>のデータセットができ、events_YYYYMMDDテーブルに日々イベントが積み上がっている状態を自分の目で確認することです。ここまで確認して、初めて「連携した」と言えます。
そしてBigQuery Exportは過去に遡れない仕組みである以上、連携の価値は「いつ設定したか」で決まります。今日設定すれば今日からデータが貯まり、半年後には半年分の生データで分析を始められます。まだ連携していない方は、Dailyエクスポートだけでも先に済ませておいてください。
次回の第2回では、貯まったイベントデータをSQLで集計し、流入元・キーイベント・CTAクリックまで検証する実践編を解説します。
なお、アクセス解析で見つけた課題をSEO・サイト改善につなげたい方は、SEGOの無料診断もあわせてご利用ください。
この記事を書いた人

岡 拓馬(おか たくま)
外資系SEOスペシャリスト / SEGO開発者
約10年の国際SEOコンサルティング経験
航空自衛隊で航空機整備員として勤務した後、2015年にフリーランスのWebライター・SEOコンサルタントとして独立。以来、アジア各国を拠点に海外ノマドワーカーとして活動。フィリピンの外資系企業でSEOスペシャリストとして従事した後、約10年の国際SEOコンサルティング経験をもとにSEO×AI検索の診断ツール「SEGO」を開発。著書に『AI時代のテクニカルSEOの教科書』(Kindle)、Udemy講座『AI時代のコンテンツSEOの教科書』がある。
執筆プロセス:本記事はAI(Claude Sonnet)による下書きを、岡拓馬が一次データ追加・実例追記・文意確認を行ったうえで公開しています。内容の最終責任は筆者(岡拓馬)が負います。