# GA4 BigQuery Export on the Free Tier: Setup, Limits and SQL

> Export GA4 to BigQuery for free: sandbox vs billing, the 1M daily event limit, the 60-day sandbox expiry and copyable SQL for marketers.

Source: https://mentionx.ai/learn/ga4/ga4-bigquery-export-free-tier  
Author: Dipuck Jones, founder of MentionX  
Updated: 4 November 2026  
Level: Practitioner

**Every standard GA4 property can export raw, unsampled events to BigQuery, and you can start in the free BigQuery sandbox. The catch: sandbox tables expire after 60 days, and daily export caps at 1 million events a day on standard properties.** Turn it on now, because export only starts from the day you link it.

> **Key takeaways**
>
> - Daily export writes a full `events_YYYYMMDD` table each day; Google says it usually lands mid-afternoon in your property timezone.
> - Standard properties: up to 1M events per day in daily export, with filters to stay under it.
> - Streaming export is near real time, has no volume cap and costs extra ($0.05 per GB per Google's help page at time of checking).
> - Sandbox: no credit card, but tables expire after 60 days and storage is capped at 10 GB.
> - Export is not retroactive and excludes Google signals data.

*Checked 4 November 2026 (CET) against Google Analytics Help and Google developer documentation. GA4 menus and limits change, so confirm in your own property. "Our view" marks MentionX opinion. Ledgerline is a fictional company used for illustration.*

## Sandbox or billing?

| | Sandbox | Billing account (free tier still applies) |
|---|---|---|
| Card needed | No | Yes |
| Table expiry | 60 days, automatic | You choose |
| Storage | 10 GB sandbox limit, per Google's setup page | Charged beyond the free tier |
| Streaming export | Not practical (charged per GB) | Available (extra cost) |
| Best for | Trying it, last-60-days analysis | Keeping history |

A low-cost pattern: start in the sandbox, and once you see value, enable billing and remove the default table expiration so history accumulates. Watch query costs by always filtering on `_TABLE_SUFFIX` and selecting only the columns you need.

## How do you link it?

1. Create a Google Cloud project and enable the BigQuery API.
2. In GA4, **Admin → Product links → BigQuery links → Link**.
3. Choose the project and data location, select **Daily** (and **Streaming** only if you need it), and choose streams and any event exclusions.
4. Tables appear in a dataset called analytics_ followed by your property ID.

## Copyable SQL

AI assistant referrers by page view, last month:

```sql
SELECT
  REGEXP_EXTRACT(
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'),
    r'^https?://([^/]+)') AS referrer_host,
  COUNT(*) AS page_views,
  COUNT(DISTINCT user_pseudo_id) AS users
FROM `your-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20261001' AND '20261031'
  AND event_name = 'page_view'
  AND REGEXP_CONTAINS(
    (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_referrer'),
    r'chatgpt|openai|perplexity|claude|gemini|copilot|deepseek|grok')
GROUP BY referrer_host
ORDER BY page_views DESC;
```

Key events by last-click session source:

```sql
SELECT
  session_traffic_source_last_click.manual_campaign.source AS source,
  session_traffic_source_last_click.manual_campaign.medium AS medium,
  COUNTIF(event_name = 'generate_lead') AS leads
FROM `your-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20261001' AND '20261031'
GROUP BY source, medium
ORDER BY leads DESC;
```

Replace the project, dataset and event name with your own. Field names come from Google's BigQuery Export schema page; check it if a column is missing in older tables.

> **Pro move:** use event exclusions in the link settings to drop noisy events (such as `scroll` or `user_engagement`) if you are near the 1M daily limit. You keep the events that matter and stay on the free export.

*Our view:* even if nobody writes SQL yet, link BigQuery on day one. The history you start collecting today is the thing you can't buy later.

Next: [Looker Studio reporting on GA4](https://mentionx.ai/learn/ga4/ga4-looker-studio-reporting). Or return to the [GA4 for Marketers track](https://mentionx.ai/learn/ga4/ga4-for-marketers).

## Common questions

**Is GA4 BigQuery export free?** The link is free for standard properties, and you can export to the BigQuery sandbox at no cost. Usage beyond sandbox or free-tier limits is charged by Google Cloud.

**What is the daily export limit?** Standard properties can export up to 1 million events per day in the daily export. Streaming export has no volume limit but costs extra.

**Why did my old BigQuery tables disappear?** In the BigQuery sandbox, tables and partitions expire automatically after 60 days. Enable billing and change the expiration to keep history.

## Sources

- Google Analytics Help, [BigQuery Export](https://support.google.com/analytics/answer/9358801)
- Google Analytics Help, [Set up BigQuery Export](https://support.google.com/analytics/answer/9823238)
- Google Analytics Help, [BigQuery Export schema](https://support.google.com/analytics/answer/7029846)
- Google Cloud, [BigQuery sandbox](https://cloud.google.com/bigquery/docs/sandbox)
- All accessed 4 Nov 2026.

## Frequently asked questions

### Is GA4 BigQuery export free?

The link is free for standard properties, and you can export to the BigQuery sandbox at no cost. Usage beyond sandbox or free-tier limits is charged by Google Cloud.

### What is the daily export limit?

Standard properties can export up to 1 million events per day in the daily export. Streaming export has no volume limit but costs extra.

### Why did my old BigQuery tables disappear?

In the BigQuery sandbox, tables and partitions expire automatically after 60 days. Enable billing and change the expiration to keep history.

---

Written and reviewed by Dipuck Jones for MentionX Learn. The HTML version of this page: https://mentionx.ai/learn/ga4/ga4-bigquery-export-free-tier
