Attribution
5 min read
Why don't your Shopify and Facebook numbers match?
Shopify counts every order. Facebook counts what it thinks it influenced, filtered through a 7-day click window and a pixel that misses more than it used to. Neither number is wrong. Neither number is the one you should be targeting.
Why the numbers disagree
Shopify says you had 40 orders last week. Facebook Ads Manager says it drove 15 conversions. Neither number is lying to you. They're just counting different things.
Shopify counts every completed order, full stop — doesn't matter if the buyer came from an ad, a Google search, a text from a friend, or typed your URL in directly.
Facebook counts what its pixel could attribute to itself, inside a click window it controls, using data it can no longer fully see. iOS privacy changes, ad blockers, and cross-device browsing all shrink what the pixel catches. A real buyer who clicked your ad on their phone and bought later on their laptop shows up in Shopify. Facebook has no idea that sale happened.
So the gap isn't a bug. It's the difference between a platform grading its own homework and a payment processor recording what actually got paid.
If you are ready to connect order data first, start with the Shopify integration docs.
Which number should you target?
Neither, on its own. What you want is the two side by side, per source — what Facebook, Google, or TikTok claims, next to what your store actually recorded. That comparison tells you two things:
- Which channels are overclaiming. A source reporting 40 conversions while your revenue-linked orders show 12 isn't your best channel — it's the one taking credit for sales that would've happened anyway.
- Which channels are underclaiming. Organic and direct traffic often convert better than the dashboards suggest, because there's no platform trying to take credit for them.
The repeat-visitor problem
The other thing that's easy to miss: if someone visits three times before buying, most setups either count that as three separate sessions or collapse it into one conversion with no path attached. Neither tells you what actually worked.
What you want is a single visitor record that spans all three visits — first touch, what brought them back, and what finally closed the sale. That's the difference between "Facebook drove this" and "Facebook drove the first visit, but an email three days later closed it." The second story is the one that should decide where your next dollar goes.
What about unknown shoppers?
If a visitor browses and leaves without buying, they're not invisible — they're just anonymous. A persistent visitor ID still tracks their sessions, source, and pages viewed, so you can see abandonment patterns without needing their name or email.
That's different from visitor identification services that try to unmask anonymous traffic into named leads with personal details. That is a separate category, with its own cost and tradeoffs, and not something to bolt on before you've fixed the basic problem of not trusting your own conversion numbers.
Start with the comparison. Fix what you're spending on before you worry about who's browsing anonymously.
The first job is not choosing Shopify or Facebook as the truth. It is seeing claimed conversions beside paid orders, source by source.
Try it in your data
Connect Shopify and your ad platforms, then check the comparison table for the gap between what each one claims and what actually sold.
Go to Attribution →Related guides
Attribution
8 min read
Where did that sale actually come from?
Trace a sale back to the source, page, and session that created it without guessing from payment data alone.
Attribution
8 min read
First-touch vs last-touch: which one should you use?
Choose the attribution model that matches your buying cycle instead of defaulting to the easiest report.