Cross-domain UTM tracking
When a visitor moves from one domain you own to another mid-journey, the original campaign source can be lost unless the UTM values carry across. This page explains how to preserve them and the session caveat that, without care, splits one campaign visit into two attribution records.
Preserve the campaign across the hop
When a journey spans two domains you control — say a marketing site and a separate checkout or app domain — the campaign attribution lives in the UTM values on the first URL. If the link to the second domain does not carry those values forward, the second domain has no idea which campaign sent the visitor.
The fix is to append the same utm_* values to the cross-domain link, or to read them on the first domain and re-attach them when handing off. Keep the values byte-for-byte identical so both domains attribute to the same campaign row.
- Forward the same utm_source / utm_medium / utm_campaign across the hop
- Keep values identical so both domains group them together
- Forward only generic labels — never a user ID or PII
The session caveat
Even with UTM forwarded, analytics tools treat each domain as its own session boundary by default. Without explicit cross-domain configuration, the second domain may record the first domain as a referrer and begin a new session — so one campaign journey shows up as two visits.
Forwarding UTM keeps the campaign label intact, but stitching the two sessions into one journey depends on your analytics tool's cross-domain settings. Treat UTM forwarding and session linking as two separate problems: the first preserves the source, the second preserves the journey.
How it appears in analytics and logs
If UTM values are not forwarded across the domain hop, the second domain often sees the first as a referrer and starts a fresh session, splitting one campaign journey into two records and double-counting or losing the source.
Diagnostic use case
Carry campaign UTM values across a domain boundary so a visit that starts on one site and converts on another stays attributed to the same campaign.
What WebmasterID can help detect
WebmasterID reads utm_* on whichever domain receives them, so forwarding the campaign labels across the hop keeps the visit attributed to one campaign rather than appearing as same-site referral traffic.
Common mistakes
- Linking to a second domain without forwarding the UTM, so the campaign is lost.
- Forwarding mismatched UTM values that fragment the campaign across rows.
- Assuming UTM forwarding alone stitches the two domains into one session.
Privacy and accuracy notes
Forward only the generic utm_* campaign labels across domains. Never use the cross-domain hop as an excuse to pass a user ID or personal data in the URL. The values remain public on both domains.
Related pages
- UTM limits for multi-touch attribution
UTM tags are excellent at labelling a click, but a customer journey has many touches and UTM only stamps the ones that pass through tagged links. This page is an honest account of the last-non-direct caveat and the limits of building multi-touch attribution on UTM alone.
- The internal-link UTM mistake
Tagging links between pages of your own site is one of the most damaging UTM mistakes: a UTM on an internal click can start a new session and overwrite the original campaign source. This page explains the mechanism and what to do instead.
- Attribution analytics
Keep a campaign attributed as a visit crosses domains you own.
Sources and verification notes
- MDN — URL search paramsUTM values are forwarded as ordinary query-string parameters.
- MDN — Referrer-PolicyExplains how the second domain can see the first as a referrer.
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.