Brand operations

No gross margin tells you a product can afford paid ads

A positive gross-margin percentage does not say whether a product can take paid acquisition. A margin of zero or below leaves no cash for ads, so there is no break-even ROAS to aim at. Where cash remains after the order's variable costs, that cash limits ad spend per order.

A pale three-column ledger shows a tall gross-margin block, four thin slabs removed, a short remainder marked as ad spend per order, and a short order left with nothing.

Key takeaways

Break-even ROAS is order value divided by contribution before ads, and only when that remainder is positive.

It leaves nothing for overhead or a margin after ads.

On the assumed inputs, a £15 order at 50% gross margin has no cash left for ads, while a £90 order at the same margin still has £29.50.

Whether a product can take paid acquisition depends on contribution before ads, the cash left after product cost, postage, the pick fee, the card fee and a return reserve. A gross margin of zero or below leaves that cash at zero or negative, which rules the product out. A positive percentage, including 30%, 50% or 70%, leaves the question open.

Ad spend comes from what remains after the order has also paid to be packed, posted, processed and, on some orders, refunded. The ceiling is that cash as ad spend per order, not the price of one click.

What 1 divided by gross margin leaves out

Skaleit writes break-even ROAS as 1 divided by gross margin as a decimal. Its example takes a $100 product with $20 of product cost to a 1.25x break-even, and subtracts nothing for shipping, fees or returns in that sum. Skaleit calls a cost-of-goods-only break-even optimistic. The same page lists shipping, payment fees and refunds, and its calculator adds those and other variable costs before it divides.

EightX defines contribution margin as revenue minus cost of goods sold, shipping, payment fees, returns and discounts, before fixed overhead and before ad spend. The same page opens by stating break-even ROAS as 1 divided by gross margin, so the two denominators are not reconciled there. Use the contribution-margin denominator, and keep ad spend out of it, or the division counts advertising twice.

Funnelytics runs the fuller stack on a vendor illustration in US dollars, not a benchmark. An $80 order with $28 of product cost, $7 shipping, processing at 2.9% plus $0.30, and a 3% refund allowance keeps $39.98. Funnelytics equates that $39.98 with the maximum profitable CPA. Gross margin on the order is 65%, so 1 divided by 0.65 is 1.54x and treats $52 as available. Break-even ROAS on the published remainder is $80 divided by $39.98, which is 2.00x.

Break-even ROAS from contribution before ads

Build contribution before ads from the amount you actually collect. Subtract product cost, postage, pick and pack, payment processing, an allowance for expected refunds, and any other cost that appears because the sale happened, such as a usage-based per-order fee. Leave fixed subscriptions out unless you allocate them on purpose. If your order value is already net of discounts, don't subtract the discount again. EightX treats discounts as part of what contribution is net of, so a pre-discount price overstates the cash.

Break-even ROAS is order value divided by contribution before ads when that remainder is above zero. That matches 1 divided by contribution margin when contribution margin means the remainder as a share of order value. Memberply states the same division, and states that it requires positive contribution before ads.

EightX takes contribution before fixed overhead and before ad spend, so a pass is an order-level pass before overhead.

Three gross margins, one order value

The three products below are hypothetical, with assumed costs rather than category benchmarks. If you sell in another currency, use your own postage, pick fee and processing charge, and take the card rate from your statement.

Each order is £100, excluding VAT. Product cost is the only line that changes with gross margin. The other lines are assumed inputs:

  • Postage £4.50
  • Pick fee £1.75
  • Card fee 2% plus 25p on the £100 excluding VAT, which is £2.25. If the percentage is charged on the sale including VAT, this line is too low.
  • Return reserve 8% of order value, £8.00

Those four lines total £16.50. Postage, the pick fee and the return reserve are assumed inputs. The card line assumes 2% plus 25p, and this article does not present that rate as a confirmed current Shopify tariff.

| Gross margin | Product cost | Gross profit | Contribution before ads | Break-even ROAS | 1 divided by gross margin allows | | --- | --- | --- | --- | --- | --- | | 70% | £30.00 | £70.00 | £53.50 | 1.87x | £70.00, or 1.43x | | 50% | £50.00 | £50.00 | £33.50 | 2.99x | £50.00, or 2.00x | | 30% | £70.00 | £30.00 | £13.50 | 7.41x | £30.00, or 3.33x |

Break-even ROAS in the table is rounded to two decimal places. Contribution before ads equals gross profit minus £16.50.

MerchantFlow's spread is arithmetic, not an observed benchmark: contribution margin above 60% breaks even below 1.7x, and a 25% to 30% contribution margin needs 3.3x to 4.0x. Don't map the 70% gross-margin row onto that above-60% line. Contribution margin here is £53.50 divided by £100, or 53.5%, and 1.87x is the ratio that percentage produces. The 30% gross-margin row is a 13.5% contribution margin, which is why break-even ROAS is 7.41x, outside that 25% to 30% band.

Whether £13.50 is reachable depends on the ad spend per order you already pay for this kind of sale. Compare that cash with your own figure.

If you need money left after ads, the ceiling drops. On the 50% row above, keeping £10 of the £100 order after ads limits ad spend to £23.50, not £33.50.

The same gross margin on a smaller order

A fixed postage charge and a fixed pick fee take a larger share as the order gets smaller. A fixed pence on the card fee works the same way, whichever percentage is on the statement.

If a heavier parcel costs more to post, replace the £4.50 assumption before you trust the larger order.

A £15 order at 50% gross margin has £7.50 of gross profit. The card fee is 55p and the return reserve is £1.20, so the four lines total £8.00 and contribution before ads is a loss of 50p. The gross-margin shortcut still treats £7.50 as available, because 1 divided by 0.50 is 2x, but a loss leaves no positive remainder the formula can turn into a spend.

A lower card rate does not rescue it. At 1.5% plus 20p the card line on £15 would be 42.5p rather than 55p, and contribution would still be a loss of 37.5p.

The same £15 order at 70% gross margin has £10.50 of gross profit and the same £8.00 of order costs, so £2.50 is left. Break-even ROAS is 6.0x.

A £90 order at 50% gross margin, one parcel, same postage and pick, has £45 of gross profit. The card fee is £2.05 and the return reserve is £7.20, so order costs are £15.50. Contribution before ads is £29.50, and break-even ROAS is 3.05x, rounded. On these inputs, ad spend per order on that £90 sale can go up to £29.50.

A flat percentage of revenue is a blunt return reserve. Funnelytics subtracts its 3% refund allowance from the order as cash, which is the same shape of adjustment. If you recover resaleable stock, 8% of revenue can overstate the loss. Put your own return cost in the line, then run it again.

Platform ROAS may not use this numerator

On the £90 example, the 3.05x puts the £90 order value in the numerator and takes the 8% return reserve out of contribution. Reported ROAS in Meta or Google Ads uses the revenue the platform recorded, which may not be this £90 numerator. Copyfy handles refunds either as an expected refund allowance in variable costs or as ROAS from revenue net of actual refunds, and says to use one method consistently. Netting refunds out of the numerator and then testing that figure against the same 3.05x deducts the return twice.

A repeat order is a cash-gap decision

The break-even figure uses one order's value and that order's contribution before ads. A later order's contribution stays outside that ceiling. Writing the assumption down, and having cash to fund the wait, leaves the ceiling where it is.

Take the £100 order at 30% gross margin, with £13.50 left. Suppose you assume one later order from the same customer, with the same £13.50 contribution and no further ad spend, so lifetime contribution before ads becomes £27. If ad spend on the first order reaches that full £27, the shortfall on the first order reaches £13.50, the cash you are waiting to recover from the later order. Spending between £13.50 and £27 leaves a smaller shortfall. Funding the gap lets you wait for the repeat, but it does not make the first order cash positive, and the overspend stands if the repeat does not arrive.

No repeat rate sits behind that second £13.50. It is an input you choose, in the same way the postage line is an input you choose.

Before you fund a test

  1. Rebuild contribution before ads from your own statements: amount collected, product cost, postage, pick fee, card fee, return cost, and any usage-based per-order fee.
  2. If the result is zero or negative, keep the SKU off paid acquisition. Change price, basket, product cost, postage, pick fee or returns before you spend on a test.
  3. If the result is positive, that cash is the first-order ad-spend ceiling. Lower it when you need a margin after ads. Spending past the ceiling loses cash on the first order.
  4. Bennett Financials advises brands to filter campaigns and SKUs by contribution margin first, then optimise ROAS inside that profitable set.
  5. If postage and the pick fee are what took contribution before ads to zero or below, the next decision is fulfilment.

For the SKU-level version of this screen, see Do you retire product rules, or judge SKUs on CM2?. If postage and the pick fee are the costs you can change, 3PL, owned fulfilment or hybrid: how to choose without guessing covers the choice between a 3PL, owned fulfilment and a hybrid.

Sources

  1. Funnelytics, Break-Even ROAS Calculator funnelytics.io Contribution margin per order is AOV minus COGS, shipping and fulfilment, payment processing, a refund allowance and other per-order costs.
  2. Kitchn, How to Calculate Break Even ROAS kitchn.io Maximum allowable ad spend equals revenue minus variable costs other than advertising.
  3. Memberply, Break-Even ROAS Calculator for Shopify memberply.com Memberply calculates break-even ROAS as order revenue divided by contribution before ads, or 1 divided by contribution margin as a decimal.
  4. Copyfy, Break-even ROAS calculator and formula copyfy.io In its key takeaways, Copyfy says ad platforms do not subtract every refund or dispute, and tells readers to recalculate with net revenue.
  5. Skaleit Agency, Break Even ROAS Calculator for Ecommerce (2026) skaleit.agency Included as the gross-margin framing to correct, not as the method. It states break-even ROAS as 1 divided by gross margin as a decimal.
  6. EightX, What is ROAS? eightx.co The definition belongs to EightX, not Skaleit: contribution margin is revenue minus product cost (COGS), shipping, payment fees, returns and discounts, taken before fixed overhead and before ad spend. The sentence must name EightX as the source.
  7. Bennett Financials, Why ROAS is Lying to You bennettfinancials.com Bennett Financials advises e-commerce brands to filter campaigns and SKUs by contribution margin first, then optimise ROAS within the profitable ones. This is advice to brands, not a description of what the firm does itself.
  8. MerchantFlow, Break-Even ROAS Calculator merchantflow.ai The stated spread is arithmetic, not an observed benchmark: contribution margin above 60% breaks even below 1.7x, while a 25–30% margin needs 3.3x to 4.0x.
  9. Airwallex, Shopify Payments Fees Explained airwallex.com Airwallex says, in the present tense, that Shopify charges UK Basic-plan merchants 2% + 25p per domestic card payment. Its worked example is a £100 sale costing £2.25 in processing fees.
  10. Varsuite, Shopify Fees UK Explained varsuite.co.uk Included as a dissenting fee source. It gives different UK rates, including Basic at 1.5% plus 20p, so no rate from this page is stated as current.

Useful answers

Questions operators ask

Does a 70% gross margin mean a product can afford paid ads?

Not by the percentage alone. On the assumed inputs, the £100 order at 70% still has £53.50 left after the four order-cost lines, and the £15 order at 70% still has £2.50. Those remainders are the ad-spend ceilings on those orders. A higher postage, pick fee or return cost can use a 70% gross profit up, so the percentage is not a pass on its own.

Does clearing break-even ROAS mean the company made money?

No. Clearing it means the first order covered product cost, the per-order variable costs in the stack, and ad spend up to contribution before ads. Fixed overhead, income tax and unallocated subscriptions can still be unpaid. A target that holds money back after ads is tighter than this break-even.

About the author

Eddie Cheng

Eddie Cheng founded Penang Media and co-owns VIBAe. He writes from the agency and brand sides of ecommerce growth, connecting paid acquisition with stock, margins, cash flow and contribution profit.

More from Eddie Cheng