# Conversion Deduplication

> Preventing a conversion from being counted twice when it reaches an ad platform through more than one channel — which works only when the same system sends both events with a shared event ID.

**Conversion deduplication** stops one real-world conversion from being counted twice when it reaches an ad platform through two channels — typically the browser pixel event and the server-side [Conversion API](/glossary/conversion-api) event. The platform collapses the pair into one conversion **only when both events carry the same event ID**.

## Why conversion deduplication only works within one system

Deduplication works when the **same system** sends both events: AnyTrack assigns a shared event ID to the pixel event and the CAPI event, so the platform merges them. Between two different vendors it structurally cannot work — each vendor generates its own `event_id`, and matching also relies on `external_id` and `fbp`, which likewise diverge. A purchase *may* happen to dedup if both vendors key on the order ID, but that is not guaranteed.

**The rule: one sender per pixel.** Disable every other system sending the same conversions — the store platform's native Meta data sharing, pixel apps, GTM containers, hardcoded pixel snippets, or a second tracking vendor. This is standard practice across the industry, not an AnyTrack limitation — competing vendors document the identical instruction for their own setups.

## Diagnosing double-counting when deduplication fails

Open Meta **Events Manager** and read each event's source: server conversions should show Conversion API as their only server-side origin. A second source visible on the same events is the double-counter.

## The cross-Property deduplication exception

AnyTrack does **not** deduplicate across [Properties](/glossary/property). In a [cross-domain](/glossary/cross-domain-tracking) funnel sharing one Meta pixel, Events Manager over-counts by design (the conversion-side Property sends all conversions; originated ones are also synced back and sent by the source Property) while Ads Manager still attributes correctly. A single pixel shared by two Properties tracking *separate, unrelated* domains does not duplicate — each Property sends only its own site's conversions.
