Referral traffic spike in GA4: what causes it and how to find the change behind it
A referral traffic spike in GA4 usually comes from your own setup, not from new partners linking to you. The most common causes are a payment gateway or login domain returning users to your site, self-referrals between your own domains, a missing cross-domain setting, and spam. Find the change dated just before the spike, then fix it.
What counts as Referral traffic in GA4?
GA4 puts a session in the Referral channel when its medium is referral, app or link. The rule looks only at the medium, so the source can be any domain: a partner blog, a payment page or one of your own subdomains.
Some visits that start on another site never reach Referral. Visits from social sites match the Organic Social rule because their source is on Google's list of social sites, and search engines match Organic Search. So when Referral jumps, the extra sessions come from domains GA4 does not recognise as search or social. That is a short list to check, and you can see it in one report.
Open Reports › Acquisition › Traffic acquisition, switch the primary dimension to Session source / medium and filter for medium referral. Compare the week of the spike with the week before. The domain that grew is your first clue, and it usually tells you which part of the setup changed. A useful habit is to add an exact definition of each channel to your team notes, so nobody argues about what Referral means in the middle of an incident.
Why does referral traffic suddenly spike in GA4?
Most referral spikes are measurement problems: the same visitors get a new source when they come back from a domain that GA4 does not treat as part of your site. Real growth from a new link is possible, but it is the least common cause.
- Payment gateways. A user pays on the provider's domain and returns to your thank-you page. Without an exclusion, the purchase session is credited to the gateway. Google lists third-party payment processors as the main example of an unwanted referral.
- Login, booking or password tools on another domain. Google gives the example of a password-recovery email sent from a separate domain: the user clicks back and arrives as a referral.
- Self-referrals between your own domains. Your shop moved to a second root domain, or a subdomain uses a different cookie domain. Without cross-domain measurement, GA4 sets new cookies on each domain and counts one person as two users, with your own domain as the source.
- Redirects that strip the linker. Cross-domain measurement passes the user and session IDs in the
_glURL parameter. A redirect that drops query strings removes it, and the visit looks like a referral. - Spam and bots. GA4 excludes known bots and spiders automatically, but only to the extent possible, and you cannot see how much it removed. Spam domains that slip through show sessions with no engagement.
- A real new link. A press article, a newsletter mention or a new affiliate. These sessions land on the linked page and behave like normal visitors.
Referral sessions per dayWed: ×3
Read also: Why did my ROAS drop? How to find the change behind a falling ROAS · How to explain a conversion drop to a client
How do I check whether the referral spike is real visitors?
Look at where the extra sessions land and what they do. Real visitors from a new link land on the page that was linked and behave like your other traffic. Sessions created by your own setup land on checkout, thank-you or login pages, and the extra users often match a drop in another channel.
- Check the landing page. Add Landing page + query string as a secondary dimension. A gateway spike lands on the order confirmation page; a self-referral lands wherever users cross domains.
- Compare with the other channels. If Referral rose and Direct, Paid Search or Organic Search fell by about the same number of key events, sessions are being relabelled, not added.
- Check engagement. Spam sessions have no engaged sessions, a few seconds of engagement time and often a single hostname you do not own.
- Check the referring domain. If it is your own domain, a subdomain or a tool you use (payments, booking, help desk, login), the cause is in your setup.
If the sessions are relabelled, your conversions did not grow. The same purchases moved to a new source, and any report that credits channels is now wrong for the days of the spike. The same logic applies to a direct traffic spike in GA4, where visits lose their source instead of getting a wrong one.
How do I isolate which change caused the referral spike?
Put every change from the days before the spike on one timeline, then match each one to the referring domain you found. A referral spike almost always follows a change to checkout, domains, redirects, tags or GA4 settings, so those changes matter more than bid or budget edits.
- Find the referring domain
- Check the landing pages
- Line up the changes
- Fix one and recheck
List the changes from the week before the first bad day: a new payment provider, a new booking or login tool, a domain or subdomain move, new redirect rules, Google Tag Manager versions, and edits to the GA4 data stream, such as the unwanted-referrals list or the cross-domain domains. A new payment provider that went live the day before its domain started sending purchases is close to proof. A bid change in Google Ads can move the volume of paid traffic, but it cannot turn paid visits into referrals.
With every change on one timeline, you would see that the checkout moved to a new payment domain the evening before Referral tripled, while Monday's bid change had nothing to do with it. In Changeline, Google Ads edits are imported automatically and the team logs site, checkout, tag and GA4 changes with date, owner and reason, so the list is ready when the question comes. Keep the same dates as GA4 annotations if your team reads reports there.
Example: On Wednesday an ecommerce client asks why Referral sessions tripled overnight and why Paid Search lost purchases in the GA4 report. The agency lines up the changes: on Monday the bid strategy changed in Google Ads, on Tuesday the shop moved its checkout to a new payment provider and a new GTM version was published. The new referral sessions all come from the provider's domain and land on the order confirmation page. The analyst adds the domain to the unwanted referrals list, and from Thursday purchases go back to their real channels. Names and numbers are illustrative.
- MonGoogle AdsBid strategy changed
- TueWebsiteNew payment provider at checkout
- TueGTMVersion 58 published
- WedReferral sessions ×3
How do I fix each cause of a referral spike?
Fix the cause in GA4 or on the site, then log the fix with its date. The fix only applies from the moment you save it: sessions already credited to the wrong source stay that way, and Google notes that a user who arrived from a domain before you excluded it can still show up as a referral later through last non-direct click attribution.
| Cause | Fix |
|---|---|
| Payment gateway, booking or login domain | Add the domain to the unwanted referrals list of the data stream. |
| Second root domain you own | Set up cross-domain measurement with the same Google tag ID on every domain. |
| Subdomain self-referrals | Tag every page, use the same cookie domain for all subdomains, or add the subdomain to the exclusion list. |
Redirect strips _gl | Keep query parameters on the redirect and check that the destination URL still carries _gl. |
| Spam domain | Leave it out of your analysis and note it; the unwanted referrals list is meant for domains real users pass through, like payment processors. |
To list an unwanted referral, go to Admin › Data collection and modification › Data streams › Web, open the stream, click Configure tag settings, then Show all and List unwanted referrals. Add a condition per domain and click Save. You need the Editor role or higher, and each data stream accepts up to 50 unwanted referrals. GA4 then adds ignore_referrer=true to matching events.
Cross-domain measurement sits in the same place under Configure your domains, with up to 100 conditions. To check it, click a link to the other domain and confirm the URL contains the _gl parameter. If it is missing, Google points to redirects that strip it and scripts that navigate with JavaScript.
How do I stop referral spikes from coming back?
Treat every change to checkout, domains, redirects and tags as a tracking change, and check Referral on the day it ships. Most repeat spikes come from a new tool that nobody added to the exclusion list.
Checklist
- Add every new payment, booking or login domain to unwanted referrals
- Test the _gl parameter after any domain or redirect change
- Check Session source / medium the day after a release
- Log each checkout, tag and GA4 setting change with a date
- Note the date of each fix so reports before it are read with care
Keep these entries in your marketing change log, next to campaign edits, so the next spike starts with a list instead of a guess. The same record helps when a client asks about unassigned traffic in GA4 or why channel numbers changed in a monthly report.
Next time a metric drops, the suspects are already listed
Changeline puts your team’s changes, imported Google Ads changes and site, tracking and CRM edits on one timeline per client.
Free plan: 1 project, 2 editors, 15 days of history. No card.
FAQ
What is a self-referral in GA4?
A self-referral is a session where your own domain or subdomain appears as the referrer. GA4 does not count your own domain as a new referrer by default, but self-referrals still appear when users cross root domains without cross-domain measurement or move between subdomains that use different cookie domains.
Should I add my payment gateway to unwanted referrals in GA4?
Yes, if users return from the gateway to your site. Otherwise the purchase session is credited to the gateway's domain instead of the channel that brought the buyer. Google lists third-party payment processors as the main use of the unwanted referrals list.
Does the unwanted referrals list fix past data?
No. It applies from the moment you save it. Sessions already credited to the domain keep that source, and a user who first arrived from it may still be attributed to it later. Note the date of the fix so reports that span it are read with care.
How many unwanted referrals can I add in GA4?
Up to 50 per web data stream. Conditions use OR logic, so a session is treated as an unwanted referral when it matches any of them. You need the Editor role or higher on the property to change the list.
Can I see how much bot traffic GA4 removed?
No. GA4 excludes traffic from known bots and spiders automatically, using Google research and the IAB International Spiders and Bots List. You cannot turn this off and you cannot see how much traffic was excluded, so spam that gets through has to be handled in reports.