Break-Even ROAS for Shopify: Work It Out From Margin
How to calculate break-even ROAS for a Shopify store from contribution margin: GST, shipping, payment fees, returns and discounts, with an AUD worked example.
Quick answer: Break-even ROAS is the order value your ad platform reports divided by the profit each order leaves before ad spend. That profit is your contribution per order: take out GST, product cost, shipping, packing, payment fees, discounts and an allowance for returns. In the illustrative A$99 order below, counting product cost alone gives a break-even ROAS of 1.38, while counting every cost gives 2.18, so any ROAS in between looks like a profit and is a loss.
The usual break-even ROAS formula, including the one in Shopify’s own guide, is 1 divided by your margin. The formula is right. The trouble is the margin you feed into it. If it is the margin on the product itself, the break-even ROAS you get is a floor you will fall through.
This guide walks the full route from the price on your product page to a break-even ROAS you can defend, in the order I would build it in a spreadsheet. It uses Australian dollars and treats GST properly. Every dollar figure is illustrative: a made-up product, so you can follow the arithmetic and swap in your own numbers. The fee rates, the Meta definitions and the GST rules come from the primary sources named in the text, read on 31 October 2026.
A note on scope. Prism3 does not run ads or email. We work on what happens after the click and on measurement you can trust, so the last sections bridge from your break-even number to those two things. The calculation is yours to run, whoever manages your ads.
Why break-even ROAS comes first
ROAS is a revenue number. Meta’s Business Help Center describes website purchase ROAS as website purchases conversion value divided by amount spent, based on purchase events recorded by the Meta pixel or Conversions API and attributed to your ads. It says nothing about what the product cost, what you paid to ship it, or what you refunded. A campaign at 2.0 can be making money for one store and losing it for another, so the number only means something against your own break-even.
Shopify’s break-even ROAS guide (published 2 September 2026) gives the shortcut. It defines gross profit margin as (revenue minus variable costs) divided by revenue, and break-even ROAS as 1 divided by that margin. Its worked example is a $100 product with $60 of variable costs: a 40% margin and a break-even ROAS of 2.5. It counts cost of goods sold, shipping including packaging, payment processing fees and pick and pack fees as variable costs, and leaves out fixed costs such as rent and salaries.
That is a sound start. As I read it, the guide does not work through returns, discounts or GST. Those three are easy to leave out, and leaving them out makes the answer too optimistic.
The formula, and the one rule that keeps it honest
Break-even ROAS = reported order value ÷ contribution per order before ad spend
Equivalently, 1 ÷ contribution margin, where the margin is a percentage of the same reported order value.
The one rule: the number on top must be the value your ad platform actually records, and the contribution underneath must be measured against that same order. If Meta records A$99 for an order, divide A$99 by the contribution from that A$99 order. If it records A$90 because your setup sends the value without GST, divide A$90 by the same contribution. Mix the two and the answer is wrong by roughly the size of your GST.
Meta’s Help Center says the website purchases conversion value is calculated by adding the value parameters you set for the purchase standard event on your website. So what goes into that value depends on how your store sends it. Place a test order, then compare the value Meta shows for it in Events Manager with the Shopify order. Does it include GST, shipping, or neither? Write the answer down before you build anything else.
Step 1: Start from what the customer actually paid
Use the average order value after discounts, not the list price. Your product page may say A$110, but if codes, automatic discounts and bundles bring the average order to A$99, then A$99 is the starting point. Discounts get their own section further down because they move the answer more than most founders expect.
The worked example is a Shopify store in Australia, registered for GST, with GST-inclusive prices:
- List price: A$110 including GST.
- Average discount across all orders: 10%.
- Average order value the customer pays: A$99.00 including GST, with free shipping on the average order.
Step 2: Take the GST out
GST is money you collect for the Australian Taxation Office (ATO), not revenue you keep. The ATO describes GST as a broad-based tax of 10% on most goods, services and other items sold or consumed in Australia. It says registered businesses generally include GST in the price they charge and claim credits for the GST included in the price of what they buy for the business.
Two ATO facts do the work here:
- When it applies. You must register for GST when your GST turnover is A$75,000 or more. The ATO’s registering page (last updated 14 September 2026) defines GST turnover as total business income, not profit, minus items such as the GST included in sales to customers. If you must register and have not, the ATO says you may have to pay GST on sales made since the date you were required to register, even if you did not include GST in the price.
- How to back it out. The ATO’s tax invoice page (last updated 18 September 2026) treats a GST amount that is exactly one-eleventh of the total price as a special case: the invoice can say “Total price includes GST”. When GST is 10% of the ex-GST price, it is exactly one-eleventh of the GST-inclusive price.
So on the A$99.00 order, GST is 99 ÷ 11 = A$9.00, and the revenue you keep is A$90.00.
Three caveats. The ATO says some things have no GST included and are called GST-free sales, so if you sell a mix, work out the share. If you are not registered, you do not charge GST and there is nothing to take out. And US sales tax works differently by state, which I have not covered; the principle is the same, so take out tax you collect for someone else before you measure what is left.
This is general information, not legal or tax advice. Check with your accountant how GST applies to your shipping, your fees and your ad spend before you finalise the sheet. In the example I assume the costs are ex-GST, because the ATO says a registered business generally claims credits for the GST included in the price of what it buys. If you are not registered, your costs include whatever GST you paid.
Step 3: Subtract the costs that come with every order
Work in dollars per order, not percentages. Percentages of a changing price hide the fixed parts.
Product cost. What the item cost you landed in your warehouse, including inbound freight and duty. Example: A$27.00.
Shipping you pay. What the carrier charges you for the average order, not what you charge the customer. If customers pay shipping, count that as revenue and the carrier bill as a cost. Example: A$9.00, free to the customer.
Packing and pick-pack. Cartons, satchels, inserts, labels, and the labour or 3PL fee to pack them. Example: A$3.00.
Payment fees. Shopify’s Australian pricing page lists these Shopify Payments rates for online cards (I read the page on 31 October 2026; it does not date its card rates):
| Plan | Standard card | Amex card |
|---|---|---|
| Basic | 1.7% + 30¢ AUD | 2.9% + 30¢ AUD |
| Grow | 1.55% + 30¢ AUD | 2.8% + 30¢ AUD |
| Advanced | 1.35% + 30¢ AUD | 2.7% + 30¢ AUD |
Plus is listed at 1.15% + 30¢ for standard cards and 2.6% + 30¢ for Amex, and online international cards at 3.2% to 3.5% + 30¢ across the four plans. Third-party transaction fees of 2%, 1%, 0.6% and 0.2% (Basic to Plus) may apply if you use an outside payment provider instead of Shopify Payments.
Two details people miss:
- The 30 cents is fixed. On an A$40 order, 1.7% + 30¢ is A$0.98, or 2.45% of the order. A store with a low average order value pays proportionally more.
- I apply the percentage to the full amount the customer pays. On a A$99.00 order, Basic’s 1.7% + 30¢ is A$1.98 (rounded). That is my assumption: the pricing page does not say how GST affects the fee, so I have not adjusted for it. Check your own Shopify invoices.
I could not read Shopify’s US card rates on 31 October 2026, so US stores should use the rates in their own Shopify admin. If you are thinking about passing card fees on as a surcharge, read the RBA’s card surcharge changes and what they mean for Australian Shopify stores before you assume you can.
Contribution on a kept order. For the example: 90.00 − 27.00 − 9.00 − 3.00 − 1.98 = A$49.02.
Any other cost that happens once per order belongs here too, such as a per-order app fee or a 3PL handling charge. Fixed costs (your Shopify subscription, salaries, rent) stay out, as in Shopify’s own guide.
Step 4: Put returns in as an expected cost
A return is not just lost revenue. Shopify’s Help Center page on refunding orders says that if the order was processed through Shopify Payments, you do not get any credit card fees refunded. The outbound shipping and packing are also spent. Add return postage if you pay for it. The only thing you may recover is the product, if it can be resold.
Work it out for a returned order, then weight it by your return rate:
- A returned order, product resold at full value: revenue 0, product cost 0 (it goes back on the shelf), outbound shipping 9.00, packing 3.00, payment fee 1.98, return postage 9.00. Result: −A$22.98.
- Return rate: 5% in the example. Use your own: refunded orders divided by orders over the last 90 days.
Expected contribution per order = (95% × 49.02) + (5% × −22.98) = 46.569 − 1.149 = A$45.42.
If returned products cannot be resold (opened cosmetics, for example), the loss per return is bigger and your break-even ROAS rises. If your returns are mostly exchanges, treat the exchange shipping as the cost and keep the revenue. Be honest about which one you have.
Step 5: Work out the break-even ROAS
Now divide.
- Contribution per order before ad spend: A$45.42
- Reported order value: A$99.00
- Contribution margin on that value: 45.42 ÷ 99.00 = 45.9%
- Break-even ROAS: 99.00 ÷ 45.42 = 2.18
Read it plainly: for every A$1 you spend on Meta, the platform needs to report A$2.18 of purchase value for that spend to be neutral on the first order. Below that you lose money on those orders. Above it, you keep the difference.
The same arithmetic gives you a second, easier number: the break-even cost per order, which is just the contribution. You can pay up to A$45.42 to win this order before it loses money. Break-even CPA and break-even ROAS are one calculation in two forms.
How each cost moves the number
Here is the example built up one cost at a time. Every line divides the reported A$99.00 by what is left.
| What you subtract | Left from the A$99 | Break-even ROAS |
|---|---|---|
| Product cost only (27.00) | 72.00 | 1.38 |
| Plus GST (9.00) | 63.00 | 1.57 |
| Plus shipping and packing (12.00) | 51.00 | 1.94 |
| Plus payment fee (1.98) | 49.02 | 2.02 |
| Plus expected returns | 45.42 | 2.18 |
A product-cost-only calculation gives 1.38. The full figure is 58% higher. Suppose you buy traffic at a ROAS of 1.8 because “that is above break-even”. At 1.8, an A$99 order costs A$55.00 in ad spend (99 ÷ 1.8). Your contribution is A$45.42. You lose about A$9.58 on every order while the dashboard looks fine. GST alone moves the figure from 1.38 to 1.57, which is why an Australian store should not copy a template that ignores it.
Step 6: Discounts change the answer more than founders expect
Discounts change two things at once. The order value falls, so you collect less, and your costs stay the same. A 10% average discount is not 10% of the margin. It is 10% of revenue, taken out of a margin that is already thin.
Using the same example, with the list price at A$110 and the average discount varying:
| Average discount | Customer pays (incl. GST) | Break-even ROAS |
|---|---|---|
| 0% | A$110.00 | 2.01 |
| 10% | A$99.00 | 2.18 |
| 20% | A$88.00 | 2.44 |
Contribution per order falls from A$54.73 to A$45.42 to A$36.10 across those rows. At a 20% average discount, A$36.10 is all that is left to pay for the ad that brought the customer. That is the right lens for a sale: not “what is our margin at 20% off” but “what ROAS do we now need”.
Black Friday this year is Friday 27 November 2026. A store that runs the same ROAS target through a deep-discount weekend as through a normal week is buying orders at a loss. Set a separate, higher break-even for the sale period.
Use the average after discounts from your own orders (net sales and discounts in Shopify admin, not the list price), and run a separate break-even where discount depth differs. A prospecting campaign sending people to a full-price product and a retargeting campaign serving a discount code produce different orders with different numbers.
Step 7: Turn break-even into a target ROAS
Break-even is the floor. A target ROAS is the number you aim for, and it comes from deciding how much profit you want after ad spend.
Target ROAS = reported order value ÷ (contribution per order − profit you want per order)
If you want A$10 of profit on each order after the ad cost:
99.00 ÷ (45.42 − 10.00) = 99.00 ÷ 35.42 = 2.80
The target belongs to you. Nobody else’s “good ROAS” tells you anything about your costs. Shopify’s guide mentions a brand that kept ROAS above three, but that is that brand’s cost structure and strategy, not a benchmark for yours.
Do not set one number for the whole store. If your products have meaningfully different margins, work out break-even for each product or group, or a blended target will overspend on low-margin products and underspend on high-margin ones.
And a target is not a promise. Meta’s Help Center says that with a ROAS goal your actual weekly average ROAS may vary from the goal, and that day-to-day ROAS fluctuates, so you should evaluate weekly averages. Judge a campaign on a week, not on one afternoon.
The spreadsheet, row by row
This is the whole calculation on one sheet. Put the labels in column A and the example value or formula in column B, starting at row 2 (row 1 is the header). Replace the example inputs with your own. Every figure is illustrative.
| Row | Item | Example value or formula |
|---|---|---|
| 2 | Reported order value incl. GST, after discounts | 99.00 |
| 3 | GST (set to 0 if none) | =B2/11 |
| 4 | Revenue ex GST | =B2-B3 |
| 5 | Product cost | 27.00 |
| 6 | Shipping you pay | 9.00 |
| 7 | Packing and pick-pack | 3.00 |
| 8 | Payment fee percentage | 0.017 |
| 9 | Payment fee fixed amount | 0.30 |
| 10 | Payment fee | =B2*B8+B9 |
| 11 | Contribution on a kept order | =B4-B5-B6-B7-B10 |
| 12 | Return rate | 0.05 |
| 13 | Return postage you pay | 9.00 |
| 14 | Result on a returned order | =-(B6+B7+B10+B13) |
| 15 | Expected contribution per order | =(1-B12)B11+B12B14 |
| 16 | Break-even ROAS | =B2/B15 |
| 17 | Break-even cost per order | =B15 |
| 18 | Profit wanted per order | 10.00 |
| 19 | Target ROAS | =B2/(B15-B18) |
If the product is GST-free or you are not registered, set row 3 to 0. Keep a second tab for each product group and one for the sale period. Our step-by-step unit economics spreadsheet builds the wider version with CAC and lifetime value alongside it.
How the answer moves when one input changes
Starting from 2.18, one change at a time:
| One change | New break-even ROAS | What it tells you |
|---|---|---|
| Return rate 5% to 10% | 2.37 | Returns are a margin cost, not only a support cost |
| Shipping you pay +A$3 | 2.33 | Carrier rates are worth a quote round |
| Product cost +10% | 2.31 | A supplier increase hits ads before anything else |
| Amex on every order | 2.24 | Card mix matters on small margins |
None of these is dramatic alone. Together they decide whether a campaign you call profitable is. Redo the sheet each quarter, and whenever your supplier, carrier or return rate moves.
First order versus the whole customer
Break-even ROAS as calculated here is a first-order number. It assumes you must get your money back on the order the ad brought in. That is the safe rule when cash is tight or when you do not know your repeat rate.
If customers do come back, you can accept a lower first-order ROAS. As an illustration only, suppose 30% of customers place a second order with the same A$45.42 contribution. That adds 0.3 × 45.42 = A$13.63 to what a customer is worth, and the cost you can accept to win the customer rises from A$45.42 to about A$59.05. The first-order ROAS you could accept falls from 2.18 to 99 ÷ 59.05 = 1.68. I would not plan on that without real repeat data. The 30% is made up. Use your own cohorts before you trust a number like it.
Lifetime value only helps if it is real, so build it carefully: how to calculate customer lifetime value on Shopify shows how, and CAC payback period shows how long a customer takes to repay what they cost.
Why Meta’s ROAS may not match your break-even check
You now have a clean break-even number. The ROAS in Ads Manager still may not be the number to compare it with. Meta’s own documentation gives three reasons.
- Attribution settings. Meta’s Help Center says standard attribution can count events within 1 day or 7 days after a link click, and within 1 day after an ad impression (view-through). A wider window credits more orders to the ads. Meta also says results cannot be compared in the campaign overview table across ad sets with different attribution models, and that if you use external analytics tools you should evaluate performance in those.
- Modelled data. Both the ROAS page and the conversion value page say that where purchase events cannot be counted directly because of partial or missing data, statistical modelling may be used to account for some events and the values assigned to them. Some of what you see is an estimate.
- Value setup. As covered earlier, the conversion value is whatever your store sends in the purchase event. If it includes GST or shipping, your break-even must include it too.
So check Ads Manager’s purchase value against Shopify orders for the same dates. If Meta reports more sales than Shopify records, why Meta shows more sales than Shopify walks through the causes, and why attribution is broken for Shopify stores in 2026 covers the wider picture. If your ROAS has fallen from where it was, that is a different problem from a break-even problem, and diagnosing a Meta ROAS drop on Shopify goes through it in order.
What happens after the click
Break-even ROAS has two sides: how cheaply you buy a click, and how many clicks buy. The ads side is for whoever manages your ads. The second is the one we work on.
Here is the link, with illustrative numbers. Cost per order = cost per click ÷ conversion rate. Say a click costs A$1.50:
| Paid-traffic conversion rate | Cost per order | ROAS on the A$99 order |
|---|---|---|
| 1.5% | A$100.00 | 0.99 |
| 2.0% | A$75.00 | 1.32 |
| 3.0% | A$50.00 | 1.98 |
| 3.3% | about A$45.45 | 2.18 |
At that click price, hitting the A$45.42 break-even cost per order needs about 3.3% of paid clicks to buy. If your paid-traffic conversion rate is far below that, you have two problems to separate: the click may be too expensive for the product, or too few of the visitors who arrive buy. They need different fixes, and a better ad cannot fix a page that does not convert.
To see where you sit, you need a conversion rate you trust. What a good Shopify conversion rate looks like covers how to measure it, split by device and source. The usual leaks sit on the product page, in the cart and at checkout.
Measurement comes first, though. The ROAS you calculate only helps if the purchase value your store reports is correct. A purchase event that fires twice, or on the wrong trigger, makes every ROAS number wrong, so the tracking check is part of the first phase of our CRO audit.
What we do: Shopify CRO, SEO and GEO. Our CRO work starts with a tracking check and a review of where your store loses buyers after the click, and SEO and GEO work on being found without paying per click. We do not run Meta or Google ads and we do not run email. We promise no particular number: the break-even you calculate in this guide is yours, not ours.
Key takeaways
- Break-even ROAS = the order value your platform reports ÷ the contribution per order before ad spend. It is 1 ÷ contribution margin, measured against that same value.
- Start from the order value after discounts, take out GST (one-eleventh of a GST-inclusive price, if you are registered and the product is not GST-free), then product cost, shipping, packing, payment fees and an expected return cost.
- In the illustrative A$99 order, break-even ROAS rises from 1.38 (product cost only) to 2.18 (all costs). The gap is GST, shipping and packing, the payment fee and returns.
- Shopify Payments online card fees in Australia, as at 31 October 2026, start at 1.7% + 30¢ on the Basic plan, and a refund does not return the card fee.
- Discounts raise break-even ROAS: in the example, 0%, 10% and 20% average discounts give 2.01, 2.18 and 2.44.
- Target ROAS = reported order value ÷ (contribution − the profit you want per order). Calculate it by product group and by sale period.
- Meta’s ROAS depends on its attribution settings and may include modelled values, so reconcile it with Shopify orders before you act on it.
- Below break-even, there are two levers: the cost of the click and the share of visitors who buy.
FAQs
What is a good ROAS for a Shopify store?
There is no number that is good for every store. A good ROAS is one above your own break-even ROAS, with enough room for the profit you want. In the illustrative example here, break-even is 2.18 and a A$10 profit target gives 2.80. A different store would have different numbers, so calculate yours before comparing it with any benchmark.
How do I calculate break-even ROAS with GST in Australia?
Take the GST-inclusive order value your ad platform records, divide by 11 to find the GST, and subtract it to get revenue. Then subtract product cost, shipping, packing, payment fees and a returns allowance to get contribution per order, and divide the reported order value by that contribution. The ATO says GST turnover of A$75,000 or more requires registration. This is not legal or tax advice: confirm the treatment with your accountant.
Is break-even ROAS the same as break-even CPA?
They are two forms of one calculation. Break-even CPA, or cost per order, is the contribution per order before ad spend: the most you can pay for an order without losing money. Break-even ROAS is the reported order value divided by that figure. In the example, A$45.42 and 2.18 describe the same break-even.
Should I use gross margin or contribution margin?
Use contribution margin, which takes out every cost that comes with each order: GST where it applies, product, shipping, packing, payment fees, discounts and returns. Gross margin on its own usually stops at product cost. Shopify’s guide calls its measure gross profit margin but counts shipping, payment processing and pick and pack costs in it, so it sits close to contribution margin. As at 31 October 2026 it does not appear to work through returns, discounts or GST.
Do Shopify Payments fees get refunded when I refund an order?
Not the card fee, according to Shopify’s Help Center page on refunding orders: if the order was processed through Shopify Payments, you do not get any credit card fees refunded. That is why the returns step above counts the payment fee as a loss on a returned order. The page lists no country exception for Shopify Payments, so check the current page and your own invoices.
Why is the ROAS in Meta higher than the ROAS I calculate from Shopify?
Meta documents several reasons: its attribution setting can credit orders that follow a link click within 7 days or an ad view within 1 day, statistical modelling may be used for some purchase events and their values, and the value recorded is whatever your store sends in the purchase event. Compare orders and value for the same dates in Shopify and Meta before you decide which number to trust.
Can I run below break-even ROAS on purpose?
Sometimes, if repeat purchases are proven in your own data and you can afford the cash gap. The first-order break-even in this guide is the safe floor. Going below it is a bet on repeat orders, so size the bet with real cohort data. Our guides on CAC payback and customer lifetime value show how.
Keep reading
- CAC payback period for a Shopify store
- ROAS vs MER vs blended CAC on Shopify
- A Shopify unit economics spreadsheet, step by step
Is your cost per order higher than your break-even?
Break-even ROAS tells you what each order has to return; what happens after the click decides whether you reach it. Book a free 30-minute diagnostic: we look at where your store loses buyers after the click, using your own numbers, and tell you what to fix first. We do not run ads or email. No pitch. No email gate.
To see how we work on conversion and tracking, read about our Shopify CRO service.
Free 30-min diagnostic
Seen enough?
Book a free diagnostic.
We'll look at where your store loses buyers after the click and what to fix first. No pitch. No email gate. 30 minutes.
More from Prism3
Afterpay vs Zip vs Shop Pay Instalments: Shopify AU
Afterpay, Zip and Shop Pay Instalments compared for Australian Shopify stores: merchant fees, payouts, approval, checkout placement and a worked margin example.
AI-Referred Orders on Shopify: What Is Real and What Is Hype
What Shopify has disclosed about AI-referred orders, why the 13x headline needs context, how to find AI traffic in GA4 and Shopify, and what to do now.
AI Visibility Tools for Shopify: What They Measure and Miss
What AI visibility tools for Shopify stores really count: mentions, share of voice and citations, where the data is sampled or unstable, and how to use them.