The GA4 BigQuery export limit in short
If you have received an email saying your GA4 property has exceeded daily BigQuery export limits, this is the rule behind it. According to Google's Analytics Help, as of October 2026:
- Standard GA4 properties can send up to 1 million events a day through the daily (batch) export.
- Analytics 360 properties can send up to 20 billion events a day through the daily export.
- The streaming export has no event limit on either.
The limit counts events, not users or sessions. A site with modest traffic can still reach it if it fires many events per page: scroll tracking, video progress, custom interactions or a tag that sends everything twice. And it applies to the export, not to data collection: your GA4 reports carry on as before.
What happens when you exceed the daily export limit
Google describes the sequence like this:
- Property editors and administrators receive an email each time the property goes over the daily limit.
- That email says when the export will be paused if nothing changes.
- If the property keeps going over, the daily export is paused. If it goes over by a wide margin, Google says Analytics may pause it straight away.
- Days that were not exported during the pause are not reprocessed later.
That last point is the one that hurts. The export does not fill in gaps: Google's help says data that has been exported cannot be re-exported, and that data from an export interrupted by an invalid payment method cannot be sent again either. A paused week is a hole in your BigQuery history for good, and it shows up months later in every year-on-year comparison. Why the export cannot go back in time.
Five ways to get back under the limit
Find out which events fill the export
Before excluding anything, look at the numbers. If the export is still running, this query counts events by name over one week. Replace my-project with your Google Cloud project and analytics_123456789 with your dataset, which is analytics_ followed by your property ID.
Events by name over a week
SELECT event_name, COUNT(*) AS events, COUNT(*) / 7 AS events_per_day
FROM `my-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20261001' AND '20261007'
GROUP BY event_name
ORDER BY events DESC
The filter on _TABLE_SUFFIX reads only the seven daily tables, which keeps the query cheap, and leaves out the events_intraday_ tables, whose suffix starts with "intraday". If the export is already paused, the Events report in GA4 gives you the same ranking.
How to exclude events from the BigQuery export
- 1Open the linkIn GA4, go to Admin, then Product links, then BigQuery links, and click the row of your project. You need Editor access or above on the property and an email address with Owner access on the BigQuery project.
- 2Open the filtersUnder Data streams and events, click View data streams and events.
- 3Choose the streamsUnder Data streams to export, keep only the streams you need.
- 4Add the events to excludeIn Events to exclude, click Add to pick existing events, or Specify event by name for events not collected yet. To take one off the list, click the minus sign at the end of its row.
- 5Check the next exportRun the query above on the next daily tables and confirm you are comfortably under 1 million, with room for traffic peaks and campaigns.
Which events not to exclude
Some events hold up everything else. Excluding them saves volume but breaks the queries built on top:
- session_start and first_visit: they mark where sessions and new users begin, and many queries rely on them.
- page_view: most content and landing page analysis starts here.
- Your key events (formerly called conversions): they are usually the reason the export exists.
- user_engagement: it carries much of the engagement time data.
Good candidates are high-frequency custom events you do not analyse in BigQuery, scroll or video progress events if you only look at them in GA4 reports, and any test or staging stream.
Streaming export: no limit, but not free
The streaming export sends events to BigQuery within minutes, into a table called events_intraday_YYYYMMDD for the current day. It has no volume limit, so it is the usual way out for a standard property that has outgrown the daily export.
It comes with three catches, all from Google's own documentation:
- Cost. Streaming costs $0.05 per GB on top of normal storage and query costs. Google estimates that 1 GB is roughly 600,000 GA4 events, depending on event size.
- Completeness. It is a best-effort service with no completeness SLO, and it may contain gaps.
- Attribution. Traffic source data for new users and new sessions is not included, and for existing users the user-level attribution takes about 24 hours. Google recommends taking attribution from the daily export.
A rough calculation with Google's ratio: 3 million events a day is about 5 GB a day, around $7.50 a month in streaming charges. The money is rarely the problem; the missing attribution and the possible gaps are.
The BigQuery sandbox and its limits
The BigQuery sandbox lets you use BigQuery without a credit card or a billing account, and Google allows the GA4 export to land there. Its limits, as stated in the BigQuery documentation in October 2026:
- 10 GiB of storage for the lifetime of the sandbox, which is not given back when you delete data.
- 1 TiB of queries a month, the same as the free tier.
- Tables, views and partitions expire automatically after 60 days.
- No streaming, no DML statements (INSERT, UPDATE, DELETE, MERGE) and no Data Transfer Service.
For GA4 this means no streaming export, and the daily tables disappear after 60 days. The sandbox is fine for learning the schema, but it does not lift the GA4 event limit, which belongs to the property, and it does not build a history. For that, the project needs billing enabled.
GA4 BigQuery pricing: what you actually pay
Linking GA4 to BigQuery costs nothing on a standard property. What you pay is BigQuery. These figures are from the Google Cloud pricing page in October 2026, in US dollars, for the EU and US multi-regions:
- Storage: $0.02 per GiB a month for active logical storage, and $0.01 for long-term storage, which applies to tables or partitions not modified for 90 consecutive days. The first 10 GiB each month are free.
- Queries: on demand, $6.25 per TiB processed, with the first 1 TiB each month free.
- Streaming: the $0.05 per GB described above, only if you turn it on.
Single regions can cost more: Madrid (europe-southwest1) lists $7.8125 per TiB. Choose the location with care, because changing it later means deleting the link and recreating the dataset.
For storage, at about 600,000 events per GB, a property exporting close to 1 million events a day adds around 50 GB a month: after a year, roughly $7 to $8 a month, since most of it is long-term storage. Queries are where bills grow. How to query the export without reading more than you need.
GA4 BigQuery export limit FAQ
What is the GA4 BigQuery export limit?
Standard properties can export up to 1 million events a day through the daily export, and Analytics 360 properties up to 20 billion, according to Google's help in October 2026. Streaming export has no event limit.
Does the export stop the first day I go over?
Not necessarily. Google sends an email each time the property goes over, saying when the export will be paused. If the property keeps exceeding the limit the export is paused, and if it goes far over it may be paused straight away.
Can I recover the days lost during a pause?
No. Google states that previous days are not reprocessed, so those days will never reach BigQuery through the export.
Does streaming export count towards the 1 million limit?
No. The limit applies to the daily export. Streaming has no event limit, but it costs $0.05 per GB and Google describes it as best-effort.
Does the BigQuery sandbox avoid the limit?
No. The limit belongs to the GA4 property. The sandbox also deletes tables after 60 days and does not support streaming.
Has your GA4 export been paused?
Tell us how many events your property sends and what you use BigQuery for. In a 30-minute call we will tell you what to filter, whether streaming is worth it and roughly what it would cost you in BigQuery.
Book the 30-minute call