Cross-domain tracking
Cross-domain tracking keeps a visitor recognized as one session when they move between domains you own, by passing the identifier across the domain boundary.

Cookies don't cross domain boundaries, so the identifier has to travel
explicitly; GA4 does it by appending a _gl linker parameter to
cross-domain links. The classic case is a marketing site handing off to a
separate checkout, booking, or payment domain.
#Subdomains aren't cross-domain
shop.example.com and www.example.com share first-party cookies, so
subdomains need no special handling. The trap is the genuinely separate
domain (example-checkout.com, a hosted payment page), where the session
breaks at the moment of highest intent and nothing errors: the buyer
arrives at checkout as a "new" visitor, the conversion books to Direct or a
self-referral, and ad platforms go blind on your best-converting traffic
while every dashboard stays green.
| Handoff | Cross-domain? | What it needs |
|---|---|---|
www. to shop. (same root domain) | No | Nothing; first-party cookies are shared |
Your site to example-checkout.com | Yes | The identifier passed across (GA4's _gl linker) |
| Your site to a hosted booking or payment page | Yes | The same, where the provider supports it; otherwise expect self-referrals |
In practice: Buron's pixel sets its cookie at the root domain, so one
visitor stays recognized across shop., checkout., and www. with no
linker. A genuinely separate checkout domain still needs the ID passed
across.
Symptoms, confirming it's cross-domain loss, and the fix per stack: Cross-domain tracking: the checkout-domain trap.
Related terms
Cookie lifetime / ITP
Cookie lifetime is how long a cookie actually survives in the browser: Safari's ITP caps script-set cookies at 7 days, sometimes 24 hours, whatever expiry you set.
Identity resolution
Identity resolution (user stitching) connects events and records carrying different identifiers (hashed email, user ID, click ID, device ID) into one person.