BigQuery integration

BigQuery is on the map, not in the product yet.

We read your GA4 BigQuery export for raw, unsampled, event-level analysis of every published page.

Not connectable yet

We read from this source rather than publish to it, which means our webhook is no substitute: it delivers outward. This needs an inbound OAuth connection we have not built yet, so there is nothing here to connect today.

How it works

BigQuery connects with Google OAuth or a service account granted read access on your project, and the integration reads the GA4-native BigQuery event export tables. That export is the raw feed under GA4: every event, unsampled and unthresholded, which lets us analyze published pages at a depth the GA4 interface and Data API cannot match.

In the loop, BigQuery is the deep end of the measure step. Aggregate reports say a page performs; the event export shows exactly how, per event, per session, without sampling. The honest requirements are that you enable the export yourself in GA4 Admin, since no API can switch it on, and that standard GA4 properties cap the daily batch export at one million events.

Best forData-serious teams who want published content analyzed on raw GA4 events instead of aggregate reports.

Setup, step by step

  1. Enable the BigQuery export in GA4 Admin, following our setup guide with screenshots, since this step is yours alone to do.
  2. Choose OAuth or a service account for the connection, and grant BigQuery read access on the project holding the export.
  3. Point the connector at the export dataset, which it verifies with a test query.
  4. Confirm the site and page scope the analysis should cover.
  5. Review the first event-level report once a day or two of export data has accumulated.

Best practices

Enable the export before anything else

The GA4 to BigQuery export only collects from the day you enable it; there is no backfill. Turning it on early, even before connecting us, means history is accumulating while you set the rest up.

Prefer a service account for durability

A service account with read access on the project outlives any individual's login. For a connection your reporting depends on, that durability is worth the small extra setup step.

Grant read on the export, not the world

The integration needs to read the GA4 export dataset. Scoping the grant to that dataset follows least privilege and makes the connection easy to reason about in a security review.

Know your property's export tier

Standard GA4 properties cap the daily batch export at one million events. High-traffic sites near that line should check their event volume, and we surface the export's completeness in the dashboard.

Known issues

What practitioners actually report, from official docs, issue trackers, and community forums.

The export must be enabled by you, in GA4 Admin

Google provides no API to enable the BigQuery export, so no tool, ours included, can switch it on for you, and an unconfigured property has nothing to read.

How we handle itOur setup guide walks the GA4 Admin steps with screenshots, and the connector verifies the export tables exist before finishing, so a missed step is caught immediately.

support.google.com

Standard properties cap the daily export at 1M events

GA4 standard properties limit the daily batch export to one million events, so very high-traffic sites can exceed the cap and see incomplete export days.

How we handle itWe say this plainly rather than papering over it. The connector monitors export volume against the cap, and days near the limit are flagged in reports instead of presented as complete.

support.google.com

Questions teams ask

Does this cost us anything on the Google side?

BigQuery storage and queries bill to your Google Cloud project at Google's rates. The GA4 export volume of a typical site is modest, and our queries are scoped and scheduled to stay light.

Can SearchHandled write to our BigQuery project?

No. The grant is read access on the export dataset, and the integration only runs read queries against it. Your project, tables, and data are otherwise untouched.

How is this different from the Google Analytics integration?

The GA4 integration reads aggregate reports through the Data API, which is right for most teams. BigQuery reads the raw event export underneath, unsampled and event-level, for teams that want full depth.

Not connectable yet

Start with the plan, not the connector.

Build a Growth Map from your site to see the work itself. Approved pages can leave through the export or the webhook today, and telling us BigQuery matters moves it up the rollout.

Build my Growth Map