Meta says 4.1. Google says 3.7. Your bank account says something much less exciting. Every growing DTC brand hits this moment: the platforms report healthy returns, but profit doesn't follow, and nobody can say which number is real.
"True ROAS" isn't one number you can look up. It's a small set of numbers, each answering a different question, and together they tell you whether your ad spend is working. This guide shows how to calculate each one from Shopify and your ad accounts, with a worked example you can copy.
Why platform ROAS adds up to too much
Each ad platform counts every order it touched, using its own attribution window. Meta counts a purchase if the buyer clicked an ad in the last 7 days or saw one yesterday. Google counts it if they clicked a Google ad in the last 30 days. The same customer usually does both, so the same order gets counted twice.
Add up the revenue every platform claims and you'll typically get 130 to 200% of what Shopify recorded. Each platform's ROAS looks fine on its own. Together they describe a business that doesn't exist. The full list of reasons is in why Meta revenue doesn't match Shopify.
The four numbers that matter
1. MER, or blended ROAS
Total Shopify revenue divided by total ad spend, across every platform. It can't be inflated by attribution because the revenue comes from Shopify. It answers: is our marketing, as a whole, bringing in enough revenue for what we spend? It won't tell you which channel is working, and a big email campaign or a seasonal spike moves it without ads doing anything.
2. New customer MER
Revenue from first-time customers divided by total ad spend. Most paid media exists to find new customers. Returning customers would often buy anyway, so including them flatters the result. Shopify can split sales by new and returning customers. This number tells you whether ads are actually growing the customer base.
3. Break-even ROAS
1 divided by your contribution margin, where contribution margin is what's left of each dollar of revenue after product cost, shipping, payment fees and packaging. If 55 cents of every dollar is left, break-even ROAS is 1 / 0.55 = 1.82. Any ROAS below that loses money on the order before rent, salaries and software.
4. Contribution after ad spend
Revenue times contribution margin, minus ad spend. This is the number that pays the bills. ROAS and MER are ratios. This is dollars. A campaign can improve ROAS while shrinking this number, by spending less on profitable but lower-ROAS prospecting.
A worked example
One month of a mid-sized Shopify store:
| Input | Value |
|---|---|
| Shopify net sales (online) | $48,210 |
| Of which first-time customers | $29,000 |
| Meta spend / Meta claimed revenue | $15,000 / $61,940 |
| Google Ads spend / Google claimed revenue | $6,000 / $22,400 |
| Contribution margin before ads | 55% |
Now the outputs:
| Metric | Calculation | Result |
|---|---|---|
| Meta ROAS (reported) | 61,940 / 15,000 | 4.13 |
| Google ROAS (reported) | 22,400 / 6,000 | 3.73 |
| Revenue claimed by platforms | 61,940 + 22,400 | $84,340, 175% of Shopify |
| MER | 48,210 / 21,000 | 2.30 |
| New customer MER | 29,000 / 21,000 | 1.38 |
| Break-even ROAS | 1 / 0.55 | 1.82 |
| Contribution after ads | 48,210 × 0.55 − 21,000 | $5,516 |
The platforms say this store is doing great. The real picture: marketing as a whole is profitable (MER 2.30 is above the 1.82 break-even), but only just, leaving about $5,500 to cover everything else. And new customers alone don't pay back on the first order (1.38 is below 1.82). That's fine if customers come back and buy again, and a serious problem if they don't. None of that is visible from a 4.1 ROAS in Ads Manager.
Our free tracking check pulls your Shopify, Meta, Google Ads and GA4 data, checks the tracking behind it, and sends you a written note with your real gap and what to fix first. Read-only, within 3 business days.
Get a free tracking checkTrue ROAS for each channel
MER tells you whether marketing works overall. To decide where the next dollar goes, you still need a per-channel view. Since nobody can give you an exact number without testing, use a range.
- Low end: last-click revenue from UTMs. Shopify or GA4 revenue from orders whose last visit came from that channel's ads. This undercounts, because it ignores everything before the last click.
- High end: the platform's click-only number. Meta's 7-day click column, or Google Ads with view-through removed. This overcounts, because other channels touched the same orders.
- The real answer: an incrementality test. A Meta Conversion Lift study or a geographic holdout measures how many sales disappear when the ads stop. Even one test gives you a correction factor you can apply to the platform's numbers for months.
For example, if a holdout shows Meta drove about 60% of the purchases in its 7-day click column, and that column shows $41,300 on $15,000 of spend, Meta's true ROAS is about 41,300 × 0.6 / 15,000 = 1.65. That's below the 1.82 break-even, which is a very different decision from the 4.13 in Ads Manager.
One caution: all of this depends on the tracking underneath being right. If GA4 misses a third of purchases or Meta counts every order twice, every ratio inherits the error. Check whether GA4 is missing purchases before you trust any of it.
A weekly scorecard
You don't need an attribution platform to run this. One sheet or dashboard, updated weekly, with these rows:
| Row | Source | Why it's there |
|---|---|---|
| Net sales, new and returning | Shopify | The truth about revenue |
| Total ad spend | All ad accounts | The cost side |
| MER and new customer MER | Calculated | Is marketing working overall |
| Contribution after ads | Calculated | Is it making money |
| Click-only ROAS per platform | Meta, Google | Where to shift budget |
| Platform claimed / Shopify | Calculated | Is over-attribution growing |
| Tracking capture rate | GA4 / Shopify | Can you trust the rest |
Read it top to bottom. If capture rate drops, fix tracking before reading anything else. If MER holds while one platform's ROAS jumps, that platform is probably claiming more, not driving more. If MER and contribution both rise when you increase spend, the spend is working, whatever the platforms say.
We build this scorecard for clients as a live dashboard pulling from Shopify and every ad account, so it updates itself. Whether you build it yourself or have us do it, the point is the same: one set of numbers the whole team agrees on.
Common questions
What is the difference between ROAS and MER?
ROAS is revenue a platform attributes to its own ads divided by spend on that platform. MER, the marketing efficiency ratio, is total store revenue divided by total ad spend across every platform. MER cannot be inflated by attribution, because it uses Shopify revenue, which is why it works as the top-line check.
Is blended ROAS the same as MER?
Yes, in practice most teams use the terms for the same thing: total revenue divided by total paid media spend. Some teams calculate MER using all marketing costs, including agency fees and tools, so agree on one definition and keep it.
How do I calculate break-even ROAS?
Divide 1 by your contribution margin before ad spend. Contribution margin is revenue minus product cost, shipping, payment fees and other per-order costs, as a share of revenue. With a 55% margin, break-even ROAS is 1 divided by 0.55, about 1.82. Below that, each order loses money before fixed costs.
What is a good ROAS for a Shopify store?
There is no universal number. A good ROAS is one above your break-even ROAS, by enough to cover fixed costs and profit. A store with 75% margins can be very profitable at 2.0, while a store with 35% margins loses money at 2.5.
How do I know what Meta or Google actually caused?
Only an incrementality test answers that directly, such as a Meta Conversion Lift study or a geographic holdout where you pause ads in some regions and compare. Without one, use a range: last-click revenue from UTMs as the low end and the platform click-only number as the high end.
