How to calculate break-even ROAS
Calculate your break-even ROAS from what one order really leaves you after product, packing, shipping, fees and returns, then check every ad against Shopify's orders each day and move your budget every Sunday by a simple cut, keep or add-20% rule.
ByDinesh BypillaReviewed byMurali SidLast checked 14 min read
Your Meta ads dashboard says your ROAS is 2 or 3, and you cannot tell if that makes money. To calculate break-even ROAS, divide your order price by what one order leaves you after every cost except ads; any ROAS under that line loses money on every order, however good the dashboard looks. Here is the sum, the daily check, and the Sunday rule that tells you which ads to keep.
Do these three things
About 1 hour today, 10 minutes a day and 30 minutes every Sunday. Judge an ad after it spends 3 times your break-even cost per order, and a channel after 10 orders.
Show the three actions in fullHide the full list
- Today: add up every cost of your usual order from real invoices: product, packing, shipping, payment fee and returns. Divide the order price by what is left. That is your break-even ROAS, and what is left is the most you can pay to get one order.
- Every day: check what each ad spent against the orders Shopify counts from it, not the orders the ad platform claims. Turn off any Meta or Google ad that has spent 3 times your break-even cost per order with no order.
- Every Sunday: divide each channel's sales in Shopify by what you spent there, and all your store's sales by all your ad spend. Cut a channel that is under break-even after 10 orders, keep one that is between break-even and your target, and add 20% to one that beats your target two Sundays running.
Get help doing these
ChatGPT or Claude reads this guide and works through it with you.
1. Work out what one order leaves you after every cost except ads
Take the price of your usual order and subtract every cost that comes with that one order: the product, the packing, the shipping you pay, the payment fee, any import duty and an amount for returns. What is left is the money one order leaves you before ads. Every number in this guide comes from it.
Pick your usual order first. It is what most buyers put in the cart, not your cheapest product. Open Shopify, go to Analytics, and look at average order value for the last 90 days. Then open your last 20 orders and see what most of them contain. If most people buy a bundle, use the bundle. If you have fewer than 10 orders, use the product or bundle you will put in your ads.
Then list each cost from a document, not from memory.
Usual order price, after any discount, without sales tax: $[price] (If the buyer pays shipping, add what they pay here.)Minus product cost, delivered to you (what you paid the maker plus freight and duty, per unit): $[X] Minus packing (box, filler, insert, tape): $[X] Minus shipping label you pay, from your shipping app or courier invoice: $[X] Minus payment fee (Shopify Payments, US, Basic plan: 2.9% of the price + $0.30): $[X] Minus returns and refunds (5% of the price to start; your real rate once you have 50 orders): $[X] Minus anything else you pay on every order (a per-order app fee, a free gift): $[X]= What one order leaves you: $[left]
Leave out costs you pay whether you sell or not: rent, your Shopify plan, apps with a flat monthly price, and your own pay. They matter, but they do not change when one more order comes in, so they do not belong in this sum. Leave out sales tax too: it is not your money.
Two costs people miss now:
- Duty. If you bring stock into the US, check your last import invoice. Since 29 August 2025, low-value goods from every country pay duty, and a June 2026 rule keeps it that way. A cost sheet from before then is too low.
- Returns. Meta counts the sale the day it happens and does not know about the refund. Your returns line is where this cost shows up.
If you sell on Amazon or TikTok Shop: take the fees per order from your payout or settlement report instead of the 2.9% + 30¢ line, and add the marketplace's fulfilment fee if it ships for you. Fees on Amazon and TikTok Shop are different from your store's, so do one sheet for each place you sell.
Paste the template and your invoices into ChatGPT or Claude and ask it to build a Google Sheet with the formulas. Check every number it fills in against the invoice.
- Tool: Google Sheets (free), your supplier and courier invoices, and your Shopify payouts.
- Time: 45 minutes.
- You will have: one row per cost and one number: what your usual order leaves you.
- It worked if: every line has a number from an invoice, a payout or a shipping label, and no line says "about".
- Common mistake: subtracting only the product cost. That number is your gross margin, and many ROAS calculators ask for it. For a small store, shipping, packing, fees and returns often cost more than the product, so gross margin sets your break-even line far too low.
See it done: What one Ferns & Rinse order leaves
Ferns & Rinse is a made-up plant-based haircare brand with its own Shopify store. It sells one shampoo and one conditioner at $28 each, or both for $49.
Most of their 9 orders are the $49 pair, and the pair ships free because it is over $45.
One $49 order
| Line | Amount |
|---|---|
| Price of the pair | $49.00 |
| Product (both bottles, delivered to them) | −$12.00 |
| Box and insert | −$1.20 |
| Shipping label (free to the buyer over $45) | −$8.90 |
| Payment fee (2.9% + $0.30) | −$1.72 |
| Returns and refunds (5% of the price) | −$2.45 |
| What one order leaves | $22.73 |
Why it works: Every cost comes from an invoice or a payout, so the $22.73 is real money, not a guess.
2. Divide your order price by what is left to get your break-even ROAS
Your break-even ROAS is your order price divided by what one order leaves you. At that ROAS, ads pay for themselves and nothing more; under it, every order an ad brings loses money.
Write down three numbers for your usual order:
Break-even ROAS = $[price] ÷ $[left] = [number, rounded up to one decimal] Break-even cost per order = $[left] (the most you can pay to get one order) Target ROAS = $[price] ÷ ($[left] − $[profit you want per order]) = [number]
Round the break-even ROAS up, never down: 2.16 becomes 2.2. The break-even cost per order is the same number as what one order leaves you, and it is your break-even customer acquisition cost. With only a few orders, it is the easier number to judge by, because it does not need sales totals: spend ÷ orders.
You may see the formula written as "1 ÷ margin". It gives the same answer, as long as the margin is what one order leaves you divided by the price, not your gross margin.
Set a target, not just a line. Break-even means the ads earn you $0. Pick the profit you want from each order that ads bring. For a first test, $3 to $5 is honest. Put it into the target ROAS line. Ads between break-even and target are worth keeping while you test; ads above target are the ones to grow.
Do one line for every offer you advertise. A discount code, a popup offer, a free gift or a different bundle changes the price and the fees, so it changes the line. A 10% code does not move your break-even by 10%; it moves it more, because your costs stay the same. If you run a sale, work out its line before it starts.
Use the number to decide whether to advertise at all. If one order leaves you less than $15, ads will struggle: a few clicks that do not buy can use up all of it. Fix the order first: price your product again, or raise your average order with a bundle. A break-even ROAS above 4 is the same warning.
If you sell on Amazon: Amazon ads report ACoS, ad spend divided by ad sales, as a percentage. Your break-even ACoS is what one order leaves you after Amazon's fees, divided by the price. It is the same line turned upside down: a break-even ROAS of 2.5 is a break-even ACoS of 40%.
- Tool: the same Google Sheet.
- Time: 20 minutes.
- You will have: three numbers for each offer you advertise: break-even ROAS, break-even cost per order and target ROAS.
- It worked if: someone else can take your sheet, redo the sum, and get the same three numbers.
- Common mistake: using one number for the whole store. Products and codes leave different amounts, so one store-wide number hides the ones that lose money. Do one line per offer.
See it done: Ferns & Rinse's break-even lines for the pair
The pair, with and without the code
| Offer | Price | What one order leaves | Break-even cost per order | Break-even ROAS | Target ROAS ($5 profit) |
|---|---|---|---|---|---|
| The pair, full price | $49.00 | $22.73 | $22.73 | 2.2 | 2.8 |
| The pair, 10% popup code (ships free: their $45 rule counts the price before the code) | $44.10 | $18.21 | $18.21 | 2.5 | 3.4 |
Why it works: The popup code raises the line from 2.2 to 2.5, so an ad that brings code orders has to do better than one that does not.
3. Compare what each ad spent with the orders Shopify counts, every day
Every day, take each ad's spend from the ad platform and the orders from it that Shopify counts, and divide one by the other. Judge your ads on Shopify's orders, because the ad platform counts orders by its own rules.
Once, before your first check: your store has to know which orders came from which ad. Purchases must be tracked and every ad link tagged. If you have not done that, set up conversion tracking and add UTM parameters to every ad link first. Place one test order through a tagged link and check it shows in Shopify with its source.
Then, every day:
- In Ads Manager or Google Ads, write down what each ad has spent so far.
- In Shopify, go to Analytics, then Reports, filter the Category to Marketing, and open Sales attributed to marketing. Write down the orders each campaign brought; if your UTM tags name each ad, you see each ad's orders too. Shopify shows ad spend only for channels that send it their costs. A dash there means "no cost data", not $0, so use the spend you wrote down from the ad platform.
- Divide spend by orders for each ad or campaign. That is its cost per order. Compare it with your break-even cost per order.
- Turn off any ad that has spent 3 times your break-even cost per order with no order in Shopify. Leave the others alone until they reach that line.
The ad platform's count is usually higher than Shopify's, and that is normal. Meta counts a purchase after a link click within its time window, its attribution setting, and also after someone only saw the ad or liked it. Since March 2026, Meta counts only link clicks as clicks and reports likes, shares and saves separately as "engage-through", so your Meta numbers may have dropped with no real change in sales. Neither platform knows your costs, and Meta does not see your refunds. That is why a "4x ROAS" can still lose money. Judge retargeting ads the same way, on Shopify's orders.
If Shopify shows almost no orders while the platform shows many, the tracking is broken or the ads bring clicks but no sales. If people reach the cart and stop, fix abandoned carts before you spend more. Add a "Where did you hear about us?" question on your thank-you page too. This is self-reported attribution, and it catches buyers who saw an ad on their phone and bought later on a laptop.
- Tool: Meta Ads Manager or Google Ads, Shopify Analytics, and your Google Sheet.
- Time: 15 minutes once to test the tracking, then 10 minutes a day.
- You will have: a daily row for each ad: spend, Shopify orders, cost per order, and keep or off.
- It worked if: every order from an ad shows in Shopify with its source, and no ad is still running after spending 3 times your break-even cost per order with no order.
- Common mistake: raising the budget because the ad platform shows a good ROAS. One store owner on Shopify Community in August 2026 had a 3.8 ROAS in Meta and lost about $1,082, because their break-even ROAS was about 4.9.
See it done: Ferns & Rinse's first $150 of Meta ads, checked in Shopify
One ad, checked the Shopify way
| Meta's count | Shopify's count | |
|---|---|---|
| Spent | $150 | $150 |
| Orders | 2 | 1 |
| Sales | $98 | $49 |
| ROAS | 0.65 | 0.33 |
| Cost per order | $75 | $150 |
| Break-even cost per order | $22.73 | $22.73 |
| Stop line (3 × $22.73) | $68 | $68 |
Why it works: Shopify's count shows the ad spent 6.6 times the most one order can cost, so it should have stopped at $68.
4. Compare your ROAS with break-even every Sunday and move your money
Every Sunday, work out each ad channel's ROAS from Shopify's sales and all your store's sales divided by all your ad spend, then compare both with your break-even ROAS. Move next week's money by the rules below.
Fill in one row per channel, from Shopify:
Week | Channel | Spend (from the ad platform) | Orders in Shopify | Sales in Shopify, without tax | Shopify ROAS (sales ÷ spend) | Break-even ROAS | Target ROAS | DecisionWhole store: all sales this week, without tax ÷ all ad spend this week = [number]. Compare with your break-even ROAS.
Then apply these rules, in this order:
| If | Then |
|---|---|
| A channel has brought fewer than 10 orders | do not judge its ROAS yet. Keep using the daily stop line from step 3. |
| A channel is under break-even ROAS after 10 orders | cut its budget to zero. Fix the product page or the ad before you try it again. Start with why ads get clicks but no sales. |
| A channel is between break-even and target | keep the same budget, and test 2 new ad creatives against the best one. |
| A channel is above target two Sundays in a row | raise its daily budget by 20%, and only within the money you set aside. |
| All sales ÷ all ad spend is under break-even | your ads as a whole lose money, whatever each platform says. Spend less on ads until it is back above the line, and put the time into free channels. |
The whole-store number, all sales divided by all ad spend, is sometimes called MER (marketing efficiency ratio) or blended ROAS. In a new store it includes orders from friends and from free work like reviews, creators, buyer videos and free Google listings, so a high number does not prove the ads work. A number under break-even does prove the ads cost more than they bring.
Count repeat orders only when you can prove them. Some buyers come back, and their next orders cost no ad money. Until you have at least 50 customers and 90 days of their orders, judge on the first order only. After that, work out what a customer leaves you over 90 days and use it in place of one order, as in CAC and payback period. Getting more of them to buy again, with flows in Klaviyo, raises what each customer leaves you.
Once a month, redo step 1. Supplier prices, shipping labels, duty and your return rate change. Update the sheet, then update your break-even and target ROAS before the next Sunday. Bring the numbers to your monthly marketing review. If every channel stays under break-even for a month, the problem is usually the store, not the ads: work through why no one is buying and growth that has stalled.
- Tool: your Google Sheet, Shopify Analytics and the ad platforms.
- Time: 30 minutes every Sunday, and 30 minutes once a month for the cost sheet.
- You will have: one row per channel per week, each with a decision written next to it.
- It worked if: every dollar of next week's ad budget has a reason in the sheet, and no channel under break-even after 10 orders still has money.
- Common mistake: judging after 2 or 3 orders, or keeping a losing channel "because customers will come back" with no repeat orders to show for it. A ROAS from 3 orders can swing from 1 to 4 on one sale.
Your break-even ROAS checklist
0 of 11 done
Work through this list with an AI assistant
It drafts the work and keeps track of what is done.
Frequently asked questions
- What is a good ROAS for a Shopify store?
Any ROAS above your own break-even ROAS, counted from Shopify's orders, not the ad platform's. Benchmarks like "3x" or "4x" are other stores' costs. A store that keeps $25 of a $50 order breaks even at 2; one that keeps $10 needs 5. Work out your line first, then aim for the target with the profit you want built in.
- Is break-even ROAS just 1 divided by gross margin?
Only if your gross margin already includes shipping, packing, payment fees and returns. Most people's does not: gross margin is usually the price minus the product cost. Use what one order leaves you after every cost except ads. 1 divided by that, as a share of the price, gives the same number as price ÷ what is left.
- Should I put my break-even ROAS into Meta's ROAS goal or Google's target ROAS?
Not yet. Google asks for at least 15 conversions in the last 30 days before target ROAS, and you enter it as a percentage: 2.5 is 250%. Meta's ROAS goal needs value optimisation on an eligible account. With a handful of orders, use simple budgets and the stop line in step 3. Use your target ROAS, not break-even, when you do switch.
- Can I run ads below break-even if customers buy again?
Only with proof. Until you have at least 50 customers and 90 days of their orders, judge on the first order. Then use what a customer leaves you over 90 days instead of one order, and see how long it takes to earn back, in CAC and payback period. "They will come back" with no repeat orders yet is a guess.
Sources
- 1.Shopify pricing: Shopify Payments rates by plan — Shopify, checked 12 October 2026
- 2.Marketing reports — Shopify Help Center, checked 12 October 2026
- 3.ROAS calculator: how to calculate ROAS the easy way — Shopify, 2 September 2026
- 4.Simplificando a mensuração de anúncios para um mundo social-first (Simplifying ad measurement for a social-first world) — Meta, 3 March 2026
- 5.Meta rewrites click attribution rules — PPC Land, March 2026
- 6.About Target ROAS bidding — Google Ads Help, checked 12 October 2026
- 7.Bid strategy: minimum ROAS — Meta for Developers, checked 12 October 2026
- 8.CBP issues interim final rules indefinitely suspending the de minimis exemption for imports — Thompson Hine SmarTrade, 25 June 2026
- 9.Blended ROAS vs breakeven MER — Eightx, 11 July 2026
- 10.What is Shopify total sales and how is it calculated? — ReportPundit, updated 22 September 2026
- 11.Why can an ad with a ROAS of 3.8 still lose money? — Shopify Community, 21 August 2026
Next article to read
How to run Meta ads for a Shopify storeD2COnce you know your limit, run Meta ads that stay under it.Read it nextRelated guides
- How to price a productD2CPrice your product for a new store: add up what one order really costs, keep product and packaging at 30% of the price or less, ask 100 people a day what they would pay for 7 days, and check the money left on each order every Sunday.
- How much to spend on marketing as an ecommerce brandD2CSet your first ecommerce marketing budget from what one order leaves you: a fixed monthly amount from savings you can afford to lose, free product for small creators first, a daily log, a Sunday cost-per-order check, and a capped first ad test once three conditions are true.
- How to calculate CAC and payback periodCalculate CAC and payback period with a few customers and almost no ad spend: one sheet of dollars and hours by channel, a 5-minute daily log, and a Sunday rule for where your money and hours go next.
- How to fix ads that get clicks but no salesD2CFix ads that get clicks but no sales: check your ad orders are counted, put five numbers from click to order in one sheet to find the step that leaks, fix clicks that never land, the product page and checkout surprises, then run the next test at the same limit and raise 20% or stop.
Guides that link here
- How much to spend on marketing as an ecommerce brandD2C
- How to price a productD2C
- How to list your products on Google Shopping for freeD2C
- How much to spend on ads
- How to run Meta ads for a Shopify storeD2C
- How to test Facebook ad creativesD2C
- How to fix ads that get clicks but no salesD2C
- Google Shopping vs Performance Max for a small storeD2C
- Amazon PPC for beginnersD2C
- How to increase average order value on ShopifyD2C
- How to set up conversion tracking
- How to calculate CAC and payback period
- How to write an email popup that isn't just a discountD2C
- How to get your first sale on EtsyD2C
- How to get your first sales on ShopifyD2C
- How to launch a D2C brandD2C
- How to launch a product on AmazonD2C
- How to choose marketing channels for an ecommerce brandD2C
- How to market a D2C brandD2C
- How to use UTM parameters
- How to make ad creatives
- How to set up retargeting ads
- How to increase repeat purchasesD2C
- How to run a sale without training customers to waitD2C
- How to find micro-influencers for your brandD2C
- How to get into holiday gift guidesD2C
- How to get TikTok Shop affiliates to postD2C
- How to get UGC for your brandD2C
- How to start an affiliate program
- How to promote your business on InstagramD2C
- How to sell on TikTok ShopD2C
- How to fix a Shopify store with traffic but no salesD2C
- How to reduce abandoned cartsD2C
Cite this page
Dinesh Bypilla (2026). How to calculate break-even ROAS. Scout7 Academy. https://scout7.ai/academy/measurement/how-to-calculate-break-even-roas
Written by Dinesh Bypilla, Agentic systems engineer at Scout7. Reviewed by Murali Sid. Last checked 12 October 2026.
Quote any part of this guide with a link back to this page. © 2026 Scout7.
Markdown version of this page: https://scout7.ai/academy/measurement/how-to-calculate-break-even-roas.md