Quick answer: Meta and Shopify measure different things. Meta counts purchases it can link to an ad within its attribution window, reports them on the date of the ad impression, and includes view-through and modelled conversions. Shopify counts every order placed in your store, on the order date, from every channel. They will rarely match. Use Shopify’s delivered revenue as the truth for money, Meta’s numbers to compare ads with each other, and MER to judge overall health.
Every D2C founder has had this moment. Meta Ads Manager shows a great week. Shopify shows an ordinary one. Your agency says Meta is working, your bank balance isn’t so sure. Both numbers can be “right”, because they answer different questions. Here’s how to read them.
In this guide
- Meta and Shopify measure different things
- 7 reasons Meta and Shopify numbers don’t match
- Which number should you trust?
- How to reconcile Meta and Shopify in 6 steps
- A simple weekly reconciliation sheet
- When a big gap means something is broken
- Get your numbers checked
- FAQs
Meta and Shopify measure different things
| Meta Ads Manager | Shopify | |
|---|---|---|
| What it counts | Purchases it links to an ad click or view | All orders, from every channel |
| Which date | Date of the ad impression | Date the order was placed |
| Who gets credit | The last ad touch inside the attribution window | No ad credit, only referrer and UTM data |
| View-through | Included (1-day view for most sales campaigns) | Not counted |
| Modelled conversions | Included when people can’t be tracked directly | None |
| Cancellations and RTO | Not removed automatically | Shown as cancelled or refunded |
7 reasons Meta and Shopify numbers don’t match
1. View-through conversions
Someone sees your ad, doesn’t click, then searches your brand on Google and buys the same day. Meta counts that purchase because of the view. Shopify credits Google or direct traffic. Both are telling the truth from their own angle.
2. Different reporting dates
Meta reports a conversion on the date of the ad impression, not the purchase. If someone saw your ad on Monday and bought on Thursday, Meta shows the sale under Monday, while Shopify shows it on Thursday. Day-by-day comparisons will never line up.
3. Attribution windows
Meta credits purchases that happen within its attribution window, which for most sales campaigns is 7 days after a click and 1 day after a view. GA4 and Shopify reports use their own rules. A purchase can fall inside Meta’s window and still be credited to another channel elsewhere.
4. Duplicate purchase events
If the Meta pixel and the Conversions API both send a purchase without the same event ID, Meta can’t tell they are the same order and may count it twice. A purchase event that fires again when someone reloads the thank-you page causes the same problem.
5. Cancelled, refused and RTO orders
Meta records the purchase when the order is placed. If the customer refuses a COD parcel or the order is returned to origin, Meta still keeps the sale. In India, where COD is common, this alone can create a big gap.
6. Modelled and missing conversions
Some buyers can’t be tracked because of iOS privacy choices, ad blockers or browser settings. Meta fills part of that gap with modelled conversions, and misses others completely. So Meta can show more sales than it can prove, or fewer than really happened.
7. Every channel claims the same sale
A customer clicks a Meta ad, later clicks a Google ad, then opens your email and buys. Meta, Google and your email tool may each count that one order. Add up every platform’s reported sales and the total will be higher than Shopify’s.
Small value differences also add up: tax, shipping, discounts and currency settings may be included in one system and not the other.
Which number should you trust?
- Shopify delivered revenue is the truth for money. Remove cancelled, refunded and RTO orders.
- Meta’s numbers are best for comparing campaigns and ads with each other, because they’re all measured the same way.
- MER (marketing efficiency ratio) is your health check: total revenue ÷ total ad spend across all channels.
For example, if you spent ₹2,00,000 across Meta and Google in a month and Shopify shows ₹8,00,000 in delivered revenue, your MER is 4. If MER holds steady while Meta’s ROAS swings, your business is probably fine and only the attribution is moving.
How to reconcile Meta and Shopify in 6 steps
- Fix tracking. Send purchases through both the pixel and the Conversions API with the same event ID, then place a test order.
- Tag every ad with UTMs. For example: utm_source=facebook, utm_medium=paid_social, utm_campaign={{campaign.name}}. Meta fills in the campaign name automatically.
- Compare weekly, not daily, using the same attribution setting every time.
- Remove cancelled, refunded and RTO orders from revenue before you compare.
- Add a post-purchase question such as “Where did you first hear about us?” to catch sales that tracking misses.
- Track MER and a reconciled ROAS every week. Divide the Shopify revenue you can tie to Meta by Meta’s reported revenue to get a correction factor, then apply it to Meta’s ROAS.
A simple weekly reconciliation sheet
| Column | What to enter | Where it comes from |
|---|---|---|
| Meta spend | Total spend for the week | Meta Ads Manager |
| Meta-reported revenue | Purchase conversion value | Meta Ads Manager (same attribution setting every week) |
| Shopify delivered revenue | Revenue after cancellations, refunds and RTO | Shopify plus your courier data |
| Shopify revenue from Meta | Orders with Meta UTMs or survey answers | Shopify reports or GA4 |
| Correction factor | Shopify revenue from Meta ÷ Meta-reported revenue | Calculated |
| Reconciled ROAS | Meta ROAS × correction factor | Calculated |
| MER | Shopify delivered revenue ÷ total ad spend | Calculated |
When a big gap means something is broken
- Meta reports more purchases than Shopify has total orders. That usually means duplicate events.
- Purchases show up in Meta with zero or wrong values.
- The gap jumped suddenly after a theme change, new app or checkout update.
- Meta shows no purchases while Shopify has orders with Meta UTMs. The pixel has probably stopped firing.
If any of these show up, fix tracking before you change budgets. Otherwise you’ll scale or cut based on wrong numbers. Our guide on why Meta ads ROAS drops covers the tracking checks step by step.
Get your numbers checked
Every Tegpun audit starts by reconciling Meta and Google with Shopify, so we know which campaigns really make money. If you’re choosing a partner, use our Meta ads agency checklist or read our Google Ads guide for Shopify brands.
Not sure which number to believe? Book a free 30-minute audit and we’ll reconcile your Meta and Shopify numbers with you.
FAQs
Why does Meta show more sales than Shopify?
Usually because of view-through conversions, modelled conversions, duplicate pixel and Conversions API events, and orders that were later cancelled or returned. Meta also gives itself credit for sales that other channels claim too.
Why does Meta show fewer sales than Shopify?
Shopify counts orders from every channel, and some Meta-driven buyers can’t be tracked because of privacy settings or ad blockers. A broken pixel or a purchase event that stopped firing can also make Meta show too few sales.
What is MER in ecommerce?
MER, or marketing efficiency ratio, is your total revenue divided by your total ad spend across every channel. It ignores attribution and shows whether your marketing is profitable overall.
Which Meta attribution setting should I use for comparisons?
Pick one and keep it the same every week. Many brands compare 7-day click, which leaves out view-through conversions, with the default setting to see how much of Meta’s reported result depends on views.