GA4 · Data exports

How to export GA4 data: reports, the Data API and BigQuery

Image of Iron Brands

Published on Feb 12, 2024 and edited on Sep 25, 2026 by Iron Brands

Before exporting GA4 data, decide what you need to reproduce: a report, a recurring set of metrics, or an analysis of individual events. Those require different exports.

Free GA4 properties can export event data to BigQuery. You do not need Analytics 360 to use that integration. But a BigQuery export is not a copy of every number in the GA4 interface. Google's export overview. If you also run Simple Analytics alongside GA4, its API and exports give you a second, cookieless dataset to put next to your GA4 export.

Choose the export for the question

What you need Starting point What to watch
Share the report you are looking at Download the report Filters, date range and export limits
Refresh a dashboard regularly GA4 Data API Metric definitions, pagination and response metadata
Inspect events or build your own queries BigQuery event export Export start date, coverage and your query's definitions

Write down the property, web stream, dates and time zone before choosing a method. A file without that context is difficult for another analyst to reproduce.

Download a report for a specific review

In GA4, open the report, set its date range and comparisons, then use Share this report → Download file. Google supports PDF, CSV and Google Sheets exports. You need at least Viewer access. CSV and Sheets exports can contain up to 100,000 rows. Report export instructions.

Keep the selected dimensions and filters with the file. If you are comparing campaign traffic, record whether the source dimension is session-scoped or first-user-scoped. A spreadsheet does not resolve that difference for you.

Use this route for a bounded report, not as evidence that you have archived every underlying event.

Use the Data API for repeatable reporting

The Data API returns report tables built from requested dimensions and metrics. The runReport method accepts date ranges and filters; limit and offset support pagination. It is a reporting API, not an event-by-event warehouse export. Create a report with the Data API.

Save the request alongside its output. Check the returned row count, retrieve the required pages, and inspect the response metadata for reporting limitations. Keep the metric's scope unchanged when moving it into a BI tool. For example, summing daily user counts does not deduplicate users across the month.

Use BigQuery when the question needs event records

Create or choose a Google Cloud project, enable BigQuery, then open Admin → Product links → BigQuery links in GA4. Select the project, location, streams and export options. Follow Google's permissions and setup requirements before enabling the link. After linking, check the earliest exported date; do not assume that your entire GA4 history is present. Set up BigQuery Export.

Standard properties support daily exports up to one million events per day. That is an event limit, not a pageview limit. Streaming has no event-volume limit, but is a best-effort service with completeness and attribution limitations. BigQuery storage and processing can incur costs. Export options and limits.

For a completed-day comparison, use daily events_YYYYMMDD tables when available. Do not blindly combine daily and intraday tables for the same date. Check for late updates before treating yesterday's numbers as final.

Reconcile definitions before reconciling totals

BigQuery excludes reporting additions such as behavioral modeling. Cookieless pings collected through Consent Mode can still appear in the export. Missing identifiers therefore do not automatically mean missing event rows. BigQuery data and reporting differences.

Start a pageview comparison with web page_view events, matching hostnames, page scope and dates. Check duplicate collection, filters and export exclusions. Compare user and session counts separately: they require identity and session rules that a pageview count does not.

If you are comparing GA4 with Simple Analytics, retain both definitions in the report. Simple Analytics calculates session starts from pageview context without creating a persistent visitor identity. Its session count is not interchangeable with GA4's Sessions metric. Simple Analytics' measurement method.

Can an export recover traffic GA4 never collected?

No. Changing the destination of existing data does not create events that were never received. First distinguish a collection gap from a reporting or export difference. An independent measurement setup can help investigate future traffic; it cannot reconstruct an unrecorded past.

Free 30-day proof of concept

Compare Simple Analytics with GA4 on your website

Run a free 30-day proof of concept alongside your existing GA4 setup and CMP.

We help you:

  1. Agree on the measurement question, metrics, pages and comparison period.
  2. Set up Simple Analytics, including support for proxies and custom domains where needed.
  3. Review the counts, trends and methodological differences together.
Book a demo

Tell us what you want to compare. We’ll agree on the scope of the POC together.