The Margin Stack30 DAYS FREE + Free Analytics Session $500

The Math / What is a good ROAS

The Math · Spend and customers

What is a good ROAS? The one your margin says you need.

There is no good ROAS in the abstract. A 3x return makes one store rich and slowly bankrupts another, because the ad dollar is paid out of margin, not revenue. The number that decides whether your ROAS is good is your break-even ROAS, and it falls straight out of your own contribution margin.

The short answer

A good ROAS is one that clears your break-even ROAS, 1 ÷ contribution margin, with enough left over to cover fixed costs and profit. At a 40% margin the floor is 2.5x; at 25% it is 4.0x. Blufire prices every channel in CM1-MER so the floor sits next to the number.

5.0 on Google · 100+ businesses · $153M revenue influenced

The formula

Break-even ROAS = 1 ÷ contribution margin (before marketing)

  • Contribution margin
  • Break-even ROAS
The formula

Break-even ROAS is the reciprocal of your margin.

Every dollar of ad spend has to come out of the margin a sale leaves behind. So the return you need is simply the revenue it takes to produce one dollar of margin.

TermWhat it means
Contribution marginRevenue less every variable cost you want the ad spend to cover, as a decimal (0.40 for 40%). On The Math this is the CM2 rung: landed COGS, fulfilment, shipping and payment fees removed.
Break-even ROASThe reported ROAS at which a campaign's margin exactly pays for its ad spend. Below it, every order loses money on variable cost alone.

The Math writes this rule in two places, once as 1 ÷ CM and once as 1 ÷ CM2. Same rule; what matters is the margin you divide by, which must already include every variable cost you expect the order to cover. Divide by gross margin and fulfilment, fees and returns are silently treated as free, so the floor looks lower than it is. Divide by CM3 and the ad spend is counted twice.

The benchmarks on The Math show why no single ROAS target works: median brand contribution margin is about 25%, with a quartile spread from 3% to 56% (Finaloop aggregated dataset, cited on The Math). At 25% the floor is 4.0x. At 40% it is 2.5x. At 70% it is 1.43x.

Which margin to divide by

The floor rises as you count more of your real costs.

One A$100 order, stepped down. Landed COGS A$45, fulfilment, shipping and payment fees A$15, and a returns allowance of A$5 per order.

Margin you divide byMarginBreak-even ROASCosts it leaves unpaid
CM1: revenue less landed COGS55%1.82xFulfilment, shipping, fees, returns
CM2: less fulfilment, shipping and fees40%2.50xReturns
CM2 net of returns35%2.86xNo variable costs; fixed costs still to pay
CM3: after ad spendn/an/aCounts the ad spend twice; do not use

Demonstrative numbers. A campaign reporting 2.2x looks profitable against the CM1 floor and is losing money against the true one. If discounts or returns move with the order, they belong in the margin before you divide.

Same ROAS, opposite verdict

Two 3.4x campaigns. One should scale, one should stop.

The pair published on The Math: two A$80 orders, both bought with A$23.60 of ad spend, so both report 3.4x (A$80 ÷ A$23.60 is 3.39x, shown as 3.4x). Only the margin differs.

Worked example / demonstrative numbers
High-margin order: CM2 62% of A$80A$49.60
Break-even ROAS: 1 ÷ 0.621.61x
Less ad cost per order−A$23.60
CM3 per order, high-margin+A$26.00
Low-margin order: CM2 26% of A$80A$20.80
Break-even ROAS: 1 ÷ 0.263.85x
Less ad cost per order−A$23.60
CM3 per order, low-margin−A$2.80

The first clears its floor by roughly 2x and earns A$26 an order. The second sits below its 3.85x floor and loses A$2.80 an order, so scaling it only grows the loss. Check your own floor with the break-even ROAS calculator.

From break-even to good

A good ROAS leaves margin for the rest of the business.

Break-even means zero contribution after ads, and rent, salaries and software still need paying. So set a target: decide how much margin you want left after marketing, and solve for the return.

Target ROAS = 1 ÷ (contribution margin − margin you want left after ads). At a 40% margin, keeping 15 points of revenue after ad spend means ads can take 25 points, so the target is 1 ÷ 0.25, or 4.0x. The same logic applies account-wide with MER, which you can set with the target MER calculator.

One more correction before you trust any ROAS: the revenue in it is claimed by the platform, not caused by it. The Math cites a documented Meta test showing 2.1x true incremental return against 4.8x platform-reported (Measured, 2024). A campaign can clear its floor on paper and miss it in reality. See platform over-claiming for how to deflate a reported number, and the ROAS formula for the ratio itself.

How Blufire automates it

Every channel priced in margin, not platform ROAS.

Section S6, Marketing / Channels, reads each channel in CM1-MER, contribution margin over spend, so the question "is this ROAS good?" is answered against the margin the orders actually left. The channel credit is Blufire's own attribution, credit-weighted across each order's touches, never Shopify last-touch.

  • Channel ReadEvery source priced in CM1-MER instead of platform ROAS.
  • Blended CM1-MER decompositionThe account's blended efficiency broken into each channel's contribution.
  • SKU x channel matrixWhich products travel through which channels, in true contribution margin.
  • Per-source customer profilesWhat each channel's buyers become after the first order, side by side.
See section S6, Marketing / Channels→
S6 Marketing / Channels · Product through channel
Blufire product through channel matrix showing credit-weighted CM1 by product category and acquisition channel

Real product screen, shown on sample data.

Common mistakes

How a good-looking ROAS turns out to be a bad one.

  • Borrowing someone else's target.A 4x rule of thumb is break-even at a 25% margin and generous at 60%. Your floor comes from your contribution margin, nobody else's.
  • Dividing by gross margin.It leaves fulfilment, fees and returns out, so the floor is set too low and loss-making campaigns pass.
  • One floor for the whole account.Campaigns selling different products carry different margins, so each needs its own break-even ROAS.
  • Treating break-even as the goal.Clearing the floor pays variable costs only. Fixed costs and profit need the gap above it.
Proof
“They're experts in their field and genuinely seem to care about us winning… they achieve all the results we could hope for where it matters.”
WMWill MacphersonGoogle review
Google review
Easy TigerNZ$330kin new revenue, ROAS 4 to 11, once the attribution was fixedRead the case study →

5.0 on Google · 100+ businesses · $153M revenue influenced

FAQ

Questions operators ask.

One that clears your break-even ROAS, 1 ÷ contribution margin, with room left for fixed costs and profit. There is no universal figure: at a 40% contribution margin the floor is 2.5x, at 25% it is 4.0x and at 70% about 1.43x. Work out your floor first, then set a target above it.
It depends on your margin. At a 50% contribution margin the break-even is 2.0x, so 3x leaves real profit. At a 30% margin the break-even is about 3.33x, so 3x loses money on every order. The same reported ROAS can be a strong campaign or a slow loss.
Divide 1 by your contribution margin before marketing, as a decimal. The margin must already include every variable cost you want covered: landed COGS, fulfilment, shipping, payment fees and, if they move with the order, returns and discounts. At 40%, 1 ÷ 0.40 gives a 2.5x floor.
Break-even ROAS is the return where ad spend uses up all the contribution margin and profit is zero. Target ROAS leaves a chosen share of revenue after ads: 1 ÷ (contribution margin minus the margin you want kept). At 40% margin, keeping 15 points gives a 4.0x target.

Ready to see what you are actually keeping?

Free for 30 days. Free to install.