Skip to main content
Cross-domain checkoutEngagement pattern

Keeping attribution intact when checkout is on another domain

When a visitor moves from your site to a checkout on a different domain, the browser treats it as a new session with a new client ID, so the purchase gets attributed to a referral from your own site instead of to the campaign that paid for it. Cross-domain linking passes the identifiers in the URL and fixes the ordinary case. Server-side fixes the harder one, where the checkout domain isn't yours to instrument at all.

Free30 minutesNo obligation

Cross-domain checkout · what breaks

The situation, as it usually presents — Cross-domain checkout

  1. 01

    Purchases attributed to your own domain as a referral

    The signature symptom.

  2. 02

    Paid campaigns showing traffic and no revenue

    The conversion landed in another bucket.

  3. 03

    A hosted checkout you can't add tags to

    Common with payment providers and booking systems.

Cross-domain checkout · the fix

What changes — Cross-domain checkout

  • Session continuity across the domain hop

    One visitor, one session.

  • Campaign credit landing on the campaign

    Rather than on self-referral.

  • Purchase sourced from the order record

    Where the checkout domain can't be instrumented.

Cross-domain checkout · architecture

Why this pattern keeps recurring — Cross-domain checkout

Domain hops break tracking for reasons that are structural to how browsers scope storage, so no amount of tag configuration inside one domain solves it.

  1. 1

    Cookies are scoped per domain

    The checkout domain cannot read the cookie your site set. It's not a fault; it's the security model.

  2. 2

    A new client ID starts a new session

    So the purchase belongs to a visitor who apparently arrived from your own homepage.

  3. 3

    Redirects eat parameters

    A shortener or a login bounce in the middle of the hop drops the linker silently.

  4. 4

    Some checkouts can't be tagged at all

    Hosted payment pages and booking platforms often allow nothing. Only server-side reaches those.

Cross-domain checkout · diagnose

How the root cause gets found — Cross-domain checkout

In this order. Each step rules out a class of cause, so the last one usually has a single explanation standing.

  1. 01

    Check how much revenue is attributed to self-referral

    The fastest signal.

  2. 02

    Walk the hop and read the URL on arrival

    Is the linker parameter there?

  3. 03

    Follow every redirect in between

    Each one can strip it.

  4. 04

    Confirm referral exclusions are set

    On both properties.

  5. 05

    Establish whether the checkout domain can be tagged

    Determines the fix.

Cross-domain checkout · prove

How the work is proven — Cross-domain checkout

Against the client's own records, not a dashboard turning green.

Source of truth

Backend order records with the original click ID attached

  • Linker parameter confirmed present on arrival at the checkout domain.
  • Self-referral revenue reduced to near zero.
  • A live purchase walked end to end across both domains.
  • Click ID confirmed persisting to the order record where server-side is used.
  • Reconciled over a fully closed window, matched on ID rather than on totals.
  • Payload evidence captured from real transactions and handed over.
  • The same reconciliation repeated 30 days later.

Cross-domain checkout · free audit

What we check in the free audit

  • Check how much revenue is attributed to self-referral
  • Walk the hop and read the URL on arrival
  • Follow every redirect in between
  • Confirm referral exclusions are set
  • Establish whether the checkout domain can be tagged

Checked against

Backend order records with the original click ID attached

Get my free conversion tracking audit

Free30 minutesNo obligation

Cross-domain checkout · when not to buy

Why there are no client numbers on this page — Cross-domain checkout

Most agency case studies lead with a percentage. This one doesn't, and the reason is worth stating.

  • We don't publish client results we can't substantiate. An audit of this site in August 2026 found named testimonials and before-and-after figures that had never been measured — all of it was removed, and nothing has replaced it that isn't checkable.
  • The results that do exist belong to clients under agreement. Publishing anonymised numbers without their sign-off would be the same problem in a thinner disguise.
  • What we will commit to in writing is 95%+ conversion accuracy and 8+ Meta Event Match Quality, reconciled against your own order records. That is checkable by you, which a case study percentage never is.
  • For proof from actual clients, the video testimonials on the site are real people describing their own rebuild. That is the strongest evidence we have, and it isn't a number we wrote.

Cross-domain checkout · what we deliver

What the work involves — Cross-domain checkout

  • Both domains listed in cross-domain configuration

    In every relevant container and property.

  • The linker parameter verified surviving the hop

    In the URL on arrival, not just on departure.

  • Referral exclusions set

    So your own domain stops counting as a source.

  • Server-side fallback where linking can't reach

    Purchase from the order webhook with the original click ID.

Written guarantee

95%+ tracking accuracy

Measured against Backend order records with the original click ID attached. Miss it and we keep working at no cost.

Get my free conversion tracking audit

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

Repairs the fault in your existing browser-side setup and verifies it on a live transaction. Honest about its ceiling: it fixes this instance, not the class.

  • Root cause fixed, not worked around
  • Verified on a live transaction
  • Reconciled against your own records
  • Written handover
Fix what I have

1st-party server-side

Recommended

$800One-time fee · most popular

Removes the class of failure rather than this instance. Money events sent from your order records through a first-party container on your own subdomain, so the browser can no longer lose them.

  • First-party server container on your own subdomain
  • Money events from your order records, not the browser
  • Deduplicated on a shared event ID at every destination
  • First-party cookies beyond Safari's 7-day cap
  • 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Rebuild it server-side

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid channel server-side plus the offline loop, for advertisers whose spend makes an attribution leak more expensive than the build.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop
  • Refunds reversed at every destination
  • Monitoring so the next break surfaces in days
Get the full stack

FAQ

Cross-domain checkout questions, answered

For a checkout you control, usually yes. For a hosted checkout you can't tag, no — the purchase has to come from the order record server-side.

Free · 30 min

Fix attribution across your checkout domain

Free30 minutesNo obligation