Back to the Tracly blog

Conversion Tracking

Duplicate Conversion Tracking: How to Find and Prevent It

Find duplicate conversion events, define stable order identifiers, test notification retries, and reconcile campaign reporting with real business outcomes.

Tracly Team · October 2, 2026 · 4 min read

Direct answer

Prevent duplicate conversions by assigning each real outcome a stable identifier and checking how every receiving system handles repeated deliveries. Reuse that identifier for retries of the same event, separate genuinely different outcomes, and verify the resulting count against your order or lead records.

An order confirmation page can reload, a payment notification can retry, and two integrations can report the same sale. Without a clear event identity, one customer action can become several conversions and make a campaign appear more effective than it is.

Same purchaseApproach oneApproach two
Same purchaseNew identifier on every deliveryStable identifier across repeated deliveries
Counting checkEvery notification counts as a saleCount distinct verified business outcomes
Different eventsLead and purchase share an ambiguous identityEvent type and business identifier define the outcome

Confirm duplication at the record level

Start with a few orders that appear more than once. Compare their order reference, event type, amount, event time, and delivery source. Two purchases by one person are legitimate separate outcomes; two notifications about one purchase are not two sales. Totals alone cannot establish which situation you have.

Map all paths that report the outcome, including browser tags, checkout integrations, imported records, and server notifications. A duplicate may originate upstream or appear only in a receiving report. Keep the original records while investigating so the correction can be audited instead of silently rewriting campaign history.

Define identity before adjusting tags

For purchases, use a non-empty order reference that is unique to the transaction and contains no customer-identifying information. Keep it stable when that purchase is delivered again. For leads or later qualification events, define an event-specific identity so a form submission and a qualified lead are not accidentally collapsed into one stage.

Google Analytics documents purchase deduplication using transaction IDs for web streams. Its rules do not establish how a different platform counts events, and they do not apply to app streams in the same way. Check each destination's documented requirements rather than assuming that sending any field named ID will prevent duplication everywhere.

  • Keep one identifier per real outcome
  • Reuse it for retries of that outcome
  • Reject empty identifiers and fixed placeholders

Rehearse the paths that repeat deliveries

Complete one controlled order, reload its confirmation page, and replay a notification through your integration's supported test process. Compare event records after each step. In an illustrative test, one $80 order delivered three times should still represent one $80 purchase in a report configured to count unique purchases.

Then create a second order and verify it is counted separately. This catches the opposite problem: using a fixed ID can hide legitimate sales. If browser and server paths both report purchases, test them together using the receiver's required identity rules. Successful tests of each path in isolation do not prove their combined count is correct.

Reconcile before trusting performance changes

Compare distinct paid orders with the conversion records for a matched period and event definition. Keep refunds, test orders, and later upsells explicitly classified. If duplication inflated revenue, annotate the affected dates and explain whether historical reports were corrected or only future collection was fixed.

Use Tracly's configured conversion and revenue reporting as one part of that reconciliation, alongside the authoritative order system. Retest the campaign journey after the upstream fix. A lower conversion total after correction may mean measurement improved; it does not by itself mean the campaign suddenly lost customers.

Frequently asked questions

Does a repeated notification always create a duplicate conversion?

No. A receiving system may recognize retries when they carry the required stable identifier. Verify the documented behavior and test the resulting record count.

Can I use an email address as the transaction ID?

Use a transaction-specific reference that does not identify the customer. An email address also cannot distinguish separate purchases by the same person.

Should I remove browser tracking if I also send server events?

First map both paths and check the receiver's rules. Coordinated browser and server events may be appropriate, but their identities and counting behavior need a combined test.

Make campaign decisions with clearer data

Tracly brings attribution, traffic quality, testing, and performance signals into one practical workflow.

Explore Tracly

Related articles