AdPix Blog

How to export GA4 data: back up your history before you lose access

How to export GA4 data with report downloads, the Data API and BigQuery, what each one keeps, and which parts of your history no export can bring back.

8 min read

Key takeaways

  • There are three ways to export GA4 data: downloading reports as CSV, PDF or Google Sheets, pulling report data with the Analytics Data API, and linking the property to BigQuery for raw events.
  • Do one thing before any export: set event data retention to 14 months, because Google applies a longer retention setting to data you have already collected.
  • CSV and Google Sheets downloads hold up to 100,000 rows each, which is plenty for monthly channel and landing-page reports and not enough for raw events.
  • BigQuery export starts within 24 hours of linking and Google's setup page describes no backfill, so it protects only the days after you turn it on.
  • Explorations and funnel reports older than your retention window, age and interest data older than two months, and days a broken export missed cannot be recovered by any method.

To export GA4 data, you have three options: download reports as CSV, PDF or Google Sheets from the Share this report menu, pull report data with the Google Analytics Data API, or link the property to BigQuery to get raw, unsampled events. Report downloads are the quickest and need no code. BigQuery keeps the most detail, but it only records data from the day you link it. Before any of these, raise your data retention to 14 months, because that one setting protects more history than any export.

GA4 data export is any copy of Google Analytics 4 data stored outside the GA4 interface, either as aggregated report tables (CSV, Sheets, API) or as raw event rows (BigQuery), so that you can still read it if you lose access to the property.

Why should you export GA4 data now?

Because GA4 history disappears on a schedule, and some of it cannot be rebuilt. Event-level data that powers explorations and funnel reports is kept for only 2 or 14 months on standard properties. Age, gender and interest data is always kept for two months, whatever you set. If your team reaches GA4 through a VPN or the property sits in one person’s Google account, losing access is a second, less predictable deadline. The guide to Google Analytics in Iran and its risks explains that second deadline in detail.

An export also helps when nothing goes wrong. A monthly CSV of channel performance lets you compare this year with last year after the exploration window has closed, and it gives you a baseline when you run a second tool next to GA4.

Which GA4 data can you export, and how?

Each method keeps a different layer of your data. Pick by what you will need to answer later, not by what is easiest today.

Method What you get Limits (per Google’s docs) Who can do it
Report download (Share this report → Download File) Aggregated report tables as PDF, CSV or Google Sheets Up to 100,000 rows per CSV or Sheets file Anyone with the Viewer role
Analytics Data API The same dimensions and metrics as reports, pulled by a script on a schedule Metered in quota tokens per property, per hour and per day A developer with property access
BigQuery export Raw, unsampled events, one table per day 1 million events a day on standard properties; starts after linking Editor on the property and Owner on the Cloud project

Most small and mid-sized sites need only the first row. The other two are for teams that already work in SQL or scripts, or that need user-level detail.

How do you download a GA4 report as CSV or Google Sheets?

Open the report, click Share this report in the top right, choose Download File, then pick Download PDF, Download CSV or Export to Google Sheets. You need the Viewer role at the property level. A CSV or Sheets export holds up to 100,000 rows, and you cannot export while a report is open in Customize report mode.

A routine that works for most teams:

  1. Raise retention first. In Admin, go to Data settings → Data retention and set event data to 14 months. Google applies a longer setting to data you have already collected, so this extends what you can still explore. It needs the Editor role.
  2. List the reports your team actually opens. Usually traffic acquisition, landing pages, conversions or key events, and e-commerce purchases.
  3. Set the widest date range you have and add the secondary dimensions you use, such as session source / medium. Exports keep only what the table shows.
  4. Download CSV, not PDF, for anything you may want to analyse later. PDF is for reading, CSV is for comparing.
  5. Name files consistently, for example ga4_traffic-acquisition_2025-11_2026-10.csv, and store them in a shared folder your company owns.
  6. Repeat on the first working day of each month while GA4 is still running.

A worked example (hypothetical). Say a store has 400 landing pages and you export the landing-page report by session source / medium, with about 35 source / medium pairs. The worst case is 400 × 35 = 14,000 rows, far under the 100,000-row cap. Add a date dimension by day for a year and the same table could reach 14,000 × 365 ≈ 5.1 million rows, which no single download can hold. The fix is to export one month at a time with a month dimension, or to keep daily detail only for the top pages.

When should you use the GA4 Data API instead?

Use the Data API when you need the same report every week, across many properties, or with more combinations of dimensions than you want to click through. A script can request dimensions and metrics for a date range and write them to a spreadsheet or database, which removes the manual monthly routine.

Two things to plan for. First, the API returns report-style aggregated data, not raw events, so it does not replace BigQuery for user-level analysis. Second, Google meters usage in quota tokens per property, per hour and per day, and bigger queries cost more tokens. The current numbers are on Google’s quota page; check them before you schedule a large backfill, and split long date ranges into monthly requests.

How do you set up the GA4 BigQuery export?

Create or choose a Google Cloud project, enable the BigQuery API, then in GA4 go to Admin → Product links → BigQuery links → Link. Choose the project and a data location, pick which streams and events to include, and select Daily export, Streaming export or both. You need Editor access on the GA4 property and the Owner role on the BigQuery project.

What the export does, per Google’s documentation:

  • Daily export writes all raw, unsampled events from the previous day into one table per day (events_YYYYMMDD). Standard properties can export up to 1 million events a day.
  • Streaming export sends events within minutes into an intraday table. Google calls it best effort, with no completeness guarantee, and notes that it lacks traffic-source attribution for new users. Use daily export as the record of truth.
  • Data starts flowing within 24 hours of linking. Google’s setup page does not describe any backfill, so treat the export as starting on the day you link.
  • Over the limit, it pauses. If a property keeps exceeding 1 million events a day, the daily export is paused and earlier days are not reprocessed. Event filters on the link help you stay under it.

On cost: linking is free and small properties can start in a BigQuery sandbox, but sandbox limits apply, the setup page names a 10 GB limit for free projects, and exports beyond the sandbox are billed. Streaming export costs $0.05 per GB, and Google says 1 GB is roughly 600,000 events.

A worked example (hypothetical). A site that logs 30,000 events a day generates about 900,000 events a month. Using Google’s rule of thumb of 600,000 events per GB, that is about 1.5 GB a month, so streaming it would cost about 1.5 × $0.05 ≈ $0.08 a month. At the same ratio, a 10 GB sandbox would fill after about 10 × 600,000 ÷ 900,000 ≈ 6.7 months. The real constraint for most teams is not the bill. It is having someone who can write SQL against the event tables.

What GA4 data can you not get back?

Some losses are permanent, and knowing them tells you what to export first.

Lost data Why it cannot be recovered
Exploration and funnel-report data older than your retention window Retention deletes event-level data after 2 or 14 months; standard aggregated reports are not affected
Age, gender and interest data older than two months Google always applies a two-month retention to it
Events from before you linked BigQuery The export starts after linking; no backfill is described
Days a BigQuery export missed Google does not re-export days lost to an invalid payment method or a paused export
Data deleted by lowering retention Shorter retention deletes older data in the next monthly process; you have 24 hours to revert the change

The practical rule: aggregated reports survive longest, so CSV exports of them are your safety net. Anything event-level has a clock on it from the day it was collected.

How do you keep measuring after you export?

An export freezes the past. It does not record next month. If the reason you are exporting is a risk to your GA4 access, the second half of the plan is to start collecting data in a tool you control, before you need it.

AdPix is a web analytics platform that replaces Google Analytics 4: realtime, acquisition, engagement, conversion and e-commerce reports, plus attribution, lift testing and marketing mix modelling, with no data sampling and a free plan. It runs alongside Google Analytics without interfering, so you can install it next to GA4 today and compare both for a few weeks. Its data is hosted in Iran and can be exported at any time, which matters if the export problem is what brought you here. The free plan includes 100,000 events a month, 30 days of raw data and 13 months of aggregate data; see AdPix pricing for larger plans. This article does not assume any tool can import your GA4 history, so keep your CSV archive as the record of the years before the switch.

For the wider choice of tool, the Google Analytics alternative guide compares GA4, self-hosted Matomo and AdPix on sampling, retention, hosting and cost. To make sure the new tool records the same traffic sources and conversions as GA4, use the five layers in the website tracking guide and keep your UTM parameters identical in both tools.

Start with the two-minute step: open Admin → Data settings → Data retention, set it to 14 months, then download your traffic acquisition report as CSV for the full range you have.

Measure your site with AdPix today

The free plan covers 100,000 events a month, no credit card. Setup takes under five minutes.

Frequently asked questions

How do I export data from GA4?

Open the report, click Share this report in the top right, choose Download File, and pick PDF, CSV or Export to Google Sheets. You need at least the Viewer role on the property, and each CSV or Sheets file holds up to 100,000 rows.

Can I export historical GA4 data to BigQuery?

Plan as if you cannot. Google's setup page says data starts flowing to BigQuery within 24 hours of linking and describes no backfill of earlier days, so link the property as early as possible and use report downloads for the history before that.

How long does GA4 keep my data?

Standard GA4 properties keep event-level and user-level data for 2 or 14 months, depending on the data retention setting; Analytics 360 can keep it longer. The setting affects explorations and funnel reports, not standard aggregated reports.

Is the GA4 BigQuery export free?

Linking is free and a BigQuery sandbox works for small properties, but sandbox limits apply and exports beyond them are billed. Google charges about $0.05 per GB for streaming export, which it says is roughly 600,000 events.

What is the fastest way to back up GA4 before switching tools?

Raise data retention to 14 months, download your five to ten most-used reports as CSV for the widest date range available, repeat monthly, and run a second analytics tool next to GA4 so new data is recorded somewhere you control.

Sources and methodology

Every statement about how GA4 exports, retention and BigQuery work comes from the Google Analytics Help and Google for Developers pages listed in sources, read on 1 November 2026. Data API quota numbers change, so this article points to Google's quota page instead of quoting them. The store, its traffic and the export sizes in the worked examples are hypothetical and the arithmetic is shown. AdPix facts come from adpix.io.

  1. Google Analytics Help: [GA4] Share & export reports
  2. Google Analytics Help: [GA4] Data retention
  3. Google Analytics Help: [GA4] Set up BigQuery Export
  4. Google Analytics Help: [GA4] BigQuery Export
  5. Google for Developers: Analytics Data API limits and quotas

This article was drafted with AI assistance and reviewed by the AdPix team before publishing. Editorial policy

About the authorFounder, AdPix · Builder of AdPix

Founder of AdPix, the web analytics platform built for Iranian teams. Every article on this blog is reviewed by the founder before it is published.

Web analyticsAttributionCampaign measurement

Analyze your data, decide with more confidence

With AdPix, analyze campaign performance and grow in step with your business needs.