Meta counted 28 sales a day. The store was really making 61.
A skincare brand spending $22K a month on Meta watched its return fall for five months with no change to the ads. More than half of every day's sales were never reaching Meta.
What the owner was seeing
The brand was spending $22K a month on Meta Ads, and its return had been falling for five months straight.
Nothing about the ads or the creative had changed. The problem was invisible from the outside.
What was actually going wrong
Apple's iOS 14.5 privacy changes stopped the Meta Pixel in customers' browsers from reporting many purchases. Meta recorded 28 sales a day; Shopify confirmed 61.
With so little to go on — a match score of 3.8 out of 10 — Meta couldn't tell who was buying, so it couldn't find more people like them.
What we changed
- Compared Meta's sales with Shopify's orders, day by day, to measure the exact gap.Full pixel audit — Meta Events Manager against Shopify orders.
- Sent every order to Meta straight from Shopify's servers, where phone privacy settings can't block it.Server-side Conversions API using Shopify's Order Created webhook.
- Made sure a sale reported from both places is counted only once.Event deduplication with a shared event_id.
- Added securely scrambled customer details, so Meta can match each sale to a real person.Hashed email, phone number and ZIP code added to every event.
What changed for the business
Meta now sees 89% more of the sales that actually happen. Its match score rose from 3.8 to 8.2 out of 10.
With real sales to learn from, the return on ad spend climbed from 1.4x to 2.9x within six weeks.
“Saifur fixed in three days what two agencies had missed for five months. He pinpointed the exact gap between Shopify orders and what Meta was seeing, rebuilt the CAPI integration cleanly, and our ROAS was back on track within six weeks. Genuinely the most thorough tracking specialist I've worked with.”