BigQuery does not bill you for storing the GA4 export so much as for how carelessly you query it, and the export is large enough that carelessness gets expensive fast. The good news: a few habits cut the bill dramatically. Here is how.
Understand what you're charged for
On the on-demand model, BigQuery charges by bytes scanned, at $6.25 per TB, with the first 1 TB each month free. It does not matter how many rows come back – what matters is how much data the query had to read. Every cost habit below is really about scanning less.
Filter the date range every time
The single biggest lever is the _TABLE_SUFFIX filter, which prunes whole daily tables before scanning:
SELECT event_name, COUNT(*) AS n FROM `project.analytics_123456789.events_*` WHERE _TABLE_SUFFIX BETWEEN '20260101' AND '20260107' GROUP BY event_name
Without that filter, a wildcard query reads every day you have ever collected. With it, you read one week.
Never select every column
Because you are billed by bytes read, selecting columns you do not need is money burned. This matters even more with the GA4 export, where nested arrays are heavy. Name the exact columns, and unnest only the parameters you use.
Materialize what you reread
If a team queries the same daily aggregates over and over, scanning the raw export each time is waste. Compute them once:
- Build a scheduled query or model that writes a small daily summary.
- Query that summary for dashboards, not the raw events.
- Reserve the raw export for genuinely new questions.
Preview the cost before running
BigQuery estimates bytes scanned before you run, in the console validator or with a dry run. Checking that estimate is a free habit that catches an accidental full-history scan before it bills. For steady heavy workloads, compare on-demand against BigQuery Editions, the capacity model that replaced flat-rate pricing.
BigQuery costs are not really about storage, they are about how much you scan, and the export punishes a careless query. Filter the date range, select only the columns you need, materialize repeated work, and preview the estimate before you run. Do that and the same analysis that quietly drained your budget starts costing a fraction of what it did.
Want a stronger data analyst role or a raise? Grab the FREE Product Analyst Playbook and get the exact roadmap to your next offer.
