Short answer
Start from the store's real orders and check every ad platform against them. For an Indian D2C eyewear brand on Shopify, that showed Meta receiving 114 of 189 orders and Google Ads counting one order up to four times. On the first full day after the fix, Meta received 219 of 219 orders and Google kept one main purchase counter.
Free tool for this
The brand and the problem
An Indian D2C eyewear brand on Shopify, selling through a one-click checkout app, with close to half its orders on cash on delivery. It spent daily on Meta and Google Ads, and its own numbers did not agree with either.
On the day we started, Shopify recorded 189 orders and Meta received 114 of them from the store: 60%. A purchase reached Meta only when the buyer finished on the thank you page, so cash on delivery buyers who left early were lost. The server events that existed were still in Meta's test mode, so they did not count for ad delivery. An old domain was still sending events into the new pixel. Just 1.3% of Purchase events carried the buyer's email.
Days before we were called in, the brand's main pixel had been placed in Meta's health and wellness category. Purchases stopped being recorded overnight while the checkout kept taking orders, spend was cut, and orders fell with it.
Google had the opposite fault. Four purchase counters were all set as main, so the same order could be counted up to four times. On one day that came to 59 counted conversions against 33 on the single counter that should have been main.
What we did
We did not pause or delete anything that fired without the owner's approval. Every change went live as a numbered version with a one click way back, and we compared Shopify orders against Meta every half hour while it rolled out.
Meta: every order is now sent to Meta from the store the moment Shopify records it, with the buyer's details, and browser and server share one order id so Meta counts each order once. Test mode was switched off on all eight server tags and the old domain was blocked.
Privacy safeguard: health related words and search terms are removed from what the store sends Meta, using a word list the brand approved, so the new pixel does not repeat the old one's flag.
Google Ads: one purchase counter stays main and the others observe only. A new order based counter records each order that came from a Google click. Automatic bid and target changes the owner had not chosen were switched off.
Analytics and tag manager: three Analytics properties were named so the team knows which one to use, with nothing deleted. 247 unused tags, triggers and variables were removed from the website container after the owner approved the list.
We are not publishing the exact method. It is what clients pay for. If you want to know whether your store has the same gaps, the free check at the end of this page is where to start.
Try it now: Shopify Tracking Check →
The result
On the first full day after the fix, Meta received 219 of 219 Shopify orders from the store. The browser alone, the thank you page, would have caught 123. Over one seven hour window the next day, Shopify recorded 78 orders and Meta received all 78 from the store; the browser alone caught 35.
Meta's own match score for Purchase rose from 6.1 to 8.2 out of 10, and the buyer's email and phone went from 1.3% of Purchase events to 100%.
Google now counts each order once, so it reports fewer sales than before. That is the correction, not a drop in sales.
The website tag manager went from 95 tags, 59 of them paused, to 36, all live. Nothing that fired before the cleanup stopped firing after it.
What we did not promise
We did not promise more sales or a better return from ads, and we do not promise it here. Orders per day depend on budgets, ad delivery and the season. What changed is that Meta and Google now learn from every real order, counted once, so the brand can judge its ads on numbers that are true.
We also did not promise that Meta would never review the account again. Nobody can.
Signs your store has the same problem
Meta shows far fewer purchases than Shopify, or than your checkout app shows from Facebook. Google Ads shows more sales than you had. You have more than one Analytics property and the numbers never match. Meta flagged your pixel. Your tag manager is full of paused tags nobody dares delete. You use a one-click checkout app or take a lot of cash on delivery.
Any one of these is worth a check. Two or more usually means the ad platforms are bidding on wrong numbers.