Aplon
← Blog

Meta Says 40 Sales. Shopify Says 12. Here's Who's Right.

AttributionThe Aplon team6 min read

Your ad platforms and your store will never agree, and it is not a bug. Here are the six reasons they differ, and the one number to actually run the business on.

Meta says it made 40 sales. Google says 15. Your email tool says 20. Shopify says you had 55 orders in total.

75 plus 55 does not work. Somebody is lying.

Nobody is lying. Every one of those numbers is correct according to a different definition, and once you know the six definitions you stop trying to make them match and start using each one for what it is actually good for.

Reason one: they count views, not just clicks

Meta will count a sale if someone saw your ad and later bought, without ever clicking it. That is a view-through conversion, and it is on by default.

There is a real argument for it. Someone scrolls past your ad, doesn't tap, remembers you two days later. The ad did work.

There is also an obvious problem. If you show your ad to a hundred thousand people, a good number of them will buy from you within a day for reasons that have nothing to do with the ad. They were already customers. They were already searching. The ad happened to be in the room, and it takes the credit for being there.

Shopify has no idea any of this happened. It only sees somebody arrive and buy.

Reason two: the windows are different, and nobody tells you

Meta's default counts a sale if it happened within some number of days of the click. Google uses a different default. Your email tool uses a different one again.

So a sale on the 20th can be filed against an ad from the 13th by one platform and belong to nobody at all according to another. Change the setting and the same week gets a different history. Nothing about your business moved.

This is the one people find hardest to accept: your past performance is a setting.

Reason three: everybody claims the same customer

This is the big one, and it is structural.

One customer sees your Facebook ad, searches your brand on Google, taps a Google ad, then gets your email and buys from that.

Meta counts it. Google counts it. Your email tool counts it.

That is one order and three claims. None of the platforms is being dishonest. Each is answering "did I touch this sale?" — and each is answering yes, correctly. It is only when you add them together that you invent sales that never existed.

The rule that follows is short. Never sum conversions across platforms. Ever. There is no correction factor, no clever weighting that fixes it. The numbers were not built to be added.

Three platforms claim 75 sales between them. The store recorded 55. The dashed stub is the twenty that never happened.
Three platforms claim 75 sales between them. The store recorded 55. The dashed stub is the twenty that never happened.

Reason four: time zones move sales between days

Your Meta ad account has a time zone. Your Shopify store has a time zone. They are often not the same one.

An order placed at 11:40pm lands on Tuesday in one system and Wednesday in the other. Look at a single day and the two disagree, for no reason except arithmetic.

There is a subtler version of this that is worth knowing about, because it survives inside otherwise careful reporting. A single export can carry timestamps in two different formats — some marked as UTC, some carrying a local offset. Anything that files an order by chopping the date off the front of that text will put the same instant on two different days depending on which format that particular row happened to use.

Nothing errors. The totals are just quietly wrong at the edges of every window.

If you compare a single day across two systems, expect noise. Compare weeks or months, where the edges matter less.

Reason five: they are counting different events

"Conversion" is not a fixed word.

One platform counts a purchase. Another counts a purchase or an add-to-cart, depending on how someone set it up eighteen months ago. Refunded orders are usually included by the ad platforms and removed by your accounting. Some setups count each item, some count each order.

Go and read what your platforms are set to count. Most people have never looked, and it takes four minutes.

Reason six: the same sale gets sent twice

Modern tracking sends the same purchase from two places — the shopper's browser and your server. That is deliberate, because browsers block things and the server copy is the reliable one.

Both copies carry an ID so the platform can spot the duplicate and drop one. When that ID is missing or does not match, it doesn't drop it. It counts both.

The tell is a platform reporting suspiciously close to exactly double what you expected. If you see that, look at deduplication before you look at anything else.

So who is right?

Shopify. For money, always Shopify.

Shopify is the only system in that list that watched actual money move. Everything else is inferring. Build this hierarchy and stick to it:

  • What happened: your store and your bank. This is truth. Revenue, orders, refunds, what you kept.
  • Roughly where it came from: your own analytics, judged consistently.
  • Whether an ad platform is improving: that platform's own numbers, compared only to itself.

That last one is the useful bit that people throw away in frustration. Meta's numbers are bad at telling you how much Meta made you. They are genuinely good at telling you whether this week's Meta is better than last week's Meta, because the definition is at least wrong in the same way both weeks.

The number that sidesteps all of it

Take everything you spent on ads this month, from every platform. Take your total revenue this month, from Shopify.

Divide revenue by ad spend.

That is your blended return, and it has one enormous advantage over everything above: there is nothing to argue about. No windows, no view-through, no double claims, no time zones. Total money out, total money in.

It will not tell you which channel to cut. That is a real limitation and I am not going to pretend otherwise. But it will tell you the truth about the direction you are heading, and it cannot be gamed by a settings change.

The practical version most good operators land on: run the business on blended, and use platform numbers only to decide what to test next inside that platform.

What to do on Monday

  1. Write down your blended number for each of the last three months. Spend, revenue, the ratio. Three lines.
  2. Open each ad platform and write down its attribution window. Note where they differ.
  3. Check whether your ad account time zone matches your store's.
  4. Stop adding platform conversions together, in every report you make and every conversation you have.

Step four is free and it is the one that changes decisions.


Aplon reconciles what your store actually recorded against what each platform claims, so you can see the gap instead of arguing about it. [Take a look](/).


Aplon turns your Shopify store into profit analytics. See how it works.

Meta Says 40 Sales. Shopify Says 12. Here's Who's Right. · Aplon