August 3, 2026
Break-Even ROAS on Shopify: The Number That Actually Decides If Your Ads Work
Chasing a 3x or 4x ROAS target is meaningless without knowing your break-even point. It depends on your margin, not a rule of thumb. Here is how to calculate break-even ROAS for your Shopify store.
Johny | Shopsterra
Break-Even ROAS on Shopify: The Number That Actually Decides If Your Ads Work
Most store owners run ads against a ROAS target they picked from a podcast or a forum thread. 3x. 4x. Some round number that sounds healthy. The problem is that the same ROAS can be wildly profitable on one product and a guaranteed loss on another, and the difference has nothing to do with the ad account. It comes down to margin.
The number that actually tells you whether an ad is working is your break-even ROAS. Below it you lose money on every sale. Above it you make money. And it is different for every product you sell.
What break-even ROAS actually means
Break-even ROAS is the return on ad spend at which the profit from a sale exactly equals the cost of acquiring it. At that point you make nothing, but you lose nothing either. Any ROAS above it is profit. Any ROAS below it is a slow bleed that a growing revenue number will happily hide.
The formula is simpler than it sounds. Break-even ROAS is 1 divided by your contribution margin, where contribution margin is the percentage of the sale price left over after all the variable costs of fulfilling that order, before ad spend.
If your contribution margin is 40%, your break-even ROAS is 1 divided by 0.40, which is 2.5. That means every dollar of ad spend needs to bring back at least $2.50 in revenue just to break even. A ROAS of 2.5 is not a mediocre result on that product, it is exactly zero profit.
Why a fixed ROAS target is a trap
Here is the trap. Say you set a store-wide target of 3x ROAS and you hit it. Feels like a win. But on a product with a 30% contribution margin, break-even is 3.33, so a 3x ROAS is actually losing money. On a product with a 55% margin, break-even is 1.82, so the same 3x ROAS is comfortably profitable.
Run both products under the same 3x target and one is subsidising the other. Scale the whole account and you scale the loss on the thin-margin product right alongside the profit on the fat-margin one. Your blended numbers look fine. One of your products is quietly draining the account.
This is why blended ROAS at the account level is close to useless for decisions. It averages profitable and unprofitable products into a single number that describes neither.
How to calculate your real contribution margin
The break-even formula is only as good as the margin you feed it, and this is where most calculations fall apart. Contribution margin is the sale price minus every variable cost of fulfilling that specific order. That means:
Sale price Minus: landed cost of goods (invoice price plus inbound freight, duties, prep, not just the supplier price) Minus: payment processing fee (roughly 2.9% plus 30 cents on Shopify Payments) Minus: shipping cost you actually pay for the label Minus: expected refund cost, weighted by that product's return rate Equals: contribution margin in dollars, then divide by sale price for the percentage
Most people skip half of these and use gross margin instead, which only subtracts cost of goods. That inflates the margin, which lowers the break-even ROAS, which makes losing campaigns look like winners. If your gross margin is 50% but payment fees, shipping, and a 15% return rate eat another 12 points, your real contribution margin is 38% and your break-even ROAS is 2.63, not the 2.0 you would get from gross margin alone. That gap is the difference between scaling a winner and scaling a loser.
Working through a real example
Take a $70 product. Landed cost $24. Payment fee $2.33. Shipping $6. Return rate 12%, and a returned order costs you roughly $30 all-in after refund, lost outbound shipping, and unrecovered fees.
Contribution before returns: $70 - $24 - $2.33 - $6 = $37.67, which is 53.8% of the sale price.
Now weight in returns. At a 12% return rate, the expected return cost per order sold is 0.12 times $30, which is $3.60. Subtract that: $37.67 - $3.60 = $34.07, or 48.7% contribution margin.
Break-even ROAS is 1 divided by 0.487, which is 2.05.
So on this product, any campaign running below a 2.05 ROAS is losing money once you count everything, even though the product has a healthy-looking 66% gross margin. If you were targeting a blended 3x across the store, you have a lot of room to spend more aggressively on this one and still profit. On a different product with thinner margins, that same 3x might be underwater.
Why Shopify cannot show you this
Shopify knows your revenue and, if you filled in the cost per item field, your gross margin. It does not know your ad spend, which lives in Meta or Google. It does not net out payment fees or shipping label costs against individual orders. It has no concept of return-weighted cost per product. Every input to a correct break-even ROAS lives in a different system, and none of them meet inside Shopify.
That is why the ROAS number people optimise against is almost always the wrong one. It is either the platform-reported ROAS, which ignores costs entirely, or a gross-margin-based break-even that is too optimistic. Either way you are making spend decisions against a target that does not reflect what the order actually costs you.
Making it usable day to day
The point of break-even ROAS is not to calculate it once. It is to know it per product so you can set ad targets that reflect real economics, spend harder where the margin allows, and pull back where a campaign is technically running but losing money.
Doing that by hand means maintaining landed costs, pulling ad spend, tracking return rates per SKU, and recalculating whenever any of those move. It works for a handful of products. It falls apart at scale.
Shopsterra pulls your Shopify orders, ad platform spend, landed costs, fees, and refunds into one place and shows real net profit and effective ROAS per product, so you can see which campaigns are actually above break-even and which just look like they are. You connect your store and ad accounts once and the numbers stay current as your costs move.
If you want to see your real break-even ROAS per product instead of guessing at a store-wide target, connect your store at shopsterra.com/register. Free during beta, no credit card, about 5 minutes to connect.