Meta Duplicate Purchase Events on Shopify: Checks
Meta shows two purchases for one Shopify order? Audit duplicate pixels, apps, theme code and Pixel-CAPI deduplication before changing campaigns.
Ego Growth Team

A Meta duplicate purchase event Shopify issue does not always mean two browser events fired. It can come from two installations, a browser Pixel and Conversions API event that failed to deduplicate, old checkout code or even two different tools sending Purchase for the same order.
Do not delete tracking at random. First determine whether Meta received two events, attributed two purchases, or simply reports a number that differs from Shopify.
Step 1: confirm the symptom
Collect one real or controlled test order and record:
- Shopify order ID and exact completion time
- Order value and currency
- Meta event timestamps
- Browser, server or both delivery methods
- Event IDs, when visible
- Pixel or dataset receiving the events
- Test Events and Diagnostics messages
Reporting totals can differ because platforms process data differently. Troubleshoot at the event and order level before comparing aggregate dashboards.
Step 2: inventory every Meta implementation
Check all possible senders:
- Facebook and Instagram by Meta sales channel
- A Facebook Pixel or CAPI app
- Shopify Settings > Customer events
- Manual code in theme files
- Old checkout or additional-script implementations
- Tag managers
- Landing-page builders
- Agency or server-side tracking tools
Shopify warns that pixel code left in theme files alongside the official Meta integration can create duplicate or incorrect data.
Step 3: look for the same Pixel ID in multiple places
The same pixel can be initialized by the Meta channel, a custom pixel, an app and theme code. Record the Pixel ID used by each tool. Disable overlapping implementations only after identifying which system will remain responsible.
Step 4: distinguish duplicate installations from failed deduplication
Browser Pixel and server-side CAPI are designed to work together. They may both send Purchase, but Meta needs matching identifiers and event names to recognize that they represent the same action.
Typical deduplication questions include:
- Do browser and server events use the same event name?
- Do they share the intended event ID?
- Are timestamps close enough to represent one purchase?
- Are currency and value consistent?
- Is the event being retried with a new ID?
If you use an app, ask its support team to verify these fields rather than attempting to modify its server event.
Step 5: check thank-you and order-status behavior
Legacy Purchase code can fire when a thank-you or order-status page loads. Refreshing, revisiting or loading the page through another flow may trigger it again if the code lacks an order-level guard.
Shopify's modern customer-events framework is designed to replace many older placements. Review migrations carefully and remove obsolete code only after confirming the new method works.
Step 6: test with the right tools
- Open Shopify Pixel Helper when testing an app or custom pixel.
- Use Meta Test Events for the correct dataset.
- Place one test order through the same path customers use.
- Record every Purchase event and delivery method.
- Repeat once through an alternate payment or checkout path if relevant.

Ego Facebook Pixel Meta Feed includes live diagnostics for verifying event delivery. Its documentation also recommends disabling other pixel integrations when they would duplicate the same events.
Step 7: make one controlled change
Choose one primary implementation. Disable one redundant sender, place another test order and compare. Changing the Meta channel, app, theme code and campaign settings simultaneously destroys the evidence needed to find the cause.
What not to do
- Do not assume all browser-plus-server pairs are duplicates.
- Do not remove the only working Purchase event during a busy campaign.
- Do not compare Meta and Shopify totals without considering attribution and processing.
- Do not paste another Pixel script into the theme as a quick fix.
- Do not send real customer data through screenshots or public support channels.
When an additional diagnostic tool helps
If the current setup is fragmented across manual code and unknown apps, consolidate ownership. For guided Pixel and CAPI setup, event verification, catalog feeds and funnel analytics, evaluate Ego Facebook Pixel Meta Feed on Shopify. Do not run it in parallel with another sender for the same events unless the setup explicitly supports that architecture.
Frequently asked questions
Why do Pixel and CAPI both show Purchase?
They are browser and server delivery methods. Seeing both can be expected if Meta successfully deduplicates them into one action.
Can refreshing the thank-you page cause a duplicate?
Legacy page-based Purchase scripts can refire on reload if not guarded. Check old checkout and theme implementations.
Should I remove the Meta sales channel?
Not automatically. First identify every sender and select the implementation that best meets your requirements.
Sources: Shopify Meta pixel guidance, Shopify pixel migration guidance, and Shopify app pixel testing.
Related app
Try Ego Facebook Pixel
Ego Facebook Pixel lets you apply this strategy directly on your Shopify store.