# Cross-Domain Tracking

> Tracking a visitor journey that spans two independent websites (Properties) by passing the click ID on cross-domain links, so conversions on the destination domain attribute to the ad click on the source domain.

**Cross-domain tracking** connects a visitor journey that spans two independent websites — two [Properties](/glossary/property) — so a conversion on the destination domain (a hosted checkout, booking engine, or second funnel domain) attributes back to the ad click that landed on the source domain. The click ID travels on cross-domain links via the [atrefid](/glossary/atrefid) parameter, added at click time.

## Where cross-domain tracking settings live

Everything is configured on the **source** Property (where the ad click lands):

- the **destination domains** list;
- the **Sync Conversions** toggle (synced conversions default to Purchase, InitiateCheckout, ViewContent, AddToCart, AddPaymentInfo);
- the UTM AutoTag option for carrying campaign parameters across.

With Sync Conversions ON, cross-domain links carry `atrefid`; with it OFF, they carry the [atclid](/glossary/page-click-id).

## When you do NOT need cross-domain tracking

Subdomains of one root domain (`www.example.com`, `shop.example.com`) share the first-party cookie — they belong in **one Property** with no cross-domain setup. Recommending cross-domain for a same-root-domain funnel is a common support error.

## Cross-domain Properties and deduplication

The recommended setup for two real domains is **two Properties + cross-domain tracking** — do not consolidate into one Property. AnyTrack does **not** deduplicate across Properties: with the same Meta pixel on both, the conversion-side Property sends 100% of its conversions and syncs originated ones back to the source Property, which sends them again — so Events Manager over-counts while Ads Manager still attributes correctly. This is expected behavior, not a bug. Also check for the conversion dead end: a Property that records purchases but has **0 pixels** connected sends nothing anywhere — the fix is cross-domain tracking from the source Property, not connecting the ad platform to the checkout Property (the click never touched it).
