Duplicates and de-duplication
When a repeated postback becomes a duplicate, an extra conversion or an update, and how to configure it.
Last updated 3 min read
On this page
Advertiser systems retry, pixels fire twice when a buyer reloads the thank-you page, and some platforms send every event more than once. TrackCrown removes duplicates before any money is counted or any partner postback fires.
The two de-duplication keys#
A request that hits either key is not a new conversion. What happens next depends on whether it changes anything:
Duplicates are kept so you can see every attempt (Reports → Conversions, filter status Rejected). They count in the Rejected report metric, never in Conversions, revenue or payout, and never fire postbacks. A duplicate can be rejected but never approved from the panel or the API.
One conversion per click#
One conversion per click (offer → Tracking tab, on by default) stores repeats for the same click and
event as duplicates. Different events of the same click are separate conversions: a lead and a sale from one
click both count.
To accept several conversions of one event per click — recurring deposits, renewals, multiple purchases:
- Open the offer → Events tab.
- Edit the event and turn on Allow multiple per click ("Every postback for the same click counts").
- Save.
Or turn One conversion per click off for the whole offer.
Extra conversions of such an event are stored with status reason multiple (they are normal conversions with their
own status; multiple is a marker). If an extra conversion is rejected, the cause (for example cap_exceeded) is
shown instead.
Order IDs#
The order ID is unique per offer: ORDER-1001 on offer A and ORDER-1001 on offer B are two conversions. Send it
on every postback and pixel when the advertiser has one:
https://trackcrown.com/pb? click_id={click_id} &amount={amount} &txid={order_id} &token=YOUR_TOKEN<img src="https://trackcrown.com/px?offer_id=SHOP01&amount=49.90&txid=ORDER-1001" width="1" height="1" alt="">The order ID is also how the advertiser later cancels or re-prices a conversion — see Reversals.
Pixels and duplicates#
Pixels cannot update conversions (they are unauthenticated). A pixel that repeats the click + event (on a one-per-click event) or the order ID is always stored as a duplicate, even with a different amount or status.
Concurrent requests#
The duplicate check runs before the conversion is stored, and unique database indexes are the final guard: when two
identical postbacks arrive at the same moment, exactly one is stored as the conversion and the other becomes the
duplicate (or the extra multiple conversion). Cap counters reserved for the losing request are released.
Duplicate clicks are different#
Duplicate clicks (the same visitor clicking twice) are handled on the click side by the offer's unique-click settings and do not affect conversion de-duplication. Unique clicks are the first click per offer, partner, IP and user agent within 24 hours (the Unique clicks report metric).
Checklist#
- Repeat postbacks show
duplicatein Reports → Postback log → Received? Expected: the advertiser retried. - A second legitimate sale from the same click became
duplicate? Turn on Allow multiple per click on the event, and send distinct order IDs. - The advertiser sends a cancellation as a second postback? It is applied as an update only when it is an S2S
postback with
status=rejected(or new amounts) and matches bytxid,conversion_idor click + event.