Shopify break-even ROAS

Shopify break-even ROAS: how to work out your target

How to calculate break-even ROAS for a Shopify product from price, product cost, shipping and fees, with a worked example and the mistakes that skew it.

Key takeaways

  • Break-even ROAS is price divided by the money left after product cost, shipping you pay, and fees.
  • It belongs to the product and the price. A discount, a bundle or a supplier increase all change it.
  • Set the campaign target above break-even, not at it, to leave room for returns and weak days.
  • Use one source for revenue, and the price customers actually paid.

What break-even ROAS is

ROAS is revenue divided by ad spend. Spend $500 and sell $840, and Ads Manager shows 1.68. Break-even ROAS is the lowest ROAS at which a sale still pays for itself. Below it you lose money on every order. Above it, the extra is what is left to cover everything the ads and orders do not: returns, apps, your time, and profit.

The number is a property of the product, not of the campaign. It depends on the price, what the product costs you, what you pay to ship it, and the payment fee. Change any of those, and the number changes.

The formula

  1. Take the price the customer actually pays.
  2. Subtract product cost, the shipping you pay (not the shipping you charge), and the payment fee. What is left is the money available for ads. Call it contribution.
  3. Divide the price by the contribution. That is break-even ROAS.

The contribution is also the most you can spend on ads for one order. If contribution is $27, any order that costs more than $27 in ads loses money.

If contribution is zero or negative, there is no break-even ROAS. Ads are not what is broken. The price does not cover the product, the shipping and the fee, so fix the price or the cost before you buy any traffic.

Where to find each number

  • Price. The amount on the order after discounts, not the compare-at price. In Shopify, the orders export has it per line.
  • Product cost. Your latest supplier or manufacturer invoice, including any per-unit packaging and inbound freight you pay. If you buy in batches, divide the batch total by the units.
  • Shipping you pay. The average of recent shipping labels or your fulfilment partner's invoice, per order. If you charge the customer for shipping, count only the part you pay beyond what you collect.
  • Fees. The card rate on your Shopify plan (a percentage plus a fixed amount per order), plus any per-order app or fulfilment charge. If you use PayPal or another processor, use its rate.

Write the source and the date next to each number. A break-even built on a price you have since changed is the most common reason a good campaign gets cut or a bad one gets scaled.

How to work it out with the calculator

  1. Open the Shopify ROAS calculator and pick your currency.
  2. Enter the selling price after any discount you plan to run.
  3. Enter the product cost from your supplier invoice, not from memory.
  4. Enter shipping and fees together: the postage or fulfilment cost you pay, plus the payment fee (Shopify Payments charges a percentage plus a fixed amount per order, so use your plan's rate).
  5. Read three numbers: break-even ROAS, the maximum cost per order, and the money left before ads.
  6. Write the break-even number next to the campaign target in your notes, so the two are never mixed up.

Worked example

This is an example with made-up figures, not a result from a real store. Say you sell a 30ml serum for $42. The product costs $9, shipping costs you $4.50, and the payment fee is 2.9% plus $0.30, which is $1.52 on a $42 order.

  • Shipping and fees: $4.50 + $1.52 = $6.02
  • Money left before ads: $42 − $9 − $6.02 = $26.98
  • Break-even ROAS: $42 ÷ $26.98 = 1.56
  • Most you can pay per order in ads: $26.98

Now the same product in a campaign. You spend $500 and the account reports $840 in sales, which is 20 orders. The ROAS is 1.68, only a little above 1.56. The orders left $539.60 before ads (20 × $26.98), so you ended $39.60 ahead, before returns and anything else you pay for. That is a campaign you should not scale yet, even though 1.68 looks fine on a dashboard.

Three changes to the same product show how the target moves:

  • A 20% discount code. The price drops to $33.60, the fee to $1.27, and contribution to $18.83. Break-even ROAS rises to 1.78. The sale needs more from the ads while it runs.
  • A two-pack at $76. Product cost $18, one parcel at $6, fee $2.50. Contribution is $49.50 and break-even ROAS is 1.54. A bundle can lower the target and raise the order size.
  • A supplier price rise to $11. Contribution drops to $24.98 and break-even ROAS rises to 1.68. Your 1.68 campaign is now at break-even.

What returns do to the number

The formula above treats every order as kept. Real stores refund some. This example uses the same $42 serum and 100 orders, with 8 of them refunded in full and the product not resalable.

  • Revenue collected: 92 × $42 = $3,864 (the platform still reports $4,200, because it counts the refunded orders too)
  • Costs you still pay on all 100 orders: product $900, shipping $450, fees $152 (card fees are not always returned), total $1,502
  • Left for ads: $3,864 − $1,502 = $2,362, which is $23.62 per order
  • Break-even ROAS as the ad platform reports it: $4,200 ÷ $2,362 = 1.78

An 8% refund rate lifts the real break-even from 1.56 to 1.78. That gap is why the target should sit above break-even. If your return rate is higher or the product cannot be resold, widen the cushion further.

Turning break-even into a target

Do not set the campaign target at break-even. Returns, bad days and costs you have not counted all come out of the gap. A common approach is to set the target 20 to 30% above break-even, and to raise the cushion for products with high return rates. On the example above, 25% over 1.56 gives a target near 1.95.

Whether you can accept a lower first-order ROAS depends on repeat purchases. If customers come back, check the customer lifetime value guide before you decide the first sale has to pay for everything. If they do not, the first order has to stand alone.

Common mistakes

  • Using the full price during a sale. If customers paid $33.60, work from $33.60. A miss against the full-price target is not yet proof the ads failed.
  • Leaving out the payment fee. It looks small, but at a 1.5 break-even it moves the answer in the second decimal place that decides scale or hold.
  • Counting shipping you charge the customer as a cost. Only the part you absorb belongs in the calculation.
  • Using a supplier price from last season. Open the latest invoice.
  • Comparing platform-reported revenue with store revenue. Meta and TikTok report conversions their own way. Pick one source for revenue and say which one you used.
  • Reusing the old target after a price or bundle change. Run the new unit again.

A routine that keeps the target honest

  1. Recalculate whenever the price, the supplier cost, the shipping rate or the payment plan changes.
  2. Recalculate for every bundle, multipack and discount code you run as its own line.
  3. Once a week, compare the platform's reported ROAS with the break-even for the product being advertised, not with a storewide number.
  4. Once a month, compare the store's total revenue with total ad spend. This blended figure is useful because platforms disagree about which ad deserves credit for a sale.

None of this predicts what a campaign will do. It tells you where the line is, so that when the dashboard turns green you know whether it is green for the right reason.

What to check next

Break-even ROAS answers one question: what return does this order need. To estimate the ad cost before you have any data, use the guide to cost per purchase. To see what a sale really keeps, read gross versus net margin. To judge a finished campaign on profit rather than ratio, use ROI versus ROAS.

If the target is above what your ads deliver, you have two levers: lift the order value (the average order value lesson covers thresholds and bundles) or fix the page the traffic lands on with the Shopify CRO Audit.

Shopify questions

How do I calculate break-even ROAS for Shopify ads?

Subtract product cost, shipping you pay and the payment fee from the selling price. Divide the price by what is left. For a $42 product that leaves $26.98, break-even ROAS is 42 ÷ 26.98, about 1.56.

What is a good ROAS for Shopify?

There is no universal figure. A good ROAS is one that clears your own break-even with a cushion. A high-margin product can be profitable at 2, a thin one may need 4.

Is break-even ROAS the same as MER?

No. ROAS covers one ad account's reported revenue over its spend. MER is total store revenue over total marketing spend. Break-even applies to both, but you compare each with a target built from the same costs.

Can break-even ROAS be under 2?

Yes. Any product that leaves more than half the price after product, shipping and fees has a break-even under 2. The example above is 1.56.

Should I include returns?

Not in the break-even number, which is for one clean order. Cover returns with a cushion on the target, or work out profit with the ROI calculator once the campaign has finished.