Analytics and Tracking

Cross-Domain Tracking

Also called subdomain tracking

A GA4 and Google tag setting that keeps one visitor's journey joined up when it moves between two or more of your own domains.

Quick facts: Cross-Domain Tracking

Category
Analytics and Tracking
Also called
subdomain tracking
Level
Intermediate
Affects
Channel attribution, self-referrals, session counts, Google Ads conversion matching
Where to see it
GA4 data stream settings, GA4 DebugView, Tag Assistant, traffic acquisition report
In this article4
  1. How cross-domain tracking works
  2. Why it matters
  3. Common mistakes
  4. How to act on it

Cross-domain tracking is a setting that lets analytics treat a visit spread across two or more of your own domains as one journey by one person. Without it, someone who moves from your main website to a booking system or shop on a different domain shows up as two separate visitors, and the second visit is credited to your own site as a self-referral.

How cross-domain tracking works

Analytics recognises a returning browser by an ID stored in a first-party cookie. Cookies belong to one domain, so a cookie set on example.co.uk cannot be read on examplebookings.com. To bridge the gap, GA4 adds a short linker parameter, _gl, to links between the domains you list. The receiving domain reads it, adopts the same client ID and carries on the same session.

In GA4 you set this up in the web data stream settings, under Configure your domains, listing every domain that should be treated as one site. Your GA4 tag, or the same measurement ID through Google Tag Manager, must be installed on all of them. The Google tag uses the same mechanism to carry Google Ads click IDs across, so an ad conversion on the second domain can be matched to the original click.

Subdomains are a different case. GA4 sets its cookie at the top level of your domain by default, so shop.example.co.uk and www.example.co.uk already share it, and no cross-domain setting is needed as long as the same measurement ID runs on both.

Why it matters

Many UK businesses send customers to another domain at the point they convert: a hotel or restaurant booking engine, a course booking system, a separate shop, a quote tool or a hosted checkout. If that hand-off is not tracked, GA4 credits the booking to a referral from your own website instead of the Google Ads click, organic search or email that started it. Your reports then undervalue every channel that brings people in.

It affects paid campaigns too. If the conversion happens on a domain the ad click ID never reaches, Google Ads cannot match the booking to the click, and Smart Bidding works from incomplete data.

Consent adds a UK wrinkle. A visitor’s choice on your main site does not automatically apply on another domain. Each domain needs its own consent mechanism, unless your consent platform can share the choice across domains and your banner tells visitors that it does.

Common mistakes

  • Configuring cross-domain tracking for subdomains that did not need it.
  • Listing the domains in GA4 but never installing the tag on the third-party booking system.
  • Booking widgets inside iframes, which the linker cannot reach without separate iframe tracking work.
  • Confusing it with payment providers. Visitors returning from PayPal or a card provider’s page belong in the unwanted referrals list, not in cross-domain tracking.
  • Redirects on the second domain that strip the _gl parameter before the tag can read it.

How to act on it

Map the journey first. Write down every domain a customer might pass through between landing and converting, and note which ones you or your supplier can add a tag to.

Configure the domains in GA4, then test. Click from your site to the second domain and check that the address carries a _gl parameter, and that DebugView shows one continuous session. Look at your traffic acquisition report a week later: referrals from your own domains should have largely disappeared.

Where a supplier will not let you add tags, ask whether they offer a GA4 or Google Ads integration, or a way to send confirmed bookings back to you so they can be recorded server-side or imported. Fixing these hand-offs is part of the set-up work in my PPC management service, because a booking credited to the wrong source is one your campaigns cannot learn from.

Do and do not

Do

  • List every domain in the conversion journey before configuring
  • Install the same measurement ID on all listed domains
  • Test that the _gl parameter survives to the second domain

Do not

  • Set up cross-domain tracking for subdomains that already share cookies
  • Add payment providers to the cross-domain list
  • Assume consent carries across domains automatically

Questions people ask about this

Do I need cross-domain tracking for a subdomain?

Usually not in GA4. Its cookie is set at the top level of your domain by default, so subdomains share it automatically. Make sure the same measurement ID runs on every subdomain and that nobody has changed the cookie domain setting.

Why does my own domain appear as a referral in GA4?

Usually because a journey crosses into another of your domains without the linker parameter, or because a payment provider sends visitors back to your site. Add your domains to the cross-domain list and payment providers to the unwanted referrals list, then check the report again a week later. Pages missing the tag can cause it too.

Does cookie consent affect cross-domain tracking?

Yes. The linker passes on an identifier that was stored with consent, so if a visitor refused analytics cookies on the first domain there is nothing to carry over, and the second domain must ask for consent in its own right. Expect cross-domain journeys for UK visitors to be less complete than the set-up alone would suggest.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.