This article is about Google Analytics 4 properties. Refer to the Universal Analytics section if you're still using a Universal Analytics property, which will stop processing data on July 1, 2023 (October 1, 2023 for Analytics 360 properties).

[GA4] BigQuery Export


BigQuery is a cloud data warehouse that lets you run highly performant queries of large datasets.

You can export all of your raw events from Google Analytics 4 properties to BigQuery, and then use an SQL-like syntax to query that data. In BigQuery, you can choose to export your data to external storage or import external data for the purposes of combining it with your Analytics data.

When you export data to BigQuery, you own that data, and you can use BigQuery ACLs to manage permissions on projects and datasets.

A full export of data takes place once a day. Data is also exported continuously throughout the day (see Streaming export below).

There are no billing charges associated with exporting data from a Google Analytics 4 property to BigQuery. You can export to a free instance of BigQuery (BigQuery sandbox), but exports that exceed the sandbox limits incur charges.

Standard properties have a daily BigQuery Export limit of 1 million events. Learn more about other BigQuery Export limits

Streaming export

You can choose the streaming export option when you link your Google Analytics 4 property to BigQuery.

BigQuery streaming export makes data for the current day available within a few minutes via BigQuery Export.

When you use this export option, BigQuery has more recent information you can analyze about your users and their traffic on your property.

For each day, streaming export creates one new table:

  • events_intraday_YYYYMMDD: An internal staging table that includes records of session activity that took place during the day. Streaming export is a best-effort operation and may not include all data for reasons such as the processing of late events and/or failed uploads. Data is exported continuously throughout the day. This table can include records of a session when that session spans multiple export operations.This table is deleted when events_YYYYMMDD is complete.

If you select the daily option when you set up BigQuery Export, then the following table is also created each day.

  • events_YYYYMMDD: The full daily export of events.

You should query events_YYYYMMDD rather than events_intraday_YYYYMMDD so you're querying a stable dataset for the day.

See BigQuery Export schema for more information about the events_YYYYMMDD and events_intraday_YYYYMMDD tables.

BigQuery streaming export does not include the following user-attribution data for new users:

  • (reporting dimension: User campaign)
  • traffic_source.source (reporting dimension: User source)
  • traffic_source.medium (reporting dimension: User medium)

User-attribution data for existing users is included but that data requires ~24 hours to fully process, so we recommend not relying on that data from the streaming export and instead getting user-attribution data from the full daily export.

Cookieless pings and customer-provided data

When consent mode is implemented, cookieless pings collected by Analytics will be present in the BigQuery export, along with customer-provided data such as user_id and custom dimensions.

Related resources

Visit the BigQuery Developers Guide to learn more about:

Was this helpful?
How can we improve it?
Clear search
Close search
Google apps
Main menu
Search Help Center