Sign inBook a Call
Insights

Meta Ads Purchases Not Matching Store Orders: Why, and What to Check

The two numbers are counted differently on purpose. Here is what causes the gap, which way it should lean, and how to tell a normal gap from broken tracking.

By the Monastic Media teamUpdated 21 Oct 20267 min read

First, the two numbers answer different questions

Your store admin counts orders. Every order placed on the store shows up there, whether it came from a Meta ad, Google, an Instagram bio link, WhatsApp or a repeat buyer typing the URL. Ads Manager counts attributed purchases. These are purchases Meta believes its ads helped cause, inside the attribution window you have set.

So the two will almost never be equal, and they are not supposed to be. The useful question is not "why don't they match" but "is the gap the size and direction I would expect, and is it steady week to week". A gap that holds steady is just how reporting works. A gap that suddenly jumps or flips is usually a tracking fault.

Why Ads Manager often shows more purchases than your store

If Ads Manager shows more than the Meta-tagged orders in your store admin, or even more than total orders, these are the usual reasons. They are listed roughly by how often we see them in Indian accounts.

  • The attribution window. The standard setting credits purchases within 7 days of a click and 1 day of a view, and Meta now also reports engage-through conversions. These come from people who liked, saved, commented or properly watched the video but did not click. A buyer who watched your reel on Monday and bought on Tuesday from a Google search gets counted by Meta and by Google.
  • Every platform claims the same order. Meta, Google and your influencer codes each take credit for one sale. Add them up and you get more sales than your store ever recorded.
  • Estimated conversions. When Meta cannot see a purchase directly, for example on a phone where the user has opted out of tracking, it fills the gap with its own estimate. Your store never estimates. It only counts real orders.
  • Double counting from pixel and CAPI. If the browser pixel and the Conversions API both send the same purchase without a shared event ID, Meta can count it twice. Events Manager flags this under deduplication.
  • One-click checkout apps. Many Indian stores use a third-party one-click checkout. If both the checkout app and your store's Meta sales channel send a Purchase event, one order turns into two purchases.
  • COD orders that never become sales. Meta counts the purchase as soon as the COD order is placed. If the order is cancelled on the confirmation call or comes back as RTO, your store marks it cancelled or returned. Meta still keeps the purchase.
  • Thank-you page reloads and test orders. A buyer reopening the order status page, or your team placing test orders, can fire extra purchase events.

Why Ads Manager sometimes shows fewer purchases

The opposite gap is less common. When it shows up, it almost always means lost signal, and that hurts how well Meta can optimise your campaigns.

  • No Conversions API, pixel only. Ad blockers, browser privacy settings and in-app browser limits stop browser events. Without a server-side feed, those purchases never reach Meta. Our Meta CAPI setup guide walks through the fix.
  • The checkout app is not sending purchases at all. A one-click checkout that sits outside your store's standard checkout may never pass the event back. Meta then sees add to carts and initiated checkouts but no purchases.
  • Purchases outside the window. People often take more than 7 days to buy considered products like jewellery, electronics or furniture after clicking. Your store records those orders. Meta does not credit them.
  • Different time zones. If the ad account was set up in another time zone, late-night Indian orders land on a different day in each report.

Why revenue does not match even when orders do

Purchase value is a separate trap. Meta records whatever value is sent with the purchase event at checkout. Depending on your setup, that figure may include GST, shipping and COD charges. It is also captured before any cancellations or refunds.

Store reports can show gross sales, net sales after discounts and returns, or total sales including tax and shipping. Founders often compare Meta's value with net sales and decide the ads are lying. Pick one store definition, check what your Meta integration actually sends, and compare like with like.

Symptom, likely cause, what to check

What you seeLikely causeWhere to check
Meta purchases close to double your store ordersPixel and CAPI both firing without deduplication, or the checkout app and the store channel both sending PurchaseEvents Manager, Purchase event, deduplication and event sources
Gap jumped overnightNew app, theme change or checkout switchEvents Manager history, list of recently installed apps
Meta higher, mostly on COD-heavy daysCOD cancels and RTO still counted as purchasesCancelled and returned orders in your store admin for the same dates
Daily numbers disagree, weekly totals are closeMeta credits the day of the ad interaction, your store the day of the orderCompare 7 or 14 day totals, not single days
Meta lower, with healthy checkout eventsCheckout app not passing purchases, or no CAPIEvents Manager: initiated checkouts against purchases
Meta revenue higher than net salesValue includes tax, shipping or COD fee, with no refunds removedPurchase event value against one order in your store admin

A 20-minute check you can run this week

Run these in order. Most problems show up by step three.

  • Line up the basics. Use the same date range, time zone and currency in both reports. Use a full 7 or 14 days, not yesterday.
  • Compare raw events, not attributed results. In Events Manager, look at the total Purchase events received for the period. Put that next to total store orders, including COD. These two should be close, because both count every order. If events are well above orders, you have double firing. If they are well below, you are losing signal.
  • List everything that sends a Purchase event. That means your store's Meta sales channel, your checkout app, any tracking or CAPI app, and old code left in the theme. The most common fault we find is more than one of these sending purchases without a shared event ID.
  • Place one real test order for a small product. Check that exactly one purchase arrives in Events Manager, with the right value and an event ID.
  • Pull cancelled and RTO orders for the same period. If they roughly cover the extra purchases Meta shows, the gap is COD, not tracking.
  • Only then compare attributed purchases. Use the comparison view in Ads Manager to see how much comes from click, engage-through and view. A large view and engage-through share explains why Meta claims more than your store's last-click reports.

Which number to run the business on

Use your store for money and Meta for direction. Store orders after cancellations and RTO tell you what you actually sold. Divide that by total ad spend across every platform and you get a blended return that no platform can inflate. Track it daily alongside Meta's own ROAS.

Use Ads Manager to compare one campaign, ad set or creative against another. Its numbers are inflated in roughly the same way across your ads, so the ranking stays useful even when the totals are not. To judge profit rather than platform ROAS, read contribution margin vs ROAS.

If tracking is clean and you still see plenty of clicks but few real orders, reporting is not the problem. Work through the clicks but no sales checklist instead.

How Monastic Media helps

One in-house team in Surat scripts, shoots and edits the ads videos and runs the Meta and Google campaigns they go into, so the people who see the numbers make the next ad. See our performance marketing

Read next

Questions

Is it normal for Meta to show more purchases than my store?

Yes, within reason. Meta credits view and engage-through conversions, estimates purchases it cannot see, and counts orders that other channels also claim. A steady gap is normal, but a sudden jump usually means a tracking fault.

Does Meta remove a purchase when a COD order is cancelled or returned?

No. Meta counts the purchase when the order is placed, and it stays in Ads Manager. Your store will show the order as cancelled or returned, so COD-heavy stores see Meta run ahead of real sales.

Can a one-click checkout app cause duplicate purchases?

Yes. If the checkout app and your store's Meta channel both send a Purchase event without a shared event ID, one order can be counted twice. Check the event sources in Events Manager and either keep one purchase source or make sure the two deduplicate.

Should I change my attribution setting to make the numbers match?

Changing it only changes what Meta reports, not your real sales. A 7-day click only view brings Meta closer to your store numbers and helps when reading results. Still, judge the business on store orders after cancellations.

Why do daily numbers disagree but weekly totals look closer?

Ads Manager credits a purchase to the day of the ad interaction, while your store records it on the day of the order. Someone who clicked on Monday and bought on Thursday sits on different days in each report, so always compare a full week or two.

Naaptol
“MM helped us scale from 0 to ₹2.6 CR/month in just 6 months with clear communication and industry expertise!”
Rakesh Naidu GM @ Naaptol

Ready to work with one team?

Book a call. If we can help you hit your goals, we will tell you how; if we cannot, we will tell you that too.