← Back to Blog

GA4’s 14-Month Wall: Why BigQuery Export Is Your Only Year-Over-Year

GA4 deletes event-level data after 14 months at most, and the default is just 2 months, so year-over-year comparisons in Explorations quietly break. The limit hits Exploration and funnel reports, not standard aggregated reports. Because GA4’s BigQuery export does not backfill any history, the only durable fix is to enable export before you need the data, so events flow into BigQuery and persist with no retention limit. For most small WooCommerce stores the cost runs under 5 dollars a month, making BigQuery the practical home for long-term analysis.

The 14-month wall most stores don’t see coming

GA4’s retention ceiling is lower than almost anyone assumes, and the default is lower still.

Here’s the number that surprises people. In GA4, event-level data retention for standard properties maxes out at 14 months, and the default is just 2 months. Plenty of stores that migrated from Universal Analytics never touched the setting, which means their raw data has been evaporating on a two-month rolling window this whole time.

That raw, event-level data is what powers Explorations and funnel reports, the exact tools you reach for when you want to compare this July against last July. When the data behind them expires, the comparison doesn’t error out. It just quietly returns nothing for the older period.

GA4 caps event-level data retention at 14 months for standard properties, and the default setting is just 2 months, so raw data expires long before most annual reviews.

It’s worth remembering how permanent Google is willing to be with analytics data. Universal Analytics stopped processing hits on July 1, 2023, and by July 1, 2024 all historical UA data was permanently deleted. The 14-month wall is the same philosophy applied continuously: old raw data is a cost Google would rather not carry for you.

Why the gap stays hidden until it hurts

Your standard reports keep looking fine, which is exactly what makes the problem sneaky.

This is the part that catches teams off guard. The retention setting doesn’t affect standard aggregated reports. Open your default reports and last year’s revenue is still sitting there, so nothing looks wrong. The data loss only shows up where you do your sharpest thinking: custom Explorations.

Report typeAffected by 14-month limit?Use case
Standard aggregated reportsNo — data persistsHeadline traffic and revenue trends
ExplorationsYes — event data expiresCustom, cohort, and drill-down analysis
Funnel reportsYes — event data expiresCheckout and conversion path analysis

So the way most merchants discover the wall is brutally specific. They build a year-over-year comparison in Explorations and find last year’s event-level data no longer exists. Usually that happens the week before a board meeting or an annual planning session, which is the worst possible moment to learn your history is gone.

You may be interested in: 912 Million Ad Blockers Are Hiding a Third of Your Traffic

The backfill myth that makes waiting fatal

The most dangerous assumption is that you can turn export on later and catch up. You can’t.

Let’s kill a common misconception directly. GA4’s BigQuery export does not backfill historical data. When you link a property to BigQuery, a full export starts from that moment and runs forward. Everything that happened before the link is never captured, ever.

Translation: there’s no “catch-up” button. If you enable export today, your BigQuery history begins today. The 13 months of raw data still sitting in GA4 won’t flow backward into your warehouse, and once it crosses the retention window it’s gone from both places.

GA4’s BigQuery export performs no historical backfill, so data flows only from the link date forward and anything predating the link is never captured.

That single fact reframes the whole decision. The value of BigQuery export isn’t what it does next year; it’s what it protects starting the day you switch it on. Every day you wait is a day of raw data you’re choosing not to keep. For a store doing serious year-over-year work, that’s the difference between analysis and archaeology.

Why BigQuery export is the durable fix

Once events land in your own warehouse, retention stops being Google’s decision.

The mechanics are reassuringly boring, which is what you want from infrastructure. Once GA4 events stream into BigQuery, they persist as long as the table exists, with no retention limit. Your data becomes yours, on your terms, queryable for as many years back as you care to keep it.

Cost is rarely the blocker people fear. Streaming export bills at roughly 0.05 dollars per gigabyte, and for most small e-commerce stores the total is under 5 dollars a month, often under one. The daily batch export caps at a million events, while streaming has no event ceiling, so even busy stores are covered.

There’s a bigger idea here, too. The most durable analytics don’t depend on a single vendor’s retention policy. A server-side event pipeline that writes directly to BigQuery, alongside GA4, means your source of truth lives in a warehouse you control, not a reporting UI that expires your history on a schedule you didn’t set.

That’s the architecture Transmute Engine is built around for WooCommerce: server-side events sent to GA4 and streamed into your own BigQuery in parallel. Your year-over-year history stops being hostage to a 14-month clock.

Key Takeaways

  • The ceiling is 14 months, default 2: GA4 expires raw event data fast, and most migrated stores never changed the setting.
  • The loss hides in Explorations: standard aggregated reports still show old numbers, so the gap only appears in custom year-over-year analysis.
  • There’s no backfill: BigQuery export captures data only from the link date forward, so waiting permanently loses history.
  • BigQuery persists indefinitely: once events stream in they stay as long as the table exists, usually for under 5 dollars a month.
  • Own your source of truth: a server-side pipeline writing to your own warehouse frees your history from a vendor’s retention clock.
How long does GA4 actually keep my data?

For standard properties, event-level data is kept for a maximum of 14 months, and the default is only 2 months until you change it. That raw data powers Explorations and funnel reports. Standard aggregated reports aren’t affected by the setting and persist longer, which is why the limit is easy to miss.

Why do my aggregated reports still show old data if GA4 deletes it?

Because the retention limit applies only to event-level data used in Explorations and funnels. Standard aggregated reports draw on pre-aggregated tables that survive the window. The trap is that any custom, drill-down, or year-over-year analysis you build in Explorations silently loses the older data.

Can I recover GA4 data I’ve already lost to the 14-month limit?

No. Once event-level data passes the retention window it’s gone, and changing the setting doesn’t bring it back. The same is true for BigQuery export: it doesn’t backfill history. That’s exactly why you enable export before you need the data, not after you notice it’s missing.

Is BigQuery export expensive for a small WooCommerce store?

Usually not. Streaming export bills at roughly 0.05 dollars per gigabyte, and BigQuery offers a free sandbox. For most small e-commerce stores the total lands under 5 dollars a month, and often under one. The cost of the missing year of data is almost always higher.

References

If you haven’t linked GA4 to BigQuery yet, today is the cheapest day it will ever be — because tomorrow’s data is the earliest you can still keep.