GA4 BigQuery Cost Estimator
The GA4 BigQuery export is free to turn on and easy to underestimate. Storage is cheap; the bill that surprises people is query scans, billed by the byte. This estimator splits the two so you can size the cost before you flip the switch — and see why one careless query can cost more than a month of storage.
Linking GA4 to BigQuery streams raw event data into a warehouse you can query with SQL. BigQuery’s on-demand model bills two things: active storage at about $0.02 per GB per month (halving after 90 days untouched) and queries at about $6.25 per TiB scanned, after a 1 TiB free monthly tier. This tool estimates storage from your events × bytes-per-event and query cost from the TB you scan. Pricing changes — always verify the current numbers on Google Cloud before you budget.
GA4 BigQuery Cost Estimator inputs and result
| TB scanned / month | Query cost | Total with storage |
|---|
How to use this calculator
- Estimate monthly eventsPull your GA4 event count for a recent month, or multiply sessions by events-per-session. Active sites generate far more events than sessions once scroll, click and ecommerce events count.
- Set average bytes per eventThe nested GA4 export schema typically stores roughly 1-2 KB per event. For accuracy, divide your existing table's storage bytes by its row count.
- Enter the TB your queries scanThis is the cost driver. On-demand BigQuery bills by bytes read, so estimate total monthly scan volume — a few exploratory dashboards can read terabytes.
- Keep the free tier onOn-demand includes 1 TiB of free query scans per month. Leave the toggle on unless that allowance is already spent elsewhere in the project.
- Read storage vs. query splitIf queries dominate, the fix is scanning less — partition by date, cluster, and select only needed columns. Then verify the live pricing before you commit a budget.
RGM Expert Says
We turn on the GA4 BigQuery export for almost every analytics client, because it unlocks raw, unsampled event data and joins to CRM and cost tables that the GA4 interface can never give you. But we set expectations on the bill in the same breath. The export itself is free; storage is genuinely cheap; the line item that blindsides teams is query cost, because BigQuery’s on-demand model charges for every byte a query reads, whether or not you use the result.
This estimator exists to separate those two costs before anyone panics or over-provisions. Nine times out of ten the storage number is trivial and the query number is the whole story. The classic mistake is a dashboard that runs SELECT * against the full events table on every refresh — that single pattern can scan terabytes a day and turn a $5 month into a $500 one. We design partitioned, clustered tables and column-selective queries so a refresh reads megabytes, not terabytes.
We label this a model on purpose. Cloud pricing moves, the free tier can change, and capacity (slot-based) pricing becomes cheaper than on-demand past a certain steady-state volume. We use the estimate to decide whether a client should stay on-demand or buy slots, then confirm against the live Google Cloud pricing page before we put a number in a budget. The tool sizes the decision; the pricing page settles it.
How it works
BigQuery’s on-demand model has two independent meters. Storage bills for the bytes you keep; queries bill for the bytes they scan. This tool estimates each from your inputs:
- Events × bytes — the raw size of one month's export.
- Active storage — ~$0.02/GB/month, dropping to ~$0.01 after 90 days untouched.
- Query (on-demand) — ~$6.25 per TiB scanned, after 1 TiB free per month.
- Bytes scanned — what queries read, not what they return — the real cost driver.
Figures use published on-demand rates ($0.02/GB active storage, $6.25/TiB queries, 1 TiB free) and assume one month of export held as active storage. Long-term storage, streaming inserts, capacity (slot) pricing, and region can change the total. Always verify current pricing on Google Cloud before budgeting.
Why query cost, not storage, is the thing to watch
The instinct is to worry about storing all that event data, but storage is the cheap part. At roughly $0.02 per GB per month — and half that once a partition has sat untouched for 90 days — even a year of a busy site’s GA4 export usually costs less than a team lunch. The number that actually moves the bill is query scan, because BigQuery’s on-demand model charges about $6.25 per TiB read, regardless of how few rows the query returns.
That billing model rewards discipline and punishes SELECT *. A query that reads only the columns and date partitions it needs can cost pennies; the same logical question asked against the whole table can scan terabytes. The single highest-leverage habit is to partition the GA4 export by event date and cluster on the fields you filter most, then select explicit columns. Done well, a daily dashboard reads megabytes instead of terabytes.
Past a certain steady volume, the math flips toward capacity (slot-based) pricing, where you pay for compute capacity rather than per byte scanned. The break-even depends on how consistently you query, which is exactly why this estimator separates the two meters — and why you should always confirm the current rates and free tier on Google Cloud, since cloud pricing is not frozen.
BigQuery on-demand pricing reference
Published on-demand rates as of this writing. Pricing, free tiers and regions change — treat these as a model and verify on Google Cloud.
| Meter | Rate | Note |
|---|---|---|
| Active storage | ~$0.02 / GB / month | Modified within 90 days |
| Long-term storage | ~$0.01 / GB / month | Untouched 90+ days |
| On-demand queries | ~$6.25 / TiB scanned | Bills bytes read, not returned |
| Free query tier | 1 TiB / month | Resets monthly |
| GA4 export | Free to enable | You pay only BigQuery costs |
What analytics engineers say
BigQuery bills for the bytes a query reads, not the rows it returns. Partition, cluster, and select columns — or one SELECT * will cost more than a month of storage.
What gets measured gets managed — including your own warehouse spend. Preview the scan estimate before every expensive query.