GA4 Referral Exclusion: What It Actually Fixes
Every guide says the referral exclusion list stops GA4 starting a new session. Google's docs never say that. Here's what really costs you the campaign.
Stripe didn't send you that revenue
The campaign was tagged properly. The link carried utm_source=newsletter&utm_medium=email, the click landed, the customer paid. Then you open the acquisition report and there's stripe.com, sitting in your traffic sources with a slice of the month's revenue parked behind it.
Everyone hands you the same fix: add stripe.com to the unwanted referrals list. The fix is right. The reason attached to it is wrong, and I think that's exactly why so many people apply it and then can't work out why their numbers barely moved.
The mechanism everyone repeats and nobody sources
Read four guides on this and you'll meet the same sentence in different clothes. Adding paypal.com or stripe.com to the exclusion list stops GA4 starting a new session when the customer comes back, so the original campaign survives.
Google's documentation doesn't say that. Anywhere.
What it does say, on the unwanted referrals page, is that Analytics "appends the ignore_referrer parameter with a value of true," and that the parameter "indicates to Analytics that the referrer should not be displayed as a traffic source."
Displayed. That's the entire scope of the feature. There's no session behaviour in that document at all.
The claim also needs GA4 to work like Universal Analytics, which it stopped doing years ago. Google's session docs put it in one line: sessions "aren't restarted at midnight or when new campaign parameters are encountered." UA did open a fresh session when a new campaign showed up. GA4 doesn't. If you learned analytics before 2023, that's the belief worth going back and checking, because it quietly poisons a lot of otherwise sane advice.
What actually costs you the campaign
Two things, and neither one is what you were sold.
Your checkout outran the session timeout. The rule is 30 minutes of inactivity, and Google notes there's "no limit to how long a session can last." So a customer who reaches the payment step, goes hunting for a card, gets pulled into a meeting, and confirms 40 minutes later comes back into a session that's genuinely new. That session never saw your newsletter. Its referrer is the gateway. Hiding the referrer changes what GA4 shows you, it doesn't stitch the two halves back together.
Last-non-direct-click keeps paying the gateway. This is the expensive half, and I've never seen a single post in this SERP connect it. Once stripe.com has the credit it holds it for months. Key events run a 90-day lookback window by default, and Google's attribution docs say every model will "exclude direct visits from receiving attribution credit, unless the path to key event consists entirely of direct visits." Your customer comes back next Tuesday by typing your domain. That visit isn't logged as direct and left alone. Direct gets skipped, GA4 walks back up the path looking for something else to credit, and the most recent non-direct thing it finds is the payment gateway you thought you'd dealt with.
Google's own example, which nobody quotes
There's a worked example sitting on that same help page. A user arrives through a referral from Domain B. That session gets credited to Domain B. You add Domain B to the exclusion list. The user then returns directly, by bookmark, and Google's verdict on that second session is flat: "Because of the last-non-direct-click attribution model, this second session is also attributed to Domain B."
The setting isn't retroactive, and the tail is long. Add stripe.com this afternoon and every conversion it already owns stays owned, plus a quarter of follow-on credit. Judge it in November, not on Thursday.
Two more from the same page, both contradicting advice you'll be given elsewhere. Analytics already declines to count a referral when "the referring website matched the same domain of the current page or any of its subdomains," so the popular instruction to add your own subdomains to the list does nothing. And there's a ceiling of 50 unwanted referrals per data stream, which sounds roomy right up until you inherit an account where someone has been feeding it spam domains for two years.
Fix it, then stop relying on it
Add the gateways. Takes five minutes and it does clean up the report.
Then be honest with yourself about what you've bought. You've hidden a symptom in one tool, using a browser-side mechanism that depends on a referrer header surviving a payment flow you don't control, an inactivity clock you can't extend, and a lookback window you didn't choose. That's a lot of other people's machinery holding up your revenue attribution.
The version I'd rather run: record the click when it happens, at the redirect, before the browser gets a vote. A click logged at the edge already knows the campaign, and it doesn't care how long checkout took or which domain the customer bounced through on the way. Then GA4 becomes the engagement story rather than the ledger.
The URL side of this problem is separate and just as annoying, and we covered it in what happens to UTMs at checkout. If your gateway traffic is landing under (direct) rather than as a referral, that's a different mechanism again and it's in the direct traffic post. Same symptom, three causes, and the fix only works if you've correctly identified which one you've got.