
Shopify ROAS calculator traffic has increased significantly since iOS 14.5 was released and Meta ad costs have doubled. Everyone wants to know if they are making money on ads. The answer is often easier said than the way it is reported in the Meta dashboard which reports on ROAS at the gross revenue level. However, there are many other variables that Shopify merchants pay for outside of that reported revenue.
The free ROAS Calculator allows you to measure ad spend against actual profit per order, rather than revenue. Simply enter your cost, margin and ad spend, and the tool will spit out real and break-even ROAS numbers, as well as which channels are profitable (after accounting for product cost and fulfillment) using channels as input.
This guide covers ROAS vs ROI, setting a target ROAS by gross margin, attribution windows, the Shopify ad data pitfalls and 3 scenarios where you can be actively misled by your ROAS.
In this post
- ROAS vs ROI
- Target ROAS by margin
- Attribution windows
- Shopify ad data traps
- Common ROAS mistakes
- When ROAS lies
- FAQ
ROAS vs ROI
ROAS = Revenue / Ad Spend = (Contributing Margin x Impacts) / Ad Spend ROI = Profit / Total Investment 4x ROAS at 25% gross margin = break even 4x ROAS at 70% gross margin = money printer The number tells you nothing.
| Metric | Formula | What it answers |
|---|---|---|
| ROAS | Revenue / Ad Spend | How much revenue per ad dollar |
| Break-even ROAS | 1 / Gross margin | Minimum ROAS to not lose money |
| ROI | (Profit – Spend) / Spend | Return on ad dollar after costs |
| POAS | Profit / Ad Spend | Like ROAS but on profit, not revenue |
Target ROAS by margin
Break-even ROAS is 1 / gross margin. So if gross margin is 50% you break even at 2x ROAS. 33% means you break even at 3x. 25% you break even at 4x. Anything less than that and every ad dollar spent on the order is losing money.
break even Target ROAS ? break even is not enough to cover fixed costs (rent, apps, salaries) and variable costs like payment fees, shipping, returns etc. You’d want to aim at a higher target ROAS, maybe 1.5x to be safe.
| Gross margin | Break-even ROAS | Target ROAS (1.5x) |
|---|---|---|
| 25% | 4.0x | 6.0x |
| 40% | 2.5x | 3.75x |
| 50% | 2.0x | 3.0x |
| 65% | 1.54x | 2.3x |
| 75% | 1.33x | 2.0x |
The ROAS Calculator does the math for you in a click, and also highlights any channels which are operating at a loss at break even. This allows you to compare the ROAS required for each channel at break even based off your unique gross margin and ad spend.
Attribution windows
Attribution window refers to the period of time between an ad click or view and a purchase that will be credited on Meta (or Google) for that attribution. By iOS 14.5, Meta’s default is a 7 day click + 1 day view, which contrasts with the pre iOS 14.5 default of 28 day click + 1 day view. This one shift in how attribution is measured has reduced reported ROAS by 20 to 40% on many Shopify stores, while sales in reality are unchanged.
Shopify’s attribution model is ‘close enough’ to last click, Meta’s is ‘modeled’ (i.e. guessed based on signals), and as a result you will never be able to get the two to match, so you should pick one or the other and stick to it. Also, everyone who runs a real store treats Shopify’s order data as the ultimate source of truth, and uses Meta ROAS as a trending indicator at best.
Shopify ad data traps
- Shopify Sales by Traffic Source uses UTM parameters. No UTM, no credit. Check your ads have UTMs.
- Shopify does not deduplicate returned orders from ROAS. A refunded order still counts as revenue in the dashboard.
- Direct traffic hides email and organic social. Do not credit it to ads by accident.
- New vs returning customers are mixed in the default view. Retargeting ROAS is not new customer ROAS. These should be tracked separately.
Common ROAS mistakes
The biggest loss: celebrating a 5x ROAS on a product with 25% margin. ROAS without margin context is worthless. The biggest win: killing underperforming campaigns quickly on day 1 to minimize wasted spend. Attribution will eventually catch up and show that campaign was performing well, typically within 7 to 14 days.
Third: ROAS by Channel Intent. This is freaky cool. It shows Brand Search ROAS to be around 10x, while Prospecting ROAS is around 1.5x-2x. Comparing ROAS across different intent-driven channels is a powerful tool. I wish I hadn’t averaged this data out because I’m going to recommend that we decrease spend on Prospecting as it’s “underperforming”. This will no doubt have the effect of reducing Top of Funnel volume and ultimately decreasing revenue 2 months from now. This is one that is currently active and infuriating me.
When ROAS is actively misleading
Three situations where ROAS lies loud:
- High return rate categories. Fashion, shoes, furniture. Meta credits the initial order. You eat the return. Reported ROAS is 4x. Real POAS is 1.5x.
- Subscription or LTV driven products. First order ROAS is break-even. Second order is where you make the money. ROAS on the first order alone hides this.
- Free plus shipping offers. Revenue reported is the shipping charge, not the product. ROAS calculation breaks entirely.
Images of product variants (different colors) vary only slightly between being suitable for use as ad creative and as product page images. Until recently it has been common for businesses to run separate products in different colours in the catalog. However, this results in very negative return rates and, as a consequence, a strong decline in all ROAS figures. With the Rubik Variant Images plugin, the same image is maintained for ad creative and product page, ensuring that the match of ad creative to product page images is strictly maintained. Alternatively, the plugin enables you to run separate products per colour in the separate products in different colours in the catalog, in ad creative, but with the corresponding combined listing already selected as the default view and with all listings displayed uniformly.
Related free tools
These 3 calculators pair well together: ROAS Calculator, Profit Margin Calculator, Break-Even Calculator, and CLV Calculator. With these 4 calculators, you can evaluate ROAS, margin, break-even, and lifetime value all at the same time.
See the live demo store, watch the tutorial video, or read the getting started guide.
FAQ
What is a good ROAS for a Shopify store?
It all depends on the gross margin, for me at least. If you have 50%, then 3x seems like a safe operating range. But at 25%, you want to at least double that for real returns.
How do I calculate break-even ROAS?
1 divided by Gross Margin, so if you have a 40% Gross Margin your break-even ROAS is 2.5x.
Should I trust Meta’s reported ROAS?
It’s a trend indicator, not ground truth. Look to Shopify order data with UTMs as the source of truth and Meta as a directional signal.
What is POAS?
Profit on Ad Spend. Same as the ROAS ad set objective but set to optimise for profit on ad spend instead of revenue. Useful for stores with varying margins.
How long should I wait before killing a low ROAS campaign?
7 to 14 days. Attributions catch up, all learning cycles completed. Day 1 is usually garbage.
Why did my ROAS drop after iOS 14.5?
Facebook loses ability to track millions of iOS users, reported ROAS down 20-40% while actual sales are flat.
Should I track ROAS separately for new and returning customers?
Yes. Retargeting ROAS is generally higher than prospecting and can dilute the performance of top of funnel campaigns by masking underperforming content.





