Skip to content

Break-even math

ROAS Calculator: Break-Even and Target, From Real Margin

A ROAS calculator that starts from margin: break-even = 1 ÷ contribution margin, target ROAS from a profit goal, and a worked example from $414k of spend.

2026-07-16 · updated 2026-07-19Covers
Read it your wayShare
Don't know your numbers? Build them from one typical order — sources for every field below

Product cost: Shopify → Products → "Cost per item" (that's unit cost — use landed if you track it). Actual shipping: your carrier invoice or shipping app, not what you charged. Rate and fixed fee: your payment statement, or Shopify Payments defaults (2.9 / 2.7 / 2.5% + 30¢). Other per-order: packaging plus pick-and-pack labor — an estimate is fine.

One thing this understates on purpose rather than by accident: your processor charges its rate on the whole transaction, sales tax included, while the margin here is figured on revenue only. If you collect tax, your real fee is a little higher than the number above — gross the rate up, or take the fee straight off your statement instead of the published rate.

Can't pull these cleanly? That gap is the finding — the scan does this join for you.

The margin you typed is a full-price, kept-order margin. Discounts cut it and returns cut it again, and neither is in the number. Your blended margin across a real month is lower — often by several points — so your true break-even sits above the one shown here. The scan measures the gap on your own orders.

Break-even ROAS is one division: 1 ÷ your contribution-margin ratio. A store keeping 25 cents of contribution margin per revenue dollar breaks even at 4x. That’s the whole formula — the work is knowing your real margin ratio, which is where most stores get it wrong. Past break-even, the same tool runs as a target ROAS calculator. Enter the margin you want back per ad dollar — $1.00 is break-even — and it returns the ROAS that hits it.

What’s my break-even ROAS?

ROAS is revenue divided by ad spend. Contribution margin ratio is what a revenue dollar keeps after product cost, actual shipping, processing fees, and per-order handling. Ad-driven profit is revenue × margin ratio − spend. Set that to zero and divide: break-even ROAS = 1 ÷ margin ratio. No model, no benchmark, no folklore — arithmetic you can redo on a napkin.

The worked example, from my own books

Revenue reporting showed none of that gap — a ROAS most brands would celebrate was running barely above water. When someone in r/PPC writes “my break-even point is therefore at a 330% target ROAS,” they’ve done this same division with a 30% margin ratio: the formula is the common ground under every store’s different answer.

What is a good ROAS?

There is no universal good ROAS. A good ROAS is any ROAS above your own break-even, which is 1 ÷ your contribution-margin ratio. So the bar moves with your margins, not the market. A store at 25% margin is winning above 4x; a store at 12% needs better than 8x for the same campaign to clear.

Published benchmarks cannot see that. The common “4x rule of thumb” is just 1 ÷ 25% dressed as a law. Any “average ROAS” figure blends stores with different cost structures into one number that fits none of them. Treat a benchmark as a comparison, never a target. The only ROAS that proves an order made money is the one built from your own costs.

ROAS vs ROI: what’s the difference?

ROAS is revenue ÷ ad spend. ROI is profit ÷ cost: it counts what you keep after product, shipping, and fees, not what you gross. The same 4x ROAS is a healthy return at a 25% contribution margin and a loss at 12%. ROI runs revenue through your margin; ROAS never does.

Break-even ROAS is the bridge between them: 1 ÷ your contribution-margin ratio is exactly the ROAS where ROI crosses zero. Above it, ad-driven orders are profitable; below it, you are buying revenue at a loss.

POAS vs ROAS: which number should run your ads?

POAS is profit on ad spend: contribution margin divided by ad spend, where ROAS divides revenue. Same denominator, honest numerator. A ROAS above 1 only means revenue beat spend, before product, shipping, and fees come out; a POAS above 1 means the margin covered them too. That gap is where a campaign reads profitable and isn’t.

A POAS of 1.0 is break-even: one dollar of margin for every ad dollar. So break-even ROAS and POAS are one fact from two angles: above the line POAS climbs past 1, below it the margin stops covering the spend. The account in the worked example ran 9.2x ROAS and a POAS of 1.04, four cents of margin over each ad dollar, on a revenue number most brands would frame as a win.

Reporting on ROAS while bidding on POAS is the larger build. Break-even ROAS is where it starts: the same margin the calculator above needs, written as a live target instead of a line. Running your own version of that split is the clean test, and it is the first thing I run on your account.

Is ROAS misleading for stores with variable margins?

Yes. When your margins vary by product, one account-wide ROAS is an average, and an average hides the losers inside it. Two products can post the same ROAS and sit on opposite sides of break-even.

In one catalog I ran, the products behind 90% of revenue produced only 75% of the gross profit. The other 10% of revenue made 25% of the profit: a 3.0x spread in margin rate that a single blended ROAS target is structurally blind to. That is arithmetic, not an estimate.

The caveats travel with that number: it is a counterfactual allocation policy, not an experiment I ran; it assumes a uniform 11.31% margin ratio; and the platform-attributed baseline biases the improvement down, so it is conservative. The obvious objection, that hindsight makes any reallocation look good, is the whole point: margin-fed bidding is the mechanism that does this ex-ante, before you know which segments lose. Running your own version of that split is the clean test, and it is the first thing I run on your account.

Where your numbers live

Don’t guess the inputs — pull them:

Product cost
Shopify → Products → “Cost per item” (unit cost; use landed cost if you track freight and duties)
Actual shipping
Your carrier invoice or shipping app, not the rate you charged at checkout
Processing
Your payment statement, or the Shopify Payments plan defaults
Per-order handling
Packaging plus pick-and-pack labor; an estimate beats omitting it

If pulling these takes an afternoon of exports, that’s not a you-problem — it’s the visibility gap this whole site is about, and it’s exactly what the scan joins for you.

Running your own number settles a second decision founders usually make on folklore: whether Shopify Plus pays for itself. Break-even there is the plan-fee gap over your processing savings. Same refusal to inherit a number, different costs.

The two mistakes that break the math

Using gross margin. Product cost is the margin killer everyone counts. The orders that flip negative do it on the costs nobody joins: carrier invoices, processing fees, refunds. I only saw the full picture after building the join that sets every real cost against the order.

Trusting the platform’s ROAS as your numerator’s base. Platform revenue is attributed revenue, on the attribution model’s terms. Use it consistently or use account-level totals consistently — mixing bases makes both numbers lie.

What this number is for

A break-even ROAS turns every campaign report into a yes/no question: above the line or below it. It also exposes the deeper problem — if your margins vary by product, one account-wide break-even is already an average hiding losers, and the real fix is feeding margin into bidding itself. That’s a bigger build; the division above is where it starts.

Quick answers

Should I use gross margin or contribution margin?

Contribution margin. Gross margin ignores shipping actuals, processing fees, and per-order handling — the costs that flip orders negative. Using gross margin sets your break-even too low and calls losing campaigns winners.

What target ROAS equals a 30% profit margin goal?

Break-even ROAS is 1 divided by your contribution-margin ratio: at a 30% contribution margin that is 3.33x — a POAS of 1.00, a dollar of margin back for every dollar you spend. To clear more than break-even, divide the margin you want per ad dollar by that same ratio: $2 of margin per ad dollar needs 6.67x. The calculator above does both.

What is a good ROAS?

There is no universal good ROAS. Good is any ROAS above your own break-even, which is 1 divided by your contribution-margin ratio. Published benchmarks, the common 4x rule of thumb included, are averages across stores with very different margins. They cannot tell you whether your own orders make money. Your break-even can. A benchmark is for comparison, never a target.

What is the difference between ROAS and ROI?

ROAS is revenue divided by ad spend. ROI is profit divided by cost: it counts what you keep after product, shipping, and fees, not what you gross. A 4x ROAS reads the same on any store. But at a 25% contribution margin it is exactly break-even; at 15% it loses money. Break-even ROAS, built from contribution margin, is the ROAS where profit turns positive.

What does POAS mean?

POAS stands for profit on ad spend: the contribution margin your ads generate divided by what you spent to get it. It is the profit-based counterpart to ROAS, which counts revenue instead of margin. A POAS of 1.0 is break-even, one dollar of margin for every ad dollar.

What is the difference between POAS and ROAS?

ROAS is revenue divided by ad spend; POAS is profit on ad spend, contribution margin divided by that same ad spend. ROAS can look healthy while POAS sits at a loss, because revenue has not yet paid for product, shipping, and fees. Break-even ROAS is the point where POAS equals 1.0.

The fine print — where these numbers come from

Break-even revenue ROAS 8.84x = 1 ÷ the 11.31% contribution-margin ratio measured on my own store, Feb–Dec 2025. Method written up; ask and I'll send it.

The same account averaged 9.2x revenue ROAS on $414,273 of spend — 4% of headroom above its own break-even. Nobody could see that in the dashboard.

Product names and logos are the property of their respective owners, shown for identification only. No endorsement implied.