Back to blog
Attribution4 min read

Why Meta reports more conversions than your Salla store

340 against 240, and both numbers are right. Four reasons the gap exists, how to measure it in your store, and which number to budget on.
340 against 240, and both numbers are right. Four reasons the gap exists, how to measure it in your store, and which number to budget on.

Meta Ads Manager says 340 conversions. Salla says 240 orders.

The two numbers aren't measuring the same thing. Meta counts conversions it can attribute to itself. Your store counts orders that happened. Four things separate them, and each one has a different fix.

1. The platform sets the window, not you

The common setup is 7 days after a click, 1 day after a view.

Someone clicks your ad on Sunday. On Thursday they search your store name on Google, come in, and buy. Meta counts that order, because the click happened inside the window you configured.

Your store logs one order. Meta logs one conversion. A last-click analytics tool logs "organic search". Three reports describing the same order.

2. Every platform scores its own game

Meta only sees its own traffic. It has no way of knowing the same buyer saw a Snapchat ad two days earlier. So it claims what it can, and Snapchat does the same.

Add up conversions across three dashboards and you'll get more sales than your store made.

3. Double counting inside one platform

Running the pixel and CAPI together is the correct setup. The browser sees things the server can't, and the other way round.

But the two need a shared event ID. Without one, Meta can't tell they're the same purchase, so it counts it twice.

The signature is easy to spot: conversions climb above your store's order count, ROAS improves, and no extra riyal shows up in your bank.

4. Orders that arrive with no source

The gap doesn't only run one way. Browser-only tracking loses events:

  • Safari shortens cookie lifetime under ITP, so a returning visitor looks like a new person with no source
  • Ad blockers stop the script from running
  • The customer closes the tab before the pixel finishes
  • Payment leaves for an external gateway and returns as a fresh visit

Those orders reach your store normally, just without a source. In Saudi stores, instalment gateways are the biggest reason the "direct" bucket looks inflated for a store that advertises daily.

How to measure the gap in your store

Five minutes and a spreadsheet:

  1. Pick one full month that has closed.
  2. Write down total Salla orders for that month.
  3. Write down the conversions each platform reports for that month.
  4. Add the platform numbers and compare to Salla.

If the platform total is clearly higher, you have overlap or duplication. Start with reason 3, because it's the fastest to fix.

If a large share of your Salla orders have no known source, you have a collection gap. Start with reason 4, specifically the payment gateway.

Most stores have both. That's what makes the gap look reasonable: duplication inflates the platform side while lost events deflate the store side, so you see an acceptable difference and you actually have two problems.

Which number to budget on

Not any single platform dashboard.

The number you want is your store's orders, each with its source, counted once. Three conditions:

  • Revenue comes from your store, so the total can't be inflated
  • Attribution is decided on your side, so an order goes to one source
  • Free sources like organic search, referral and WhatsApp are measured on the same ruler as paid

Platform numbers and store numbers won't match, and they aren't supposed to. What you want is for your attributed order count to sit close to your store's order count and never above it.

Where Flowfy fits

Flowfy collects on two paths. A browser SDK records the visit and its source, and your store's server sends the order over a webhook, on a path an ad blocker can't touch.

The two paths meet in one place, and three things happen there:

A stable event key means an order is counted once, inside a platform and across platforms. Identity resolution groups a buyer's identifiers into one customer, so "saw it on mobile, bought on laptop" is one person. And payment gateways like Tabby and Tamara are treated as a step inside the journey rather than a new source.

Attribution then runs on the stored journey with a 90-day window, so you can read the same period on first touch, last touch or even distribution without re-collecting anything.

Salla against the platform total

Compare one month: your Salla orders against the sum of platform conversions. If the platform total is higher, start with the shared event ID between pixel and CAPI. If a large share sits in "direct", check what happens to attribution when a customer pays with Tabby or Tamara.