The Ecomm Analyst

Growing stores, one honest take at a time.

Why Meta says you made $50k and Shopify says you made $22k

Every ecom operator has had this conversation. You open Ads Manager on a Monday morning, see a 4.2x ROAS, feel pretty good about the weekend. Then you check Shopify. The number doesn’t match. Not by a little. By a lot.

I get asked about this gap more than almost any other attribution question. It’s worth unpacking because the answer changes how you should think about every channel report you read.

The four reasons the numbers don’t match

Start with attribution windows. Meta’s default is 7-day click and 1-day view. Shopify is reporting orders as they happened on a given day. If someone clicked your ad on a Tuesday and bought on the following Sunday, that order shows up in Meta’s Tuesday column and Shopify’s Sunday column. Same order, different timestamps, different days.

Second, view-through conversions. Meta will claim credit for an order if someone saw your ad in the last 24 hours, even if they never clicked. View-through is the most generous form of attribution credit there is. Some of it is real. A lot of it is not.

Third, modeled conversions. After iOS 14, Meta started filling in the gaps with statistical models. When the deterministic signal is missing, Meta estimates how many conversions probably came from a campaign and reports those estimates as real numbers. There’s no asterisk next to them in your dashboard.

Fourth, deduplication failure. If you’re running Meta, Google, TikTok, and Klaviyo, every one of those platforms is reporting on the same orders. Add up their claimed revenue and you’ll often get a number bigger than your actual gross sales. Each platform thinks it deserves the credit.

The incentive problem

There’s an awkward truth here. Meta is grading its own homework. So is Google. So is every ad platform. Their attribution numbers determine whether you spend more or less with them next month. You don’t have to assume malice to recognize that the system isn’t set up to give you a conservative number.

This is the part where vendor pitches usually start. I’ll keep mine short.

What I actually do

I run a separate attribution layer that doesn’t have a stake in any channel looking good. ThoughtMetric is the one I use. It pulls order data from Shopify, marketing data from each platform, and reconciles them against a single source of truth. The point isn’t to replace Meta’s reporting. The point is to have a second opinion.

When Meta says I made $50k and Shopify says $22k, ThoughtMetric will typically land somewhere closer to Shopify’s number, but with the channel breakdown attached. So I can see that of the $22k in real revenue, maybe $9k is attributable to Meta with a click-based model, another $2k with a longer window, and the rest came from other sources. That number is uncomfortable for Meta. It’s also useful for me.

How to use the gap

The gap between platform-reported revenue and actual revenue is itself a signal. If your Meta ROAS is consistently 2x your real attributable revenue, that ratio is roughly stable across campaigns. You can keep optimizing in Meta as long as you understand what its numbers actually represent. They’re not lies. They’re directional with a known bias.

The mistake is using Meta’s reported revenue as a budget input without adjustment. I’ve seen brands hit a 4x ROAS in Meta and scale aggressively, only to find out three months later that real revenue grew far less than the spend implied. The platform was reporting honestly within its own definition. The definition just wasn’t the one that pays bills.

Bottom line

Your Meta number and your Shopify number are both true. They’re measuring different things. Pick a third source that doesn’t have a horse in the race and check both against it. Whatever you do, don’t make spend decisions on platform-reported ROAS alone.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.