Meta counting purchases twice (pixel and Conversions API)
Meta reports more purchases than you had orders. How deduplication works, and how to check that the pixel and server events share an event ID.
Tracking and reporting Updated 9 November 2026 Checked against Meta’s Help Center
The short answer
When the pixel and the Conversions API both send the same purchase, Meta keeps one only if both events have the same event name and the same event ID. If the IDs are missing or differ, Meta counts the purchase twice, which inflates ROAS and misleads optimisation. Check the deduplication status in Events Manager and make sure both sources send the order ID as the event ID.
This is probably you if
- Meta purchases are higher than shop orders, even with click-only attribution
- ROAS looks too good to be true
- Events Manager shows a deduplication warning
Rather see it in your own account? Free, read-only audit. No sign-up.
Check my accountCauses, most likely first
Work down the list: rule each cause out or mark the one you find
- 1
No event ID
Without an ID, Meta cannot tell that two events are the same purchase.
- How to check
- In Events Manager, open the Purchase event and look at the event ID coverage.
- Fix
- Send the same event_id (usually the order ID) from both the browser and the server.
Is this the cause?
- 2
Two integrations send purchases
An old pasted pixel and a shop app both firing Purchase doubles the count.
- How to check
- Use Meta Pixel Helper on the thank-you page and count Purchase events.
- Fix
- Remove the older code and keep one integration.
Is this the cause?
- 3
Different event names
"Purchase" from the pixel and "purchase" or a custom name from the server are not matched.
- How to check
- Compare the event names from each source in Events Manager.
- Fix
- Use the standard Purchase name in both.
Is this the cause?
Keep it from coming back
- After any tracking change, compare a week of Meta purchases with shop orders.
Did this guide help?
Terms in this guide
Frequently asked questions
Still unsure? Ask us anything. Talk to us
- How does Meta deduplicate events?
- It matches browser and server events by event name and event ID and keeps one when they match within a short window.
Related problems
- Why Meta and Shopify sales don’t match Meta says 40 purchases, Shopify says 28, or the other way round. The reasons the two numbers will never match exactly, and when the gap means something is broken.
- Meta pixel not tracking purchases Orders come in, Meta shows none. How to find where the Purchase event breaks: the pixel, the Conversions API, the checkout or consent.
See what your Meta ads are really doing
Connect Meta in two minutes and see your first check while you watch. 14 days free, no card, and a flat price per ad account after that.