GA4(Google アナリティクス 4)のデータを BigQuery に書き出して、AI に分析させたい 1 人目のデータ担当・情報システム担当の方向けの記事です。読み終わると、自社の月間イベント数から「何か月目まで 0 円か」「超えたら月いくらか」を上司に説明できるようになります。
この記事で分かること:
- BigQuery をクレジットカードなしで使う「サンドボックス」と、課金を有効にしても残る「無料枠」の違い
- 月間イベント 10 万・100 万・1,000 万の 3 ケースで、保存 10 GiB の無料枠を超える月
- クエリ 1 本の大きさから見た、毎月 1 TiB の無料枠に届く本数
- 超えた後に最初に払うものと、12 か月目・24 か月目の月額
費用は 2026-11-09 時点の BigQuery の料金ページを使って筆者が計算しました。
ざっくり結論
先に結論を表にします。保存量は、Google が公開している GA4 のサンプルデータから実測した「1 イベントあたり約 834 バイト」を使って、筆者が計算した値です。
| 月間イベント数 | 保存 10 GiB を超える月 | 12 か月目の保存料金 | サンドボックスのままの場合 |
|---|---|---|---|
| 10 万 | 約 129 か月目(24 か月では超えない) | 0 ドル | 容量は足りるが、60 日より前のデータは消える |
| 100 万 | 13 か月目 | 0 ドル | 容量は足りるが、60 日より前のデータは消える |
| 1,000 万 | 2 か月目 | 約 1.91 ドル/月 | 39 日目ごろに 10 GiB に届く |
多くの会社で最初に当たる壁は、料金ではなくサンドボックスの 60 日期限だと考えられます。古いデータが自動で消えるため、前年同月との比較ができなくなるからです。
BigQuery の 2 つの「無料」
BigQuery の「無料」には 2 種類あり、混同すると上司への説明がずれます。
1 つ目は サンドボックス(クレジットカードを登録せずに BigQuery を試せる環境)です。公式ドキュメントによると、カード情報の登録も請求先アカウントの作成もいりません。
2 つ目は 無料枠(課金を有効にした後も、毎月一定量までは料金がかからない仕組み)です。料金ページでは、保存が毎月 10 GiB、クエリの処理が毎月 1 TiB まで無料です。
| 項目 | サンドボックス | 課金を有効にした後 |
|---|---|---|
| クレジットカード | 不要 | 必要 |
| 保存 | 毎月 10 GB まで | 10 GiB まで無料、超えた分は約 0.023 ドル/GiB 月 |
| クエリ | 毎月 1 TB まで | 1 TiB まで無料、超えた分は 6.25 ドル/TiB |
| テーブルの有効期限 | 60 日で自動的に期限切れ | 自分で設定(既定の 60 日は手で変える必要あり) |
| 使えない機能 | ストリーミング、DML、Data Transfer Service | 上の 3 つは使える |
表の中の DML(データ操作言語。UPDATE や DELETE など、保存済みの行を書き換える SQL)が使えない点も、サンドボックスの制限です。サンドボックスの上限は「BigQuery の無料枠と同じ」と公式ドキュメントに書かれています。
GiB(ギビバイト。2 の 30 乗バイト、約 10.7 億バイト)と GB(10 億バイト)は少し違う単位です。この記事では料金ページの GiB・TiB で計算します。
実測:1 イベントは何バイトか
保存量を見積もるには、「1 イベントが何バイトか」が必要です。そこで Google の公開サンプル ga4_obfuscated_sample_ecommerce を調べました。これは Google Merchandise Store の 2020 年 11 月 1 日から 2021 年 1 月 31 日までの 3 か月分を、難読化(個人や店舗を特定できないよう値を置き換える処理)したデータです。
GA4 のエクスポートは、1 日 1 枚の 日次テーブル(events_20201101 のように日付が名前に付いたテーブル)を作ります。各テーブルの行数とサイズを、BigQuery のテーブル一覧情報(__TABLES__)から 2026-11-09 に取得しました。
| 項目 | 実測値 |
|---|---|
| 日次テーブルの枚数 | 92 枚 |
| 合計イベント数(行数) | 4,295,584 |
| 合計サイズ | 3,583,657,854 バイト(約 3.34 GiB) |
| 1 イベントあたり | 約 834.27 バイト |
| 1 日あたり平均 | 約 46,691 イベント・約 38.95 MB |
| 日次テーブル 1 枚の最小・最大 | 約 17.4 MB・約 79.2 MB |
1 イベントあたりの値は、合計サイズを合計イベント数で割って筆者が計算しました。サイズは 論理バイト(圧縮前のデータ量。料金ページの「論理ストレージ」の単位)です。
試算 1:保存 10 GiB を超えるのは何か月目か
月の保存増加量は「月間イベント数 × 834.27 バイト ÷ 2 の 30 乗」で出せます。月 100 万イベントなら、1 か月で約 0.777 GiB ずつ増えます。
ここでは課金を有効にして、テーブルを消さずに積み上げる前提で計算しました。図 1 のとおり、月 100 万イベントの線が 10 GiB を越えるのは 13 か月目です。
| 月間イベント数 | 1 日あたり | 1 か月の増加 | 10 GiB を超える月 | 12 か月目の累積 | 24 か月目の累積 |
|---|---|---|---|---|---|
| 10 万 | 約 3,288 | 0.0777 GiB | 約 129 か月目 | 0.93 GiB | 1.86 GiB |
| 100 万 | 約 32,877 | 0.777 GiB | 13 か月目 | 9.32 GiB | 18.65 GiB |
| 1,000 万 | 約 328,767 | 7.77 GiB | 2 か月目 | 93.24 GiB | 186.47 GiB |
「超える月」は、10 GiB を 1 か月の増加量で割った値を切り上げたものです。月 100 万なら 10 ÷ 0.777 = 12.87 なので、13 か月目になります。
月 1,000 万イベントは 1 日あたり約 33 万イベントです。GA4 の標準プロパティの日次エクスポートの上限は 1 日 100 万イベントなので、この 3 ケースはどれも上限の内側です。
試算 2:クエリは月に何本まで無料か
クエリの料金は、クエリが読んだバイト数(テーブル全体ではなく、SQL が使う列と期間の分だけ)で決まります。そこで、筆者がこのサイトの運用で試した記録から、実際の SQL 1 本の処理量を使いました。
公開サンプルの 1 日分を集計する SQL 2 本は、実行前に処理量を見積もる dry run(実際には実行せず、読むバイト数だけを返す機能)で、どちらも 5,798,375 バイト(約 5.8 MB)でした。誤りを入れた SQL などを含めて試した中では、最大が 22,523,751 バイト(約 22.5 MB)でした。
1 TiB(2 の 40 乗バイト)をこの値で割ると、月に何本で無料枠に届くかが分かります。図 2 に、100 MB という大きめの仮定も加えて並べました。
| 1 本の処理量 | 根拠 | 1 TiB に届く本数(月) | 1 日あたり |
|---|---|---|---|
| 5.8 MB | 筆者が運用で試した記録 | 189,624 本 | 約 6,234 本 |
| 22.5 MB | 筆者が試した中で最大 | 48,816 本 | 約 1,605 本 |
| 100 MB | 大きめの仮定 | 10,995 本 | 約 361 本 |
5.8 MB は、集計した日(events_20210131)の日次テーブル(約 20.1 MB)の約 29% にあたります。SQL が使う列だけを読むため、テーブル全体より小さくなります。
ただし、本番のデータは 1 日のイベント数がサンプル(約 4.7 万)と違います。同じ SQL でも、読むバイト数は変わると考えられます。自社のデータでは、BigQuery の画面に出る処理量の見積もりで確かめてください。
サンドボックスの 60 日期限が日次テーブルに与える影響
サンドボックスでは、すべてのテーブルとパーティションが 60 日後に自動で期限切れになります。GA4 の日次テーブルにも当てはまると考えられ、常に直近 60 日分だけが残る形になります。図 3 はその様子です。
60 日分の保存量は「1 か月の増加量 × 60 ÷ 30.42 日」で計算しました。
| 月間イベント数 | 60 日分の保存量 | 10 GiB に届く日 |
|---|---|---|
| 10 万 | 約 0.15 GiB | 届かない |
| 100 万 | 約 1.53 GiB | 届かない |
| 1,000 万 | 約 15.33 GiB | 39 日目ごろ(60 日の期限より前) |
月 10 万・100 万なら、容量の面ではサンドボックスで足ります。問題は、61 日より前のデータが残らないことです。前年同月との比較や、季節の変化を見る分析はできません。
月 1,000 万は、データが消え始める前の 39 日目ごろに 10 GiB に届きます。GA4 のヘルプは、サンドボックスの制限を超えるエクスポートには料金が発生すると書いています。この場合は、最初から課金を有効にすると考えられます。
課金を有効にする判断点
課金を有効にしても、既存のデータセットの 60 日の有効期限は自動では外れません。公式ドキュメントは、アップグレード後にテーブルやパーティションの既定の有効期限を更新する必要があると書いています。
判断の目安は次のとおりです。
- 60 日より前のデータを分析に使いたくなったら、課金を有効にする
- 有効にしたら、データセットの既定のテーブル有効期限を変更する
- 月 1,000 万イベント規模なら、エクスポートを始める前に課金を有効にする
超えた後の月額:12 か月目と 24 か月目
保存の単価は、料金ページのアクティブな論理ストレージ 0.000031507 ドル/GiB 時間に、1 か月 730 時間を掛けた約 0.023 ドル/GiB 月です。料金ページ自身も、1 TiB を 1 か月保存すると 23.552 ドルという例を載せています。
累積の保存量から無料の 10 GiB を引き、この単価を掛けたのが図 4 です。
| 月間イベント数 | 最初に払う月と金額 | 12 か月目 保存 | 12 か月目 月額 | 24 か月目 保存 | 24 か月目 月額 |
|---|---|---|---|---|---|
| 10 万 | 24 か月目まで払わない | 0.93 GiB | 0 ドル | 1.86 GiB | 0 ドル |
| 100 万 | 13 か月目に約 0.002 ドル | 9.32 GiB | 0 ドル | 18.65 GiB | 約 0.20 ドル |
| 1,000 万 | 2 か月目に約 0.13 ドル | 93.24 GiB | 約 1.91 ドル | 186.47 GiB | 約 4.06 ドル |
クエリは、月の処理量が 1 TiB 未満なら 0 ドルです。試算 2 のとおり、22.5 MB の SQL でも月 4.8 万本までは無料なので、この表のクエリ料金は 0 ドルとしています。
この月額は上限側の見積もりです。料金ページによると、90 日間変更されていないテーブルやパーティションは 長期ストレージ(約 50% 割引される保存区分)に自動で移ります。日次テーブルは書き込み後に変わらないことが多いため、実際の金額はこれより下がると考えられます。
構成図:GA4 から AI 分析までの最小構成
ここまでの数字が、構成のどこに効くのかを図 5 にまとめます。
保存の無料枠は「BigQuery のデータセット」に、クエリの無料枠は「SQL で集計」と「AI に質問」の両方に効きます。AI に分析させる場合も、AI が作った SQL が BigQuery のデータを読むので、クエリの無料枠から引かれます。
AI が作る SQL は、必要以上に長い期間や多くの列を読むことがあります。実行前に dry run で処理量を確かめると、無料枠の使いすぎを防げます。
つまずきやすい点
日次エクスポートの上限を超えるとエクスポートが止まる
標準プロパティの日次エクスポートは 1 日 100 万イベントまでです。GA4 のヘルプによると、上限を継続的に超えると日次エクスポートは一時停止され、それ以前の数日分も再処理されません。
ストリーミング エクスポートは別料金
GA4 には、1 日 1 回の日次エクスポートとは別に、ほぼ即時に書き出す ストリーミング エクスポートがあります。GA4 のヘルプによると、BigQuery 側でデータ 1 GB あたり 0.05 ドルの追加費用がかかり、1 GB はイベント約 60 万件に相当します。また、サンドボックスはデータのストリーミングに対応していません。
公開サンプルの 834 バイトは自社と同じとは限らない
公開サンプルは難読化されたデータです。イベントに付けるパラメータの数などで、実際の 1 イベントのバイト数は増減します。エクスポートを 1 週間ほど動かしたら、自社の日次テーブルのサイズで計算し直すのが確実です。
料金はリージョンで変わりうる
料金ページの表は us-central1 の例です。東京(asia-northeast1)などの単価はこの記事では確認できていないので、使うリージョンの単価を料金ページで確かめてください。
GB と GiB の表記の違い
サンドボックスのドキュメントは「10 GB・1 TB」、料金ページは「10 GiB・1 TiB」と書いています。同じ上限を指しているかは公式の記述からは断定できないため、この記事では料金ページの単位で計算しました。
まとめ
- 保存 10 GiB の無料枠を超えるのは、月 10 万イベントで約 129 か月目、100 万で 13 か月目、1,000 万で 2 か月目です。公開サンプルの実測 834 バイト/イベントから筆者が計算しました。
- クエリ 1 TiB の無料枠は、22.5 MB の SQL でも月 48,816 本まで届きません。超えた後の保存料金も、12 か月目で 0 ドル・0 ドル・約 1.91 ドル/月です。
- 最初に当たる壁は料金ではなく、サンドボックスの 60 日期限です。60 日より前のデータを使いたくなった時点で課金を有効にし、テーブルの有効期限を変更します。
次の一歩
自社の月間イベント数で試算し直したい方や、GA4 と BigQuery の構成を相談したい方は、お問い合わせからご連絡ください。AI が書いた GA4 の SQL が定義どおりか、読むバイト数が大きすぎないかを第三者の目で確かめたい場合は、BigQuery SQL レビューパックもご利用いただけます。
参考にした一次情報
いずれも 2026-11-09 に内容を確認しました。