A Shopify purchase event can fire twice when more than one integration reports the same order, or when a confirmation action is triggered again. The fastest diagnosis is to trace one controlled order through every sending system and compare event identifiers, timestamps, and payloads.

Check the common sources of duplication
Typical causes include a native channel integration and a manually added tag both sending purchase, an app installed alongside an older custom pixel, the same tag loaded through multiple paths, or a page-based trigger that runs again when an order-status page is revisited. Browser and server events can also overlap if the receiving platform’s deduplication requirements are not satisfied.
Do not assume two reports with the same order count are duplicates; different attribution windows and reporting models can also create mismatches. First establish whether the same order generated multiple raw events.
Trace one test order
- Record the test order ID and completion time.
- Inspect the destination event stream for every purchase received.
- Compare transaction IDs, event IDs, values, currencies, and source labels.
- Repeat by reloading or reopening the confirmation page.
If duplicates carry the same order reference, list every integration that could have sent them. Disable or adjust one source at a time in a controlled environment, then run the same test again. Keep a note of expected behavior before making a change.
Use destination-specific deduplication
Some platforms can deduplicate browser and server conversions, but each has its own matching rules. Follow the destination’s current requirements for event IDs or transaction identifiers; do not assume that Shopify’s order number alone is enough. Deduplication is a safeguard, not a substitute for removing redundant tags.
Prevent the issue from returning
Maintain one event owner per destination and a list of active pixels, apps, and tags. Recheck purchase after theme, checkout, app, or consent changes. A small recurring test is especially valuable after migrations: verify a single order end to end, then reconcile several real orders before relying on campaign conversion totals.
Related reading: Shopify GA4 Tracking: Essential Events and a Reliable QA Process · Shopify Pixels vs. Google Tag Manager: What Each Method Can Track.
How did this article land?
Choose one reaction. You can change it anytime.
