At some point you’ll have a situation where a domain keeps showing up in your referral traffic in GA4 and you know it shouldn’t be there. Maybe it’s a payment processor, a support platform like Zendesk, or a booking form living on a completely different domain. And the question becomes: do I set up cross-domain tracking, or do I add this to the unwanted referral list?
This question comes up a lot and the confusion makes sense because both features deal with how Google Analytics handles traffic between domains. But they do very different things, and picking the wrong one can mess up your attribution data.
Let’s walk through how GA4 handles subdomains, what cross-domain tracking and referral exclusions each actually do, and what happens to your traffic source data in each scenario.
Cross-Domain Tracking vs. Referral Exclusions: What's the Actual Difference?
Cross-domain tracking is for when you have the same Google Analytics property installed on two or more separate domains. It stitches sessions together across those domains so a single user journey doesn’t get split into two separate sessions. For example, your main site sends users to a separate checkout domain and then back to your main site. You have Google Analytics installed on both, and cross-domain tracking ensures that the session isn’t broken when a user moves from one site to the other and back again.
Referral exclusions (what GA4 calls “unwanted referrals”) are for when a domain is showing up as a referral source but you can’t or don’t need to install your Google Analytics property on it. You’re telling Google Analytics: “When you see traffic from this domain, don’t count it as a referral source.”
The core decision comes down to one question: Can you add your Google Analytics property to the other domain(s), and do you want to track user behavior on that domain as part of the same property? If yes to both, cross-domain tracking is your path. If no to either, a referral exclusion is what you’re looking for.
Here’s a quick comparison:
| Cross-Domain Tracking | Referral Exclusion | |
|---|---|---|
| Use when... | Same Google Analytics property on two or more domains | Can't or don't need Google Analytics on the other domain(s) |
| What it does | Stitches sessions across domains into one continuous journey | Tells Google Analytics to ignore the referral so it doesn't change the attribution source |
| Requires | Google Analytics installed on all domains | A setting in Google Analytics |
| Attribution effect | Preserves full user journey as one session | Scenario-dependent (more on this below) |
I often see people reach for cross-domain tracking in Google Analytics when what they actually need is a referral exclusion. If you can’t install Google Analytics on the other domain, cross-domain tracking isn’t even an option regardless of what you’d prefer.
Do You Even Need Cross-Domain Tracking? How Google Analytics Handles Subdomains
Before we get into the referral exclusion decision, there’s a more fundamental point of confusion that I see come up often: people think subdomains and different domains are the same thing from a tracking perspective. They’re not, and GA4 handles them differently.
GA4 tracks subdomains automatically. If your main site is example.com and you have support.example.com, blog.example.com, or shop.example.com, Google Analytics’ default cookie behavior already handles all of these. They share the same root domain (example.com), so Google Analytics treats them as one site. You don’t need cross-domain tracking for subdomains.
One thing to double-check: this works as long as the same Measurement ID is installed on all your subdomains. If a subdomain is missing your GA4 tag, you won’t get data from it, and if it has a different Measurement ID, you could end up with self-referral issues. It’s worth verifying this if you’re seeing your own domain show up as a referral in Google Analytics. You can check that using our free GA4 audit tool.
Cross-domain tracking is for completely separate domains — example.com and examplecheckout.com. These don’t share a root domain and thus don’t share cookies, so GA4 can’t connect sessions without explicit cross-domain configuration.
What Happens to Your Attribution Data When You Exclude a Referral
Let’s walk through the attribution implications of referral exclusions with two specific user journey scenarios.
Scenario 1: The journey starts on the excluded domain
You’ve added excludeddomain.com to your referral exclusion list. A user begins a Direct visit (by typing in the URL directly) at excludeddomain.com and then clicks through to yoursite.com. Since Google Analytics is told to ignore the referral, and there’s no prior traffic source to fall back on (the user started on that external domain), this visit gets attributed to Direct, where previously it would have shown up as a referral.
For some situations this is totally fine but it’s worth being aware of, especially if a meaningful amount of traffic genuinely originates from that domain. If that is the case, instead of adding a referral exclusion, perhaps you need to create a custom channel group for that referral traffic.
Scenario 2: The journey passes through the excluded domain and returns
A user arrives at yoursite.com via Google organic, then gets redirected to excludeddomain.com (for payment, support, authentication, etc.), and then returns to yoursite.com. Since Google Analytics ignores the referral from the excluded domain, the session retains the original traffic source, which is Google organic in this example.
This is usually the scenario you’re actually trying to fix. And it works exactly as intended.
If most of your user journeys follow Scenario 2, and this is very common with payment processors, support platforms, and booking sites, the referral exclusion does what you want. But if a significant chunk of traffic actually originates from that domain (Scenario 1), you’ll see an uptick in Direct traffic and less referral traffic as a result.
One more thing to keep in mind: changes to the unwanted referral list aren’t retroactive. They only affect data going forward. So don’t worry if your historical reports still show the old referral data.
Common Scenarios: Which One Do You Need?
Your circumstances might be different from the examples above, so let’s walk through a few common situations I see and how I’d approach each one.
Payment processors (Stripe, PayPal, Square): Referral exclusion if you can’t put Google Analytics on the payment processing domain. In this case, users are starting on your site, going to the payment processor, and then returning to your site after completing payment. You want to preserve the original traffic source such as the ad campaign or organic search visit that brought them there in the first place. In this case, you’ll add the payment processor domain as a referral exclusion.
Support platforms (Zendesk, Freshdesk, Intercom on their domain): A custom channel actually makes the most sense here, assuming you can’t add Google Analytics to their platform. A custom channels stops the legitimate traffic from these domains from getting lost in your referral data.
Separate domains you own: Cross-domain tracking. You can install Google Analytics on all the relevant domains, and you want to see the full user journey as one session. This is the scenario cross-domain tracking was designed for.
Third-party widgets or embedded tools (scheduling tools, survey platforms): Referral exclusion, if the domain shows up as a referral and you can’t add Google Analytics to it.
The first question is always: can you add Google Analytics to the other domain? If the answer is no, cross-domain tracking isn’t an option and a referral exclusion might be your best path forward.
If you’re tracking campaigns with UTM parameters, getting referral exclusions right is especially important because misattributed referrals can overwrite UTM data when sessions restart or when a visitor comes back later via Direct. GA4 always wants to use the last non-direct source so if someone came back to your site via a referral domain, then visited the next day via Direct, that Direct visit would actually be attributed to the referral domain. It’s odd behavior but that’s how it (currently) works in GA4.
How to Set Up a Referral Exclusion in GA4
To set up a referral exclusion, called “list unwanted referrals” in GA4:
- Head to Admin → Data collection and modification → Data streams → select your web stream → Configure tag settings → Show all → List unwanted referrals.
- From here, you’ll add the domain you want to exclude. There are several match type options: contains, exactly matches, starts with, ends with, and matches regex. For most situations, “matches” with the domain name works well.
How to Set Up Cross-Domain Tracking in GA4
To set up cross-domain tracking in GA4:
- Head to Admin → Data streams → select your web stream → Configure tag settings → Configure your domains.
- Now add in the domains that you want to include in cross-domain tracking. Similar to referral exclusions, there are several match type options: contains, exactly matches, starts with, ends with, and matches regex.
As an example, here is the cross-domain tracking configuration for Analytics Playbook:
![]()
I’ve set this up because we have a few public dashboards (such as our audit dashboard) and we use the same GA4 property on those dashboards as we have on our main website. I’m also using contains for analyticsplaybook.com because we also have a community hosted on a subdomain and I want to make sure that doesn’t get missed if someone goes from the community to a Looker Studio dashboard or vice-versa. This might not be necessary, considering my earlier comments about how GA4 handles subdomains but I’m erring on the side of caution.
Frequently Asked Questions
No. GA4’s default cookie behavior handles subdomains automatically, as long as the same Measurement ID is installed on all of them. Cross-domain tracking is for completely separate domains, not for subdomains of the same root domain.
GA4 stops attributing traffic from that domain as a referral session. If the user journey started on that excluded domain and then came to your site, the visit would be attributed to Direct. If the user was already on your site and passed through the excluded domain before returning, the original traffic source is preserved.
Yes, but for different domains. You’d use cross-domain tracking for domains where your GA4 property is installed, and referral exclusions for domains where it isn’t or can’t be. You wouldn’t use both for the same domain as that would be conflicting instructions.
This is called a self-referral, and it usually happens when traffic passes through a subdomain or third-party domain that isn’t properly configured. First, check whether it’s a subdomain issue by verifying that the same Measurement ID is across all your subdomains. If it’s a separate domain, a referral exclusion or cross-domain tracking (depending on whether you have GA4 on that domain) is the fix. Running a GA4 audit can help you catch these kinds of issues.
What to Do Next
I’d recommend checking my GA4 audit dashboard and go to the Overall Data Quality page, then check the “Do you have-self referral issues” table. You can filter this by entering in your domain name and seeing what comes up. Based on what you see, you may need a referral exclusion, cross-domain tracking, or even just confirming that you have the right GA4 Measurement ID installed.