Cross-domain measurement
Cross-domain measurement lets GA4 treat a user moving between domains you own as one journey rather than two visitors. It works by passing a linker parameter on outbound links so the destination domain recognises the same session. Without it, each domain starts a fresh session and self-referral noise appears. It is essential when a single funnel spans, say, a marketing site and a separate checkout domain.
How linking works
When cross-domain measurement is configured, GA4 decorates links between your listed domains with a linker parameter carrying session/client context. The receiving domain reads it and continues the same session instead of starting a new one. This is set up in the property's data-stream domain configuration and relies on the domains being ones you own and have listed.
Why it matters and its limits
Without cross-domain measurement, a user going from site-a.com to checkout-b.com counts as two users and two sessions, and each domain shows the other as a self-referral. Configuring it preserves session continuity and attribution. Pair it with the referral-exclusion setting for intermediary hosts you do not own. It only applies to domains you list and control; it is not a way to track users across unrelated third-party sites.
- Linker parameter carries session context between domains
- Configured per data stream for owned, listed domains
- Pairs with referral exclusion for non-owned intermediaries
How it appears in analytics and logs
A jump in sessions and self-referrals between two of your own domains usually means cross-domain measurement is not configured, so the journey is split in two.
Diagnostic use case
Keep one user journey unified across two domains you own (marketing site and checkout) by configuring cross-domain measurement so sessions and attribution carry over.
What WebmasterID can help detect
WebmasterID's first-party approach can unify owned domains without third-party cookies; GA4's linker-based cross-domain model is documented here for comparison.
Common mistakes
- Forgetting to list every owned domain in the funnel.
- Confusing it with tracking across unrelated third-party sites.
- Not pairing it with referral exclusion for payment hosts.
Privacy and accuracy notes
The linker passes a client/session identifier between your own domains, not personal data. Configure it across properties you control and keep it consent-aware; this is educational, not legal advice.
Related pages
- Cross-domain tracking and the linker
Cross-domain tracking keeps a single session intact when a user moves between two domains you own — for example a marketing site and a separate checkout domain. GA4 does this with a linker that appends the client id to outbound links as a URL parameter (_gl), so the destination domain recognises the same user. Without it, the second domain starts a fresh session and attribution breaks.
- The ignore-referrer setting
The ignore-referrer setting (an unwanted-referrals / referral exclusion list in GA4) tells analytics to treat traffic from specified hostnames as not a referral, so it does not start a new session or overwrite source attribution. The classic case is a third-party payment domain: without exclusion, returning shoppers look like they came from the payment provider. It is a configuration that protects session and source integrity.
- The session_start event
The session_start event marks the beginning of a visit. In GA4 it is fired automatically the first time a user is active in a new session, and it underpins every session-scoped metric. Understanding when a session begins — and the timeout that ends it — explains why session counts behave the way they do across midnight, campaigns, and idle periods.
- Attribution analytics
Unify journeys across domains you own.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.