Break-Even ROAS Calculator: The Real Formula for Shopify and DTC (2026)
May 16, 2026 · By Ishant Sharma
There are roughly thirty break-even ROAS calculators on the first page of Google right now. I have used most of them. They all ask for the same three or four inputs, plug them into the same one-line formula, and confidently hand you a number that is wrong by anywhere from ten to thirty percent. Brands then plug that wrong number into Meta and Google as their bid target and wonder why their campaigns look profitable on the dashboard but the bank account does not grow.
The math behind break-even ROAS is not hard. The trap is what you put into it. This guide walks you through the real formula, the eleven variable costs most calculators ignore, the way break-even shifts by ad platform because of attribution, the difference between new-customer and returning-customer break-even, and what number you should actually plug into a Google or Meta bid strategy.
I have been running paid ads for ecommerce brands every day for over a decade through Hustle Marketers, a Google Partner, Meta Business Partner, and Microsoft Advertising Partner agency. We built BreakevenHQ because every brand we onboarded had the same problem: their break-even ROAS was wrong, and their entire ad strategy was built on top of it.
If you just want the calculator, BreakevenHQ computes your real break-even ROAS from live Shopify, BigCommerce, WooCommerce, or Magento data, across every channel and product. If you want to understand the math first so you can sanity-check any calculator, including ours, keep reading.
What break-even ROAS actually is
Break-even ROAS is the return on ad spend at which a campaign produces exactly zero profit and zero loss. Every dollar above that ratio is profit. Every dollar below is loss. It is the floor. It is not a target. It is the line below which you are paying customers to take your product.
The textbook formula every other calculator on the internet will show you is this:
Break-Even ROAS = 1 ÷ Contribution Margin
If your contribution margin is 25 percent, your break-even ROAS is 4.0x. If it is 40 percent, your break-even ROAS is 2.5x. If it is 50 percent, your break-even ROAS is 2.0x.
That formula is correct. The trap is what you put in for contribution margin. Almost every calculator on the first page of Google asks you for two or three cost inputs and treats the rest as zero. Shopify Better Reports tells you "gross margin" using only Cost of Goods Sold, which is even worse. Plug Shopify's gross margin into the formula and your break-even ROAS will come out twenty to thirty percent too low. Every campaign between the wrong number and the right number will look profitable while quietly draining cash.
The work, then, is in the contribution margin. Get that right and the formula does its job.
The eleven costs the basic calculator misses
Contribution margin is revenue minus every variable cost that hits your bank account when an order ships. The reason almost every calculator gets this wrong is that they ask for three to five costs, hand-wave the rest, and call it a day. Here is the full list, in roughly the order they matter on a typical Shopify store.
Cost of Goods Sold. Product cost, inbound freight, any per-unit fee from your manufacturer. This is the only cost most calculators get right. Pull it per SKU and weight by sales volume, not by counting SKUs equally.
Payment processing fees. Shopify Payments is 2.9 percent plus 30 cents per order on Basic and Shopify plans, 2.7 plus 30 on Advanced, 2.5 plus 30 on Shopify Plus. If you use Stripe, PayPal, or any non-Shopify processor, you pay Shopify an additional transaction fee (0.5 to 2 percent depending on plan) stacked on top of the processor fee. On a $60 order with a typical Basic plan that is roughly $2.04 in fees. Across 10,000 annual orders that is $20,400 gone before anything else.
Net shipping cost. Not gross shipping cost. The number that matters is what you pay the carrier minus what you collected in shipping revenue from the customer. If you charge $5 flat-rate shipping and pay $8 per package, your per-order net shipping cost is $3. If you offer free shipping at a $50 threshold and pay $8, your per-order net shipping is $8 above the threshold. Most calculators ask for "shipping cost" without the netting step and overstate cost dramatically.
Fulfillment cost. Pick, pack, label, materials. A 3PL invoice gives you a clean per-order number, often $2.50 to $5. In-house fulfillment is harder because most operators forget to allocate labor. A fully loaded picker at $25 an hour packing eight orders an hour costs $3.13 per order in labor alone, before materials and software.
Refunds and return processing. Your last-90-day refund rate as a percentage of revenue is a direct deduction from contribution margin. Apparel and supplements typically run five to eight percent. Beauty often hits twelve to eighteen. Furniture and electronics higher. Plus the actual return processing cost: return shipping if you cover it, restock labor, and any product you cannot resell.
Chargebacks and disputes. Most operators ignore this until a chargeback wave hits. Even at a 0.5 percent dispute rate the per-order cost (refunded order plus $15-25 dispute fee from Stripe or Shopify Payments) is real. Subscription brands run higher.
Discounts and promo codes. Open your last 90 days of orders, total the discount column, divide by gross revenue. That percentage is a straight deduction. Welcome offers, abandoned-cart codes, influencer codes, BFCM stacks, automatic discounts via Shopify Functions, subscription discounts. Each percentage point of average discount is a percentage point of margin gone, and most operators dramatically underestimate this because they only count "the discount we promoted" and forget the automatic ones.
Affiliate and influencer commissions. If you run an affiliate program, the commission on attributed orders is a variable cost. So is any code-based influencer payment. If your affiliate platform attributes 12 percent of orders at 10 percent commission, your blended affiliate cost is 1.2 percent of revenue.
Marketplace and channel fees. If a meaningful share of orders comes from Amazon, eBay, Walmart Marketplace, or TikTok Shop, those platforms take 8 to 15 percent. If you blend marketplace revenue into your overall contribution margin without accounting for the fees, your number is inflated.
App stack per-order or per-contact costs. Klaviyo and Postscript bill per active contact or per message, which scales with order volume. SMS messages have hard per-send costs. Subscription apps like Recharge bill per subscription order. Your customer service app bills per ticket. These costs are real and scale with revenue, even though most operators bury them in OpEx. The right move is to pull the monthly invoice, divide by orders that month, and treat it as a per-order variable cost.
Sales tax leakage. This one only matters in jurisdictions where sales tax is included in the displayed price rather than added at checkout (most of the EU, UK, Australia, and some US flat-rate state setups). If your $60 product price includes 20 percent VAT, your actual revenue is $50 and your contribution math has to start there. Most calculators trained on US Shopify data skip this entirely and inflate margin for international brands by 15 to 25 percent.
There are eleven costs. A calculator that asks for three of them is going to be wrong by ten to thirty percent. The direction of the error is always the same: the calculator overstates your contribution margin, which understates your break-even ROAS, which makes campaigns look profitable when they are not.
The real formula, with all eleven costs
Strip away the simplifications and the formula is:
Contribution Margin per Order = AOV − COGS − Payment Fees − Net Shipping − Fulfillment − (Refund Rate × AOV) − (Dispute Rate × AOV) − Discount % × AOV − Affiliate % × AOV − Marketplace % × AOV − App Cost per Order − Tax Adjustment
Contribution Margin % = Contribution Margin per Order ÷ AOV
Break-Even ROAS = 1 ÷ Contribution Margin %
That is the formula every legitimate break-even ROAS calculator should be solving. If the calculator you are using does not let you input the last six items, it cannot give you a real number.
Worked example: a Shopify supplement brand
Round numbers so the math is obvious. Brand profile:
- Average order value: $60
- COGS: $24 per order (40 percent of revenue)
- Payment processing: $2.04 per order (Shopify Payments Basic)
- Net shipping cost: $4 per order (charges $5, pays $9)
- Fulfillment: $3 per order (3PL)
- Refund rate: 5 percent
- Dispute rate: 0.3 percent (so $0.18 per order at $60 AOV)
- Discount rate: 8 percent of revenue (welcome offers, win-back, subscription)
- Affiliate commission: 0.5 percent of revenue (modest program)
- Marketplace fees: 0 (Shopify-only)
- App stack: $0.45 per order (Klaviyo, Recharge, Gorgias combined)
Shopify's gross margin reads: ($60 − $24) ÷ $60 = 60 percent. Plug that in and break-even ROAS is 1.67x. That is the number most operators run with.
Now the real math. Contribution per order = $60 − $24 − $2.04 − $4 − $3 − $3 (refund haircut) − $0.18 − $4.80 (discounts) − $0.30 (affiliate) − $0.45 (apps) = $18.23. Contribution margin = $18.23 ÷ $60 = 30.4 percent. Real break-even ROAS = 1 ÷ 0.304 = 3.29x.
The gap between 1.67x and 3.29x is enormous. Every campaign performing between 1.67 and 3.29 looks profitable on the Meta dashboard and is silently destroying value. If you have been scaling those campaigns, you have been pouring fuel on a fire. The single most common pattern I see when Hustle Marketers takes over an existing Shopify brand is this exact gap. The previous team had a 2.0x target. The actual break-even was 2.8x. Half the budget was running underwater the entire time.
For the agency-side companion walkthrough with media-buyer worked examples, see Hustle Marketers' step-by-step guide to calculating break-even ROAS. For more on the contribution-margin trap specifically, see our deep-dive on why Shopify gross margin is lying to you.
From the agency: a 40 percent budget reallocation in seven days
A Shopify apparel brand came to Hustle Marketers last year running a 3.0x target ROAS on Meta. Their previous agency had calculated it from Shopify Better Reports' gross margin number. When we rebuilt contribution margin with all eleven cost lines (the same list above), true break-even came in at 4.2x. Roughly 40 percent of their Meta spend had been running below break-even for at least four months while the dashboards looked healthy. We paused the bottom-decile campaigns the same day, tightened cost caps on the survivors, and reallocated the recovered budget into two campaigns that had been over-constrained by an arbitrary daily cap. Within 21 days, blended Meta ROAS settled at 3.8x reported (incrementally closer to 2.5x), monthly contribution dollars grew 22 percent on flat ad spend, and the founder's bank balance finally started moving in the direction the dashboard had been suggesting for months.
The pattern repeats almost identically across categories. Supplement clients, beauty clients, accessories clients. The previous team set a target based on gross margin, the campaigns hit that target on the platform, the brand quietly lost money. The fix is never a new tactic. It is a corrected break-even number plus the discipline to act on it.
Your break-even ROAS is different on Meta, Google, and TikTok
This is the part no other guide covers, and it matters more than the contribution margin math.
The ROAS number your ad platform reports is not the same thing as actual revenue divided by actual ad spend. It is the platform's claim of revenue divided by its claim of spend, computed using its attribution model. Those models systematically over-credit the platform.
Meta over-reports ROAS by 20-50 percent on prospecting campaigns, especially in iOS-heavy categories. Default attribution is 7-day click plus 1-day view. The view-through window picks up orders from people who scrolled past a video without engaging and would have purchased anyway. iOS 14.5+ measurement gaps mean Meta uses modeled conversions to fill in the blanks, which biases upward. The practical implication: if your real break-even is 3.0x, your effective break-even on Meta is closer to 3.6-4.5x of reported ROAS. You need a buffer.
Google Ads over-reports on branded search campaigns because most branded clickers would have converted anyway. The branded-search ROAS shown in Google Ads might be 12x. The incremental ROAS, meaning what would not have happened without the ad, is often 2-3x at most. For non-branded search and Performance Max, Google's data-driven attribution is closer to truth but still biased upward by maybe 10-20 percent.
TikTok over-reports the most. View-through credit on 7-day windows for short-form video means TikTok attributes purchases to its platform when the customer saw a 1-second video three days before buying from a Google search. Multiplier on reported vs real ROAS is often 1.5-2.5x on prospecting.
The implication for break-even ROAS targets is concrete. Take your true break-even ROAS, then add a platform-specific buffer to convert it into the number you actually punch into the platform's bid strategy:
| Channel | True BEROAS | Reporting bias | Reported BEROAS target |
|---|---|---|---|
| Branded Google Search | 3.0x | very low | 3.0-3.3x |
| Non-brand Google Search | 3.0x | moderate | 3.6-3.9x |
| Google Performance Max | 3.0x | moderate-high | 4.0-4.5x |
| Meta prospecting | 3.0x | high | 4.0-4.8x |
| Meta retargeting | 3.0x | very high | 5.0-6.0x |
| TikTok prospecting | 3.0x | very high | 5.0-6.5x |
The right number for the bid target field inside the platform is not your true break-even. It is your true break-even multiplied by an attribution-bias factor for that channel. Brands that ignore this set Meta to 3.0x, hit it on the dashboard, and lose money in the bank.
The only clean way to estimate the bias factor for your specific business is to run incrementality tests (geo holdouts on Meta and Google, lift studies, or just a 30-day pause-and-measure on a small region). For brands without the budget to test, the ranges above are reasonable starting points.
New customer ROAS vs returning customer ROAS
The other place every calculator gets break-even wrong is treating all orders the same. They are not. New-customer orders carry the full acquisition cost. Returning-customer orders do not. Blending them produces a number that is too lenient for acquisition campaigns and too strict for retention campaigns.
There are two break-even ROAS numbers every brand should track separately.
First-order break-even ROAS is the number that matters for cold acquisition. It uses contribution margin on the first order only, no LTV credit. This is the conservative floor. If a prospecting campaign cannot clear first-order break-even, it is losing money on every new customer and you are betting entirely on repeat purchase to save you.
LTV-adjusted break-even ROAS is the looser number that works for subscription brands, replenishables, and any category with strong repeat purchase. It credits the acquisition campaign for some fraction of the expected lifetime contribution from the customer. The math:
LTV-Adjusted BEROAS = 1 ÷ (First-Order CM % + Future Contribution Credit)
The "future contribution credit" is the discounted, repeat-purchase-adjusted contribution from orders 2, 3, 4 and beyond, expressed as a percentage of first-order AOV. For a replenishment brand with a 40 percent ninety-day repeat rate at the same AOV and contribution margin, the future contribution credit on first-order revenue might be another 15-25 percentage points. That can drop your break-even from 3.3x to 2.0x for acquisition campaigns.
The trap is that most brands either ignore LTV entirely (too strict, miss profitable acquisition) or credit unrealistic LTV (too loose, fund acquisition that never pays back). The honest version requires cohort analysis. Pull your last twelve months of customers, look at the actual contribution they generated through month twelve, and discount it by your cost of capital. Use that number, not a wishful one.
For more on running cohort math, see our profitability stack guide.
Setting target ROAS in Google Ads and Meta
Once you have your true break-even, the platform-adjusted target, and a buffer for noise, you have a number to actually use. Where does it go?
Google Ads tROAS bid strategy: the target ROAS field expects a percentage, not a ratio. A 3.5x target is entered as 350. The most common mistake is entering 3.5 (which Google reads as 3.5 percent, leading the campaign to bid for almost any conversion) or entering 350% but forgetting to multiply through the platform bias.
Meta Advantage+ Shopping with cost cap or minimum ROAS goal: enter the ROAS goal as the decimal value (e.g., 4.5 for a 4.5x goal). Meta will optimize toward that goal but the same platform-bias problem applies, so set the goal at your bias-adjusted break-even, not your true break-even.
Performance Max with Target ROAS: similar to standard Search, enter as a percentage (450 for 4.5x). Performance Max is notorious for over-claiming credit on branded and shopping inventory, so add an extra 10-15 percent buffer relative to standard search campaigns.
TikTok with ROAS bidding: enter as a decimal. Then add the largest bias adjustment of any platform because TikTok's attribution generosity is in a class of its own.
Whatever platform, the number in the field should not be your true break-even ROAS. It should be your true break-even times your platform's bias factor times a 10-15 percent noise buffer if you want to give the campaign room to find profitable pockets without scaling losers. If you want to be strict, skip the noise buffer and accept fewer scaling opportunities.
Marginal vs blended break-even
One more distinction worth drawing because the existing top-20 articles either skip it or confuse readers.
Marginal break-even ROAS is what we have been computing this whole guide. It includes variable costs only. It is the right number for individual campaign decisions: every new dollar of spend must clear marginal break-even or it is destroying value at the margin.
Blended break-even ROAS is higher because it loads in fixed costs: rent, salaries, software subscriptions, agency fees, the whole G&A line. It is the number that tells you whether the entire business is profitable on a P&L basis.
Most Shopify operators do not need to chase blended break-even campaign by campaign. What they need is to be confident every dollar of ad spend clears marginal break-even, so the contribution margin coming through the door has something left over to pay down fixed costs. The volume of contribution margin times the number of customers ultimately covers fixed costs. Campaigns that are below marginal break-even cannot cover fixed costs because they are not even covering their own variable costs.
The full first-principles walk-through of marginal versus blended is in our break-even ROAS deep dive, worth reading if any of this is new.
Data audit checklist before you trust any break-even number
Garbage in, garbage out. Before you trust any break-even ROAS calculator (including ours), audit these six inputs.
1. COGS by SKU, updated this quarter. If your supplier raised prices in February and you are using last year's COGS in November, every downstream number is wrong. Pull current supplier invoices. Recalculate weighted-average COGS across your top fifteen SKUs at minimum.
2. Refund rate calculated from the last 90 days of orders, not estimated. Pull the orders export. Total refunded dollars divided by total gross revenue. Do not let anyone tell you "we run around five percent" without checking. If your real number is eight percent, you just inflated margin by three percentage points and broke your break-even.
3. Net shipping cost, not gross. Subtract shipping revenue collected from shipping cost paid. Per order. Most brands have a shipping setting that has not been touched since launch and a carrier rate that has gone up three times since then.
4. Discount stack pulled from real order data. Total discount divided by total subtotal across 90 days of orders. Includes automatic discounts, loyalty discounts, subscription discounts, BOGO. Most brands underestimate this by half because they only think about the discount they actively promote.
5. Payment fee rate matching your plan tier. Shopify Payments rates differ by plan. If you upgraded from Basic to Shopify or Shopify to Plus six months ago and your spreadsheet still has 2.9 percent, your fees are wrong by 30 to 50 basis points. Check the current rate on the Shopify billing page.
6. App and SaaS per-order cost loaded in. Klaviyo, Postscript, Recharge, Gorgias, Yotpo. Sum the monthly invoices, divide by monthly orders, treat as variable. This is the single most-overlooked cost line and the easiest one to add to a calculator.
If you cannot answer all six of these confidently for your store, your break-even ROAS number is probably wrong by 15 to 30 percent regardless of which calculator you use. The calculator is doing math correctly; you are feeding it bad data.
When to recalculate your break-even ROAS
Most articles recommend "quarterly recalculation". That is wrong. Break-even ROAS should be recalculated on triggers, not the calendar. Specific events to recompute on:
- Supplier or COGS change. Any product where landed cost moved by more than five percent.
- Shipping rate change. When your carrier renegotiates or you switch carriers.
- AOV shift of more than ten percent. New bundles, price increases, or category mix changes that move blended AOV.
- Refund rate trending up. A new product line with higher returns, or a quality issue.
- Discount promo running. During and after a heavy promo period, recompute to ensure you adjust acquisition targets.
- Plan tier change. Moving from Shopify to Shopify Plus changes your payment fee.
- New channel. Adding TikTok Shop or Amazon changes blended marketplace fees.
- Annual fixed cost review. Once a year recompute blended (P&L) break-even as fixed costs change.
If you connect a tool like BreakevenHQ, the recalculation happens automatically on every sync because the inputs come from live store and ad-account data, not a spreadsheet that someone has not opened since onboarding. The point is not to use any particular tool. The point is that "quarterly" is too slow for any of the listed triggers.
When the framework breaks
Break-even ROAS is the right framing for ad-driven DTC businesses where most orders are roughly comparable and acquisition cost is dominated by paid media. It breaks down at the edges, and it is worth knowing where.
Heavy retention businesses with multi-month payback. If your business model is acquire-at-loss-and-monetize-on-subscription, you have to use LTV-adjusted break-even. The first-order math will tell you to pause campaigns that are correctly buying long-term contribution. The honest version requires cohort discipline.
Marketplace-driven businesses where ads are a small part of acquisition. If 60 percent of your orders come from SEO, email, and word of mouth, the ROAS-centric framework over-indexes on the 10 percent of revenue that comes from paid. Use blended MER (Marketing Efficiency Ratio) as your portfolio metric and break-even ROAS as a campaign-level guardrail.
Brand campaigns with no direct response intent. A YouTube awareness campaign or out-of-home test cannot be evaluated against break-even ROAS in the short term. Use share-of-search, branded query growth, or holdout-test lift instead.
Pre-product-market-fit brands. If your unit economics are bad and you are trying to find a product that works, break-even ROAS will tell you to stop spending. That might be correct. It might also mean you should fix the product, not the bid target.
For everyone else, meaning most established DTC brands running paid acquisition on Meta, Google, TikTok, or some combination, break-even ROAS with the right inputs is the single most important number on the dashboard. Get the inputs right and the framework holds.
Frequently asked questions
What is break-even ROAS? Break-even ROAS is the return on ad spend at which revenue from a campaign exactly covers the variable cost of producing, fulfilling, and processing the orders that revenue represents. Above break-even is profit. Below is loss. It is computed as 1 divided by your contribution margin percentage.
What is the difference between ROAS and break-even ROAS? ROAS is a measurement of what a campaign actually returned. Break-even ROAS is a threshold, the minimum acceptable ROAS for that campaign to not lose money. Break-even is the floor; your reported ROAS is the result.
How is break-even ROAS calculated? Break-Even ROAS = 1 ÷ Contribution Margin %. Contribution margin is revenue minus every variable cost per order: COGS, payment fees, net shipping, fulfillment, refund haircut, dispute fees, discounts, affiliate commissions, marketplace fees, app per-order costs, and any sales tax leakage. Most basic calculators include only three or four of these.
What is a good break-even ROAS? There is no universal good break-even ROAS. It is purely a function of your contribution margin. A digital course brand with 95 percent margin has a break-even ROAS of 1.05x. A supplement brand with 30 percent margin has a break-even ROAS of 3.3x. Both numbers are correct for their business. "Good" is whether your campaigns clear the number, not the level of the number itself.
Should I use my break-even ROAS as my target ROAS in Meta or Google? No. Your platform-reported ROAS is biased upward versus reality by 10 to 50 percent depending on the channel and campaign type. The number you punch into Meta cost cap or Google tROAS should be your true break-even multiplied by a platform bias factor, often 1.2 to 1.6x. Otherwise you will hit the target on the dashboard and lose money in your bank account.
How often should I recalculate my break-even ROAS? On triggers, not a fixed schedule. Recompute whenever COGS, shipping rates, AOV, discount mix, refund rate, plan tier, or channel mix changes meaningfully. Tools that pull from live data recompute automatically. Spreadsheet-based brands should review at least monthly, but the calendar is a worse signal than the triggers.
Should new customer and returning customer campaigns have the same break-even ROAS target? No. New-customer campaigns should clear first-order break-even (strict, no LTV credit). Returning-customer or retention campaigns can credit some LTV but should still cover variable costs on the order they generate. Subscription and replenishment brands can use LTV-adjusted break-even for acquisition if their cohort math is rigorous.
Why does my Shopify dashboard show profitable orders when my break-even ROAS says they are not? Because Shopify's "gross margin" only subtracts Cost of Goods Sold. It ignores payment fees, shipping, fulfillment, refunds, discounts, and every other variable cost. The Shopify number is correct for accounting but misleading for ad targeting. The break-even ROAS computed from real contribution margin is the one to trust for paid acquisition decisions.
The bottom line
Break-even ROAS is a one-line formula. The work is in the inputs. Get the eleven variable costs right, adjust for the bias of whichever ad platform you are using, separate new-customer from returning-customer math, audit your data on the six points listed above, and the formula gives you a number you can actually build an acquisition program on.
If you are running paid ads on a Shopify, BigCommerce, WooCommerce, or Magento store and want this computed automatically from live data across every campaign and product, instead of maintaining a spreadsheet that is wrong the day after you build it, BreakevenHQ does that in about three minutes from store connect to first dashboard. It is the tool I wished existed for the agency, so we built it.
Whether you use a calculator, build the spreadsheet, or hire a partner, the principle does not change: the number you target as your break-even ROAS is the foundation of every paid ads decision you will make this year. Building it on Shopify's gross margin or a three-input calculator is building on sand. Build it on the real math.
Ishant Sharma is the founder of Hustle Marketers, a Google Partner, Meta Business Partner, and Microsoft Advertising Partner agency, and BreakevenHQ, break-even analytics for DTC brands across every channel and every product. He is certified in Google Ads (Search, Display, Shopping, and Video), Meta Blueprint Media Buying Professional, and Microsoft Advertising, and has been running paid ads for ecommerce brands every day for over a decade.