BreakevenHQ
break-evenROASshopifyprofitabilityecommerce

How to Calculate Break-Even ROAS for Your Shopify Store (the Real Math)

May 13, 2026 · By Ishant Sharma

Every Shopify operator running paid ads has a ROAS target. The problem is that almost nobody knows where that target actually came from. Most teams pick a number that sounds right, like 3x or 4x, and then optimize campaigns toward it. Some are pulling a number from a Slack channel. A few inherited it from the previous media buyer who left two years ago. Almost nobody has done the math from first principles for their specific store, their specific gross margin, their specific shipping costs.

That is a problem. Because if your target ROAS is wrong, every scaling decision you make is wrong. Every campaign you call profitable might be losing money quietly. Every campaign you pause for low ROAS might be your most profitable one. The number you target is the foundation of every paid ads decision and most operators are building on sand.

This post walks through how to calculate break-even ROAS for a Shopify store from first principles. I have been running ads for ecommerce brands every day for over a decade through Hustle Marketers, a Google Partner and Meta Business Partner agency, and the way I see operators get this wrong falls into a few predictable patterns. The math is not hard. The trap is what you forget to subtract.

What break-even ROAS actually is

Break-even ROAS is the return on ad spend at which a campaign produces zero profit and zero loss. Every dollar above that number is profit. Every dollar below is loss. The formula in its simplest form is one divided by your contribution margin expressed as a percentage.

If your contribution margin is 25 percent, your break-even ROAS is 4.0x.

If your contribution margin is 40 percent, your break-even ROAS is 2.5x.

If your contribution margin is 50 percent, your break-even ROAS is 2.0x.

That looks simple, and that is exactly where most operators stop. The mistake hiding inside that formula is the definition of contribution margin. Most teams calculate it wrong, almost always in the same direction, almost always in a way that makes their break-even look better than it actually is.

The contribution margin trap

Shopify shows a "gross margin" number in its Better Reports interface. It is Net Sales minus Cost of Goods Sold, divided by Net Sales. That number is useful for accounting. It is dangerous for ad targeting.

The problem is that gross margin only subtracts COGS. It does not subtract any of the variable costs that hit your bank account every time an order ships. Those variable costs are real. They are not optional. They come out of every order whether you want them to or not. And on a typical Shopify store, they add up to ten to twenty percent of revenue. Sometimes more.

Here are the costs Shopify gross margin misses, in roughly the order of how much they matter:

Payment processing fees. Shopify Payments charges 2.9 percent plus thirty cents per transaction on most plans. For a typical sixty dollar order that is roughly two dollars per order. Across ten thousand orders a year you have lost twenty thousand dollars before considering anything else.

Shipping cost. Even if you charge shipping to the customer, you are often subsidizing part of it. The difference between what you collect in shipping revenue and what you pay the carrier is a real per-order cost. Brands using flat rate shipping often subsidize four to seven dollars per order on average. Free shipping orders subsidize more.

Fulfillment cost. Whether you fulfill in house or use a 3PL, every order has a fulfillment cost. Pick, pack, label, materials. Two to five dollars per order is normal. More for complex SKUs.

Refunds and chargebacks. A five percent refund rate eats five percent of your contribution margin invisibly. Most Shopify dashboards report gross revenue, not net revenue after refunds.

Discount codes. If your discount strategy is built into the ads (which it usually is), the discount is a real cost of the order. Influencer codes, welcome offers, win back codes, abandoned cart codes. Each percentage point of average discount is a percentage point of margin gone.

When you subtract all of these from revenue along with COGS, you get contribution margin. That is the real number to plug into the break-even formula. Not Shopify's gross margin. Not Better Reports' margin. The actual contribution margin after every variable cost.

Worked example

Let us walk through a real example with round numbers so the math is obvious. A Shopify brand selling supplements with the following profile:

  • Average order value: 60 dollars
  • COGS: 40 percent of revenue (so 24 dollars per order)
  • Payment processing: 2.9 percent plus 0.30 (so 2.04 dollars per order)
  • Shipping cost net of shipping revenue: 4 dollars per order
  • Fulfillment cost: 3 dollars per order
  • Refund rate: 5 percent of orders

Gross margin per Shopify: revenue minus COGS, divided by revenue. That is 60 minus 24, divided by 60, which equals 60 percent gross margin. Plug that into one over margin and you get a 1.67x break-even ROAS. That is the number most operators run with.

Now the real math. Per order contribution margin equals 60 (revenue) minus 24 (COGS) minus 2.04 (payment fees) minus 4 (shipping cost) minus 3 (fulfillment). That equals 26.96 dollars per order, before refunds. After applying a 5 percent refund rate the effective contribution per order is 25.61 dollars. As a percentage of revenue that is 42.7 percent. Plug that into the formula and your real break-even ROAS is 2.34x.

The gap between 1.67x and 2.34x is huge. Every campaign running between 1.67 and 2.34 is making money on paper and losing money in your bank account. If you have been scaling those campaigns aggressively, your acquisition machine is actively destroying value while looking healthy on the dashboard.

This is the single most common pattern I see when Hustle Marketers takes over an existing Shopify brand. The previous team had a 2x target. The actual break-even was 2.5x. Half the budget was burning money the whole time.

The components in detail

Let me go deeper on the parts most operators get wrong.

Payment processing. Shopify Payments is 2.9 plus 0.30 on the Basic and Shopify plans. Advanced gets you 2.6 plus 0.30. Shopify Plus gets you 2.4 plus 0.30. If you use Stripe or another processor outside of Shopify Payments, you also pay Shopify a transaction fee on top. Be very careful with this calculation if you use a non-Shopify processor. The transaction fees stack.

Shipping math. The way to think about shipping is not "what does it cost to ship" but rather "what is the per-order net". Subtract the shipping revenue you collect from the shipping cost you pay the carrier. If you charge a flat 5 dollar shipping fee and the average ship cost is 8 dollars, your per order shipping cost is 3 dollars. If you offer free shipping and the average ship cost is 8 dollars, your per order shipping cost is 8 dollars. Always do this net calculation. The gross numbers are misleading.

Fulfillment. If you use a 3PL like ShipBob or ShipHero, your invoice gives you a clear per-order number. If you fulfill in house, you have to allocate warehouse rent, fulfillment labor, materials, and software. Most in-house operations underestimate this because they forget to allocate the labor cost. A picker costs you 25 dollars an hour fully loaded. If they pack 8 orders an hour, that is 3.13 dollars per order in labor alone. Add materials.

Refunds. Pull the data from the last 90 days of orders. Total refunded dollars divided by total gross revenue is your refund rate. Apply it as a percentage subtraction to your contribution. Do not skip this step. Refund rates of 5 to 8 percent are normal in apparel and supplements. 12 to 18 percent is normal in beauty. Higher for furniture and electronics.

Discounts. Open your orders export. Calculate the total discount given divided by the total subtotal. That gives you the percentage of revenue you are giving up to promotions. If that number is 12 percent, your contribution margin is 12 percentage points lower than the version without discounts.

Marginal vs blended break-even

There is one more distinction worth drawing. The break-even ROAS we just calculated is the marginal break-even for a single order. For ad scaling decisions, this is the right number. Every new dollar of ad spend has to clear this bar or it is destroying value.

The blended break-even is different. It includes your fixed costs (rent, salaries, software subscriptions, agency fees) spread across your revenue. If you want your business to be profitable on a P&L basis, blended break-even is the number you target. It is always higher than marginal break-even.

Most Shopify operators do not need to chase blended break-even campaign by campaign. What they need is to be confident that every dollar of paid spend is above marginal break-even so that the contribution margin from acquired orders can pay down the fixed costs. The fixed costs themselves get paid by the volume of contribution margin coming through the door.

How to actually do this for your store

If you are running a Shopify brand and want to calculate your real break-even ROAS today, here is the practical sequence.

First, pull your last 90 days of orders. Use Shopify Admin export, or any analytics tool you trust. Get gross revenue, COGS, refunds, shipping revenue, shipping cost, and discounts at the order level.

Second, calculate contribution margin per order. Subtract COGS, payment fees, net shipping cost, fulfillment, and an average discount adjustment from gross revenue. Apply a refund rate haircut. That is your contribution margin in dollars per order. Divide by revenue per order to get the percentage.

Third, take one over the percentage. That is your break-even ROAS.

Fourth, compare it to whatever number you have been targeting. If your real break-even is higher than your target, your acquisition is hemorrhaging. Pause everything below the real break-even, even if Shopify Better Reports tells you those campaigns are profitable.

Fifth, set up a system to recompute this monthly. Variable costs drift. Payment fees shift when you change plans. Shipping costs spike during peak season. Fulfillment changes if you move 3PLs. The number is not static, and the moment you set it and forget it is the moment it becomes wrong again.

The Hustle Marketers operator playbook

At Hustle Marketers we run this calculation for every new brand we onboard, and we re-run it every quarter. The biggest pattern across hundreds of operator engagements is that the real break-even is almost always 25 to 40 percent higher than the brand thinks it is. The implication of that gap, applied across an annual ad budget of half a million dollars, is six figures of value the brand was losing without realizing it.

That is the thesis behind BreakevenHQ. We built it because the math we were running in spreadsheets for every client should not require a spreadsheet. It should just show up in your dashboard, every day, against the real cost structure of your specific store. Two numbers side by side. What Shopify says your break-even is. What it actually is. The gap between them is the leverage every operator should be chasing.

If you want to see your real break-even ROAS without doing this math yourself, BreakevenHQ pulls it directly from your Shopify orders, your variant cost per item, and your ad spend. Thirty day free trial, no credit card. Built by the team running campaigns every day for the brands you have already heard of.


Written by Ishant Sharma, founder of Hustle Marketers, a Google Partner and Meta Business Partner performance marketing agency. The team has been running paid acquisition for ecommerce brands since 2013.