Break-even ROAS = 1 divided by your contribution margin, where contribution margin is what is left of each sale after product cost, shipping to the customer, payment fees and refunds, but before ad spend. In the worked example below the margin is about 50 percent, so break-even ROAS is 2.0: every euro of ad spend must bring back two euros of revenue just to cover costs. Anything under 2.0 loses money before you count your own time.
The mistake most stores make is computing margin from product cost alone. Shipping, fees and refunds are what move a “3x ROAS” campaign into loss.
The formula
- Contribution per order = price (after VAT or sales tax) minus product cost, minus shipping you pay, minus payment fees, minus a refund allowance.
- Contribution margin = contribution per order divided by price.
- Break-even ROAS = 1 divided by contribution margin.
- Break-even cost per purchase (CPA) = contribution per order.
- Target-profit ROAS = 1 divided by (contribution margin minus the net profit share of revenue you want).
Steps 1 to 5 are arithmetic, not a sourced claim. Only the fee rates below are sourced.
Worked example (illustrative, EUR)
A product sold at 40 EUR, price after VAT. Costs are invented round numbers for the example except the payment rate.
| Line | Amount | Note |
|---|---|---|
| Price | 40.00 | after VAT |
| Product cost | 12.00 | supplier price (example) |
| Shipping you pay | 5.00 | supplier shipping (example) |
| Payment fee | 1.01 | Shopify Payments 1.9% + 0.25 EUR on Basic, EU view of Shopify pricing, checked 29 Sept 2026 |
| Refund allowance | 2.00 | 5 percent of price: our assumption, replace with your own rate |
| Contribution per order | 19.99 | |
| Contribution margin | 50.0% | 19.99 / 40 |
| Break-even ROAS | 2.00 | 40 / 19.99 |
| Break-even CPA | 19.99 | most you can pay for a purchase |
Add your monthly fixed costs per order. The dataset’s dropshipping starter stack (DSers Advanced, ReConvert Growth, Judge.me Free, GemPages Free) costs 29.89 USD a month at any volume (StoreCartel app cost dataset, from App Store listings, 28 Sept 2026). Spread over 300 orders that is about 0.10 per order, moving break-even ROAS to 2.01. At low volume it matters more: 30 orders a month puts it near 1.00 per order and the ROAS to about 2.1.
What changes it
| Variant | Contribution | Margin | Break-even ROAS |
|---|---|---|---|
| Shopify Payments (above) | 19.99 | 50.0% | 2.00 |
| Third-party gateway on Basic: add 2% Shopify fee (0.80), gateway’s own fee not included | 19.19 | 48.0% | 2.08 |
| Refund allowance 10 percent instead of 5 | 17.99 | 45.0% | 2.22 |
| Product cost 16 instead of 12 | 15.99 | 40.0% | 2.50 |
| Free shipping absorbed, cost 8 instead of 5 | 16.99 | 42.5% | 2.35 |
The third-party row uses Shopify’s 2 percent fee on Basic (fees explained); the gateway’s own percentage comes on top and pushes it higher.
Target-profit ROAS
If you want 10 percent of revenue as net profit after ads, subtract it from the margin: 50.0 percent minus 10 percent is 40 percent, so target ROAS is 1 / 0.40 = 2.5. To keep 20 percent it would be 3.3. Read your ad platform’s ROAS against this number, not against a generic “3x is good” rule.
Using it
- Compute it per product, not per store: cost, shipping and refunds differ.
- Use blended ROAS (revenue over all ad spend) for the store, and platform ROAS only for comparison, because attribution overcounts and undercounts: see Meta tracking for Shopify.
- If your break-even ROAS is above what your ads deliver, first check the store, not the ad: traffic but no sales, the diagnostic order.
- For product pricing and margin planning, see dropshipping pricing strategy.
- Duties and tariffs on imported items can move product cost sharply: see the US and EU examples in de minimis and duties.
Common questions
What is a good ROAS for Shopify?
There is no universal number. It is anything above your own break-even ROAS by the profit you need. For the example above, 2.0 is break-even and 2.5 leaves 10 percent.
Do I include VAT in the price?
Use the price after VAT or sales tax, because that is not your revenue.
Method: formula and example are our arithmetic; the payment rate is from Shopify’s pricing page (EU view), checked 29 Sept 2026; the app stack cost is from the StoreCartel dataset.