10.3 BigQuery エクスポートの設定
この章で学ぶこと
- GA4 のデータを BigQuery に出力するメリット
- Google Cloud のプロジェクトを準備する手順
- GA4 と BigQuery をリンクする手順と設定の選び方
- BigQuery の料金の考え方
BigQuery エクスポートのメリット
BigQuery(ビッグクエリ)は、Google Cloud のデータ分析のサービスで、大量のデータを SQL で高速に集計できます。GA4 には、計測したイベントの 生データ(1 件 1 件のイベントのデータ)を、BigQuery に出力する機能があります。この機能は、無料版の GA4 でも使えます。
GA4 の画面との違い
| 比べる点 | GA4 の画面(レポート・探索) | BigQuery |
|---|---|---|
| データの形 | 集計された数値 | 1 件 1 件のイベントの生データ |
| しきい値・サンプリング | 適用されることがある | 適用されない |
| データの保持期間 | 探索は最大 14 か月(無料版) | 自分で決められる(削除しない限り残る) |
| 分析の自由度 | 用意されたディメンション・指標の範囲 | SQL で自由に集計・加工できる |
| 他のデータとの結合 | データのインポートなど限定的 | CRM、売上、広告など、社内のデータと自由に結合できる |
| 必要な知識 | GA4 の操作 | SQL、BigQuery の操作 |
| 費用 | 無料(GA4 の無料版) | データの保存と、クエリの処理に応じて費用がかかることがある |
BigQuery が役立つ場面
- 14 か月より前のデータと比べたい(毎年のキャンペーンを長期で比べるなど)
- しきい値やサンプリングの影響を受けない、正確な集計が必要
- GA4 の画面ではできない、複雑な分析をしたい(ユーザーごとの行動の順番、独自のアトリビューションなど)
- CRM の成約データや、店舗の売上データと組み合わせたい
- Looker Studio のダッシュボードを、高速に表示したい
ポイント BigQuery エクスポートは、リンクした日以降のデータ しか出力されません。過去のデータをさかのぼって出力することはできないので、「いつか使うかもしれない」と思ったら、早めに設定しておくのがおすすめです。
Google Cloud プロジェクトの準備
BigQuery を使うには、Google Cloud のプロジェクト が必要です。
手順
- Google Cloud コンソール(console.cloud.google.com)に、Google アカウントでログインする
- 新しい プロジェクト を作る(例:
example-ga4-analytics) - 「BigQuery API」が有効になっていることを確認する
- 必要に応じて、請求先アカウント を設定する
請求先アカウントとサンドボックス
| 状態 | 内容 |
|---|---|
| BigQuery サンドボックス(請求先なし) | クレジット カードを登録せずに、無料の範囲で試せる。ただし、テーブルの有効期限が自動で設定される、日次エクスポートのみ(ストリーミングは使えない)などの制限がある |
| 請求先アカウントあり | 制限なく使える。無料の枠を超えた分の料金がかかる |
注意 サンドボックスのまま使うと、テーブルに 有効期限(一定の日数で自動削除)が付くため、長期のデータの保存には向きません。本格的に使う場合は、請求先アカウントを設定し、テーブルの有効期限の設定を確認しましょう。
権限
GA4 と BigQuery をリンクする人には、次の権限が必要です。
| ツール | 必要な権限 |
|---|---|
| GA4 | プロパティの 編集者以上 |
| Google Cloud | プロジェクトの オーナー(または、リンクに必要な権限を持つロール) |
リンクの設定
リンクの手順
- GA4 の管理画面の「サービス間のリンク設定」→「BigQuery のリンク」を開く
- 「リンク」を押す
- 「BigQuery プロジェクトを選択」で、準備したプロジェクトを選ぶ
- データのロケーション(データを保存する地域)を選ぶ
- 出力するデータストリームと、イベントを選ぶ(すべて、または一部を除外)
- エクスポートの頻度 を選ぶ
- 「送信」を押す
データのロケーション
| 選び方 | 例 |
|---|---|
| 日本のリージョン | asia-northeast1(東京) |
| マルチリージョン | US、EU |
ロケーションは、あとから変更できません。社内のほかのデータ(CRM など)を BigQuery に置いている場合は、同じロケーションにすると、結合が簡単になります。社内のデータの保管のルールも確認しましょう。
エクスポートの頻度
| 頻度 | テーブル | 内容 |
|---|---|---|
| 毎日 | events_YYYYMMDD | 1 日分のデータが、1 日に 1 回まとめて出力される。確定したデータ |
| ストリーミング | events_intraday_YYYYMMDD | ほぼリアルタイムで出力される。追加の料金がかかる |
| ユーザーデータ(毎日) | pseudonymous_users_YYYYMMDD など | ユーザー単位のデータ(ユーザー プロパティ、予測の値など) |
注意 無料版の GA4 では、毎日のエクスポートに 1 日あたりのイベント数の上限 があります(上限を大きく超え続けると、エクスポートが一時停止されることがあります)。アクセスの多いサイトでは、不要なイベントを除外するか、ストリーミングのエクスポートを検討しましょう。上限の最新の値は、公式ヘルプで確認してください。
出力を確認する
リンクを設定すると、通常は 翌日 から、BigQuery に analytics_<プロパティ ID> という名前の データセット が作られ、その中にテーブルが出力されます。
example-ga4-analytics(プロジェクト)
└ analytics_123456789(データセット)
├ events_20261027
├ events_20261028
└ events_intraday_20261028(ストリーミングの場合)
料金の考え方
BigQuery の料金は、主に ストレージ(データの保存)と コンピューティング(クエリの処理)の 2 つで決まります。
| 料金 | 内容 | 目安 |
|---|---|---|
| ストレージ | 保存しているデータの量に応じてかかる | 毎月一定の量までは無料。長期間変更していないデータは安くなる |
| クエリ(オンデマンド) | クエリが 読み取ったデータの量 に応じてかかる | 毎月一定の量までは無料 |
| ストリーミング | ストリーミングのエクスポートで書き込んだ量に応じてかかる | — |
料金の単価や無料の枠は変わることがあるため、Google Cloud の料金のページで最新の情報を確認してください。
費用を抑えるポイント
| ポイント | 内容 |
|---|---|
| 必要な列だけを選ぶ | SELECT * を避ける。BigQuery は列ごとにデータを保存しているため、選んだ列の分だけ読み取る |
| 期間を絞る | _TABLE_SUFFIX で、必要な日付のテーブルだけを読む(次の章) |
| 実行前に読み取り量を確認する | クエリのエディタの右上に、読み取る予定のデータ量が表示される |
| 集計テーブルを作る | ダッシュボードで使う集計は、毎日 1 回、小さな集計テーブルに保存し、そのテーブルを Looker Studio から読む |
| 予算アラートを設定する | Google Cloud の請求で、予算のアラート(一定の金額を超えたらメール)を設定する |
| 割り当ての上限を設定する | 1 日にクエリで読み取れる量の上限を設定し、想定外の高額な請求を防ぐ |
ポイント 中小規模のサイトであれば、GA4 のデータの保存とクエリは、無料の枠の範囲に収まる ことも少なくありません。まずは無料の枠で試しつつ、予算アラートを設定して、費用を見守りましょう。
まとめ
- BigQuery エクスポートを使うと、GA4 の生データを、しきい値やサンプリングなしで、長期間保存して自由に分析できる
- エクスポートはリンクした日以降のデータだけなので、早めに設定する
- Google Cloud のプロジェクトを準備し、GA4 の管理画面から BigQuery とリンクする。ロケーションはあとから変えられない
- エクスポートには、毎日(確定データ)とストリーミング(ほぼリアルタイム)がある
- 料金はストレージとクエリで決まり、必要な列と期間に絞る、予算アラートを設定するなどで費用を抑える
次の章では、BigQuery に出力された GA4 のテーブルの構造を学びます。