BACK TO BLOG
TOOL HOW-TOOctober 27, 20267 min read

How to Calculate Break-Even ROAS From Your Margin

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-10-27

The short answer: 2.50x. That is where ads break even at €100 orders, a 60% margin, €10 shipping, 4% fees and 10% refunds, per the worked example on Causality Engine's free break-even ROAS calculator. Set your own line against your MER and against what each channel caused. Never against one platform's ROAS. The caused part comes from a Causality Engine read, which starts with a free first finding at app.causalityengine.ai/start. The steps: gather five inputs, work the line by hand and check it in the calculator. Then set it against MER, and against each channel's caused revenue.

Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.

What sets the line:

  1. Margin alone, as the floor. With no shipping, fees or refunds, break-even ROAS is 1 divided by gross margin. So 50% breaks even at 2x and 25% at 4x, per the calculator's FAQ. Every cost you add raises it.
  2. Inputs your store already reports. Order value, margin, shipping, fees and refund rate sit in your store admin and your payment provider's statements, on Shopify or any other platform. The calculator takes all five.
  3. The number to hold it against. MER, total revenue divided by total ad spend, counts each order once, per the blended ROAS calculator. One platform's ROAS does not.

The tool behind the last step is described in the Causality Engine glossary entry.

Step 1: Gather five inputs

InputWhat the calculator means by it
Average order valueBefore refunds, without VAT or sales tax
Gross marginOrder value minus cost of goods, as a share of order value
Shipping and fulfilmentWhat the store pays per order to pick, pack and ship
Payment and platform feesA share of order value, charged on every order, refunded ones included
Refund rateThe share of orders refunded

One trap sits in the first row, and it is an easy one to step in. If you take order value from GA4, the Data API's schema defines purchaseRevenue as revenue from purchases minus refunded transaction revenue. That is after refunds, under a name that does not say so. The calculator wants it before refunds, so use the store's gross sales or add the refunds back.

An assistant connected to Google's read-only Google Analytics MCP server can pull purchaseRevenue and transactions for the quarter with run_report. The human check: a person sets the result against the store's own gross sales before it goes into the sum.

Step 2: Work it by hand

The calculator page publishes its formula. Contribution per order is order value x margin x (1 minus refund rate), minus order value x fees, minus shipping. Break-even CPA equals that contribution, and break-even ROAS is order value divided by it.

A worked example for a fashion store with heavy returns, in round inputs rather than a real shop: €64 orders, 55% margin, €6.50 shipping, 3% fees, 18% refunds.

  1. Margin after refunds: €64 x 55% x (1 minus 18%) = €28.864.
  2. Fees: €64 x 3% = €1.92.
  3. Contribution per order: €28.864 minus €1.92 minus €6.50 = €20.444, which is also the break-even CPA.
  4. Break-even ROAS: €64 ÷ €20.444 = 3.13x.
  5. To keep 10% of order value as profit: €20.444 minus €6.40 = €14.044 target CPA, so €64 ÷ €14.044 = 4.56x target ROAS.
  6. Without refunds the line would be €64 ÷ (€35.20 minus €1.92 minus €6.50) = €64 ÷ €26.78 = 2.39x. The 18% refund rate adds 0.74x to the ROAS this store needs.

The calculator assumes refunded goods go back into stock. If they cannot be resold, or you pay the return postage, the page says your real break-even is higher than shown.

Step 3: Check it in the free calculator

Enter the same five numbers. The result updates as you type, and an optional field shows the profit per order at the ROAS you run now. You can email yourself the result to forward, or embed the calculator on your own site with the code under it, per the calculator page. If the calculator and your spreadsheet disagree, the arithmetic is not the problem. One of your inputs is on a different basis, usually order value with VAT left in.

Step 4: Set it against your MER

MER is total store revenue divided by total ad spend over the same period. For example, a quarter with €182,400 of revenue and €51,000 of ad spend gives €182,400 ÷ €51,000 = 3.58x. Against the line from step 2, that store covers its ads at 3.13x. It misses its 4.56x profit target. The blended ROAS calculator does the division and adds first-time customer revenue if you have it.

Which of your channels carries that figure, and which rides on it?

Step 5: Leave platform ROAS out of it

Platform ROAS is convenient. It already comes split by channel, which MER cannot do. It is also worked out by the company that sells you the next click, on conversions it shares with the other platforms. The calculator page warns that it usually counts conversions another channel counts too. A break-even line held against it looks cleared more often than the store's own numbers allow.

Causality Engine's over-reporting checker adds up what each platform claims and sets the total against what the store took in. That shows how much is counted twice.

Step 6: Set it against what each channel caused

MER says whether marketing as a whole pays. It cannot say which channel carries it. For that you need each channel's caused revenue over its own spend. Causality Engine's €99 read gives every channel its share of credit once Direct is split back, next to last-click, per the pricing page (checked on 27 October 2026).

For example, take the pricing page's illustrative sample, where Paid Social holds 14% of credit after the split. On the store above, 14% of €182,400 is €25,536. With €12,000 of Paid Social spend, that is €25,536 ÷ €12,000 = 2.13x: under the 3.13x line, whatever the platform's own dashboard says. Make sure revenue and spend cover the same window as the export. Treat the share times revenue as your approximation, not a figure the read prints. Before cutting, the read's next step is a small change in one region, compared after the days it names.

The free line first, then the caused one

The line itself costs nothing: five inputs, the formula on the calculator page, and MER from your own store. It is enough to tell you whether your ads pay as a whole. When the question becomes which channel is under the line, Causality Engine, which I founded, sets every channel next to last-click from your GA4 export. It costs €99 once, refundable within 30 days. Take the free first finding on the start page first, and read how it works for the method.

FAQ

What is a good ROAS?

One above your break-even ROAS. The calculator's FAQ says there is no single good number, because the same ROAS can be a profit for one store and a loss for another.

Is break-even ROAS the same as break-even MER?

Yes, when applied to totals: the store covers its ad spend exactly when MER reaches the break-even ROAS, per the same page. Measure MER on the same revenue basis, before refunds and without VAT.

Can I pay more than break-even CPA for a first order?

You can, as a bet that the customer orders again. The calculator page says break-even CPA covers one order, not customer acquisition cost. The LTV to CAC calculator works out how much that bet can carry.

TAGS
Break-Even ROASROASMERUnit EconomicsCausality EngineEcommerce

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Senior marketing execution

A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.