TL;DR: GA4 defaults to keeping raw event data for two months, a fraction of Universal Analytics’ old twenty six, and almost no one changes it. Changing it later doesn’t bring back what’s already gone. Past that window, what disappears isn’t just history: it’s your own ability to check what an automated bidding system did and why, and I’m upfront about which half of that argument I can prove and which half I can’t.
I said something in a leadership meeting in July that I didn’t clock as a content idea until later. We were talking about something else entirely, and I heard myself ask, “How are we ever going to have clean data if half of it isn’t doing any of it?” A minute after that, the sharper version came out of my own mouth: “They cut out the key events.”
Now, I know both lines sounded like I had found something that had broken. What I was actually describing was a setting.
Two months, and nobody picked it
Somewhere in every GA4 property is a page called Data Retention, under Admin, under Data Collections and Modifications, that almost nobody opens after the day the property is created. It holds one dropdown with two choices for anyone not paying for the enterprise tier: two months, or fourteen. The properties Hop Skip Media inherits from other paid search agencies are almost always still sitting on two, because two is what Google defaults to.

Universal Analytics, the version GA4 replaced, kept data far longer, and the accounts we’ve come across have never had a reason to notice the difference.
To be fair to the setting, this isn’t something that should cause you to go into a downward spiral of panic and anxiety. The standard reports, the ones with users, sessions, conversions by channel, get aggregated the day they happen and stay available for as long as the property exists. TO BE CLEAR: nobody is quietly deleting your traffic history.
What disappears on the two-month clock is the layer underneath those aggregates: raw, user-level and event-level data, the kind Explore and funnel reports pull from when someone builds a custom segment or a comparison the standard reports don’t already show. So, if you’re looking to compare this year’s converters against last year’s in a report outside of the pre-built one, what you’ll find is that there’s nothing left to compare against due to the data retention window. The totals will survive, but the texture does not.
It forgets in one direction
A second setting directly below it decides what stays in the record and what doesn’t. “Reset user data on new activity” restarts the retention clock for a user every time they come back and do anything at all, though only for that user-level record. This means that a customer who orders every month never ages out, but someone who bought once in February and never came back is removed from the list by April.

This one took me a few seconds to fully understand, so I want to ensure we go over it thoroughly. Say it’s autumn and you’re ready to look at overall spring performance so you can start planning for next year. You ask some pretty obvious questions: what was different about the people who bought once last spring and never came back? Where did they come from, what did they look at, what did we do to reach them? Those are great questions, and they actually change what you’d do next, which is great. BUT they’re also unanswerable, because GA4 dropped those specific people, while every loyal monthly buyer is still sitting there in full.
So the account doesn’t just forget; it forgets selectively, and always in the same direction. Whatever sample you have left is made up of people who already worked out.
You can lengthen it; you can’t undo it
Unfortunately, none of this is retroactive and changing the settings from two months to fourteen today won’t bring data back. However, changing the retention length gives you a longer runway for whatever hasn’t been deleted yet, plus everything collected from today forward. It’s not a restored history, but it’s a slow path towards a clearer view of what’s happening on your website.
The other half: what the event doesn’t carry
What’s currently true and Google-documented is: on the Google Ads side, the documentation says the value of a key event can be imported from Analytics, or set as a default in Google Ads, or not used at all. On the GA4 side, when a required parameter is missing or invalid, the event still registers with the correct count, but that value doesn’t travel with it. The conversion arrives, but the number attached to it doesn’t.
Take a lead form. Value and currency here aren’t fields on the form; they’re parameters attached to the event when it fires, set by whoever built the tracking. Most implementations skip them, because setting them means answering a question nobody wants to answer (or do the math for): what is one contact form submission worth, and in what currency?
Skipping on adding value and currency doesn’t break the conversion; the lead still imports and still counts. There are plenty of accounts that run somewhere in the middle and that’s totally fine… though doing the extra work would help your digital ads agency 🫣
The loss here is a bit more narrow in that if you choose “not at all” by accident rather than on purpose, then point Target ROAS at it, what happens is that the strategy starts optimizing toward a number nobody ever supplied. Yes, the conversions are there but the system is optimizing for a phantom target.
None of this throws an error. GA4 looks healthy, Google Ads shows conversions, and the only thing missing is the number that tells the bidding what any of them were worth… which is one of the quieter ways Signal Drift shows up in an account
Target CPA, Target ROAS, and Maximize Conversions all bid off whatever conversions they’re fed, whether those arrive through a GA4 import or straight from a tag on your own site. Which road your account uses is worth knowing before any of this applies to you. It seems obvious that a thinner, shorter, more selectively defined signal has to cost an automated bidding system something. My own logic has me believing that it would affect performance, but I can’t find anything to prove it.
What I can’t prove
What I couldn’t find anywhere, not in Google’s own documentation and not in anything written about it, is a plain answer to the one question that actually decides how much any of this matters: does the two month wall on raw event data reach into the conversions Google Ads has already imported and is actively bidding against, or does it only wall off the account’s own ability to go back into Explore later and check what the model did and why? Those are two different claims. One says the retention setting is quietly starving the algorithm in real time and the other says it’s quietly blinding the advertiser to what the algorithm already did. I don’t have a source that settles which one is true.
What I can say is which one it feels like from the outside, watching this happen across other people’s accounts, and it feels like the second one.
Because what actually goes missing after two months was never really old data in the spreadsheet sense, numbers nobody was going to look at again anyway. It’s the account’s memory of itself: the specific record of who converted, when, and under what conditions, that anyone would need if they ever had to go back and ask why an automated system did what it did. Google keeps the total. It just quietly stops keeping the story.
Most accounts will never be asked to produce that story. The ones that do get asked are usually the ones that needed it most, and by then, two months is a generous estimate of how much of it is still there to find.

