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.
