ROAS in one line, and why it's harder than it looks
ROAS is revenue divided by ad spend. Spend €1.000, get €3.000 in sales back, and your ROAS is 3. The spend side is easy, because the ad platform knows exactly what it charged you. The revenue side is the problem: it only includes the sales the platform managed to see and link to an ad.
When a platform misses a third of your purchases, it reports a ROAS a third lower than reality. An ad at a real ROAS of 2,4 shows up as 1,6, under your break-even, and gets switched off.
Three ROAS numbers, three different questions
- Platform ROAS: what Meta, TikTok or Google report in their own dashboards. Useful per ad, but each platform only counts what it saw, and two platforms can both claim the same sale.
- Blended ROAS (often called MER): total store revenue divided by total ad spend across all channels. Honest about the big picture, but tells you nothing about which ad works.
- ROAS per ad from your own data: your real paid orders tied to the ad that brought the buyer. This is what you need for scale-or-cut decisions.
Where Shopify ROAS goes wrong
The browser pixel misses purchases from ad blockers, Safari's cookie limits, in-app browsers and buyers who close the tab after paying. Each missed purchase lowers platform ROAS. On top of that, the platform's algorithm optimizes on fewer sales than you really had, which makes the ads themselves perform worse over time.
Then there's timing. A buyer who clicks today and buys in three weeks only counts if the platform's attribution window and the stored click both last that long.
Shopify ROAS tracking starts with your break-even ROAS
A ROAS number only means something next to your break-even ROAS: the point where an ad pays for its product costs and itself, but nothing more. You find it by dividing 1 by your gross margin after product cost, shipping and payment fees.
Say your average order is €60 and, after product cost, shipping and fees, €24 is left. Your margin is 40%, so your break-even ROAS is 1 divided by 0,4, which is 2,5. An ad at ROAS 3 makes money. An ad at ROAS 2 loses money on every sale, unless those buyers come back and buy again.
This is exactly why missing purchases are so expensive. If your tracking misses a quarter of sales, an ad with a real ROAS of 3 shows up as 2,25: under your break-even. On paper it's losing money, so you switch off one of your best ads. Good Shopify ROAS tracking means the number you compare against break-even is built on all your paid orders.
How to get ROAS per ad you can trust
Step one is complete purchase data. Send every paid order server-side to each ad platform, with the click saved at landing and hashed buyer details for matching. Now the platform's own ROAS is closer to reality, and its bidding learns from real sales.
Step two is one place to compare. Settl pulls spend from your connected Meta, TikTok, Google, Snapchat and Pinterest ad accounts and puts it next to sales and ROAS per ad, with a plain recommendation: scale this one, switch that one off. You also get a live view of visitors on your store on a map.
A quick sanity check you can do today
Take last week. Add up your Shopify revenue and your total ad spend across every platform; that's your blended ROAS. Then add up the revenue each platform claims. If the platforms together claim far less than your actual revenue, they're missing purchases. If they claim much more, they're double-counting overlapping buyers.
Our ROAS calculator lets you plug in your own numbers and see how a tracking gap changes the ROAS you judge your ads on.