Skip to content
GetProfit

Ecommerce Unit Economics: From Margin to Break-Even ROAS

Find the ROAS where your ads break even: a 25% contribution margin needs 400%. Then see what one order earns after cost of goods, delivery, fees and ads.

Ecommerce unit economics is what one order earns after the cost of goods, delivery, fees, returns and the ads that brought it. Your contribution margin sets the bar: break-even ROAS = 1 ÷ contribution margin, so a 25% contribution margin needs a ROAS of 4.0 (400%). Your ads set the result: actual ROAS = conversion rate × average order value ÷ cost per click. Google Ads makes you money while your actual ROAS, counted on real order amounts, stays above break-even.

This guide is the map of our series on unit economics and ad metrics. Each section gives the short answer and points to the article with the full one. You need a calculator and a few numbers from your store and your ad account.

What does unit economics mean for an online store?

Unit economics counts profit per unit of the business instead of per month. For a store that sells hundreds of products, the natural unit is one order. Google Ads counts in the same unit: each purchase is a conversion with a value. ROAS is the value of those conversions divided by what you spent on ads.

One order passes through several lines before it becomes profit.

Example store, not client data.

LineWhat it isTableware shop, per order
Order valueWhat the customer pays600
− Cost of goodsWhat you paid the supplier−390
= Gross profitWhat is left after the cost of goods210 (35% of the order)
− Variable costsDelivery and packing 5%, payment fees 2%, returns 3%−60 (10%)
= Contribution before adsWhat the order leaves for ads, fixed costs and profit150 (25%)
− Ad cost per orderWhat Google charged to bring the order−133
= Contribution after adsWhat the order leaves for fixed costs and profit17

The third line, as a share of the order, is your gross margin: what is left from a sale after you take out the cost of goods. The fifth line, as a share of the order, is the contribution margin: the order value minus every cost that grows with each order. In this shop it is 25%, and your ad targets should rest on it.

Which costs count per order, and which don’t?

Gross margin leaves out delivery, fees and returns, so a target built on it looks safer than it is. How the two margins differ, and which costs belong in each, is in contribution margin vs gross margin.

Shopify’s guide (Break-Even ROAS Calculator) subtracts four kinds of variable cost: the cost of goods, delivery and packing, payment fees, and warehouse labour to pick and pack orders. Add returns if your store gets many. In the Google Ads data we analyse, revenue is what customers ordered, not what they kept.

Rent, salaries and software stay flat however many orders come in, so they sit outside the per-order calculation. They come back when you ask whether the whole store makes money. Some guides count per customer instead: what a customer spends with you over time (lifetime value) against what it cost to win them (acquisition cost). That takes repeat-purchase data, which ours lacks, so this guide counts per order.

What margin should an online store have?

The right margin for your store depends on the category, your suppliers and where your prices sit. Shopify’s ROAS guide (Return on Ad Spend: How To Calculate Your ROAS) says the same of ROAS: an acceptable level depends on margins, operating costs and goals. So you work out the ROAS your store needs from your own numbers.

How do you calculate break-even ROAS?

Break-even ROAS is the ROAS at which ad costs use up the order’s whole contribution. The formula:

Break-even ROAS = 1 ÷ contribution margin

Shopify’s calculator uses the same formula and takes the margin after variable costs. A $100 product with $60 of variable costs has a 40% margin and a break-even ROAS of 2.5.

In Google Ads, you set target ROAS as a percentage. Google’s Target ROAS help (About Target ROAS bidding) gives an example: $5 of conversion value for each $1 of spend is a target ROAS of 500%. So a break-even ROAS of 4.0 is a target ROAS of 400% in your account.

Contribution marginBreak-even ROASAs a target ROAS in Google AdsMost you can spend on ads, as a share of revenue
10%10.01,000%10%
15%6.67667%15%
20%5.0500%20%
25%4.0400%25%
30%3.33333%30%
40%2.5250%40%
50%2.0200%50%

The last column is break-even ACoS, the advertising cost of sale: spend ÷ revenue. It is ROAS turned upside down, so at break-even it equals the contribution margin. “Ads may take up to 25% of revenue” and “ROAS must stay above 400%” say the same thing. The full calculation, with the costs that belong in it, is in the break-even ROAS guide.

Margin or markup: which one goes into break-even ROAS?

Margin is a share of the selling price. Markup is a share of the cost. The same product gives two different numbers, and only margin belongs in the break-even formula.

Example store, not client data.

A serving bowl costs 60 and sells for 90; leave delivery and fees aside for a moment. The markup is 30 ÷ 60 = 50%. The margin is 30 ÷ 90 = 33.3%.

Break-even ROAS from the margin is 1 ÷ 0.333 = 3.0. Use the markup by mistake, and it comes out at 2.0. Every order between ROAS 2.0 and 3.0 then looks profitable and loses money.

Worked example: from margin to a ceiling on ad spend

Our article on putting 4.5M CZK into Google Ads works through one store’s margin. It starts from a 30% margin and takes off 4% of revenue for delivery, the top of the typical 2–4% range. Then it takes off 10% for the store’s other monthly costs, such as warehouse, salaries, software and loans. What remains is 16% of revenue: the most the store can spend on ads and still keep a minimal profit.

Turned into ROAS, the same numbers give two levels:

LevelWhat it coversShare of revenue left for adsROAS needed
Per order30% margin minus 4% delivery26%3.85 (385%)
Whole storeThe same, minus 10% of other monthly costs16%6.25 (625%)

Below 385%, every extra order from ads loses money. Between 385% and 625%, each order pays for itself, but the store still falls short of covering its warehouse and salaries. Above 625%, the store as a whole is in the black. Use the per-order level as the floor for your target and the whole-store level as your goal for the month.

The same article adds that margins differ between products. One target for the whole range puts the low-margin categories in the red.

What sets your actual ROAS?

Break-even ROAS is what you need. Actual ROAS is what you get, and it splits into three numbers. The conversion rate is the share of clicks that end in an order. Google Ads calculates it as conversions divided by the ad interactions that can be tracked to a conversion (Conversion rate: Definition).

The average order value is revenue divided by the number of orders. Cost per click is what you were actually charged for a click, often less than your maximum bid (Cost-per-click (CPC): Definition).

Revenue from ads is clicks × conversion rate × average order value. Spend is clicks × cost per click. Divide one by the other, and the clicks cancel out:

ROAS = conversion rate × average order value ÷ cost per click

What is the most you can pay per order and per click?

One contribution margin gives three break-even numbers, one for each way you can read your account:

Example store, not client data.

Break-evenFormulaTableware shopActualRoom before break-even
ROAS1 ÷ contribution margin1 ÷ 0.25 = 4.04.512.5%
Cost per orderorder value × contribution margin600 × 0.25 = 15013312.5%
Cost per clickbreak-even cost per order × conversion rate150 × 3.75% = 5.63512.5%

All three show the same 12.5% of room, because they are one equation read three ways. If clicks cost 12.5% more, or the conversion rate falls by 11.1% to 3.33%, the shop reaches break-even. Count only the 35% gross margin, and break-even ROAS comes out at 2.86, which makes 4.5 look like plenty of room.

The middle row is your ceiling for cost per conversion, which for a store means cost per order. Google’s Target CPA is the average amount you’d like to pay for a conversion (About Target CPA bidding). Your break-even cost per order is the most that target can be. The full calculation is in break-even CPA, and the most you can pay per click is in break-even CPC.

In our data, ROAS moves with conversion rate and average order value, not cost per click

We looked at 1,360 store-months of GetProfit data from June 2025 to June 2026. We measured each store’s monthly change against the median change of all stores in the same month. This strips out what hit all stores at once, such as season and holidays. Within a store, ROAS moved together with conversion rate (rank correlation +0.527) and average order value (+0.540), and barely with cost per click (−0.100).

The table takes the months in which a store’s ROAS rose or fell by more than 20% against other stores. It shows the median change in each metric.

Months in which, against other storesMonthsROASConversion rateAverage order valueCost per clickSpend
ROAS rose more than 20%361+47.8%+23.3%+19.5%−2.4%±0.0%
ROAS fell more than 20%285−36.4%−19.5%−19.4%+3.4%−1.3%

Between stores the picture is similar. Across 114 stores with at least eight months of data in the same window, a higher ROAS went together with higher revenue per click (rank correlation +0.633). It also went with a higher average order value (+0.329) and conversion rate (+0.269), and with a lower cost per click (−0.221).

Read these numbers as observations, not an experiment: they show what moves together, not what causes what. Our ROAS also counts revenue rather than profit, because our data has no cost of goods. So the data shows where ROAS comes from, not whether it pays. For that, you need your contribution margin.

For unit economics, this means two of the three parts of ROAS live after the click. They sit on product pages, in delivery terms and in the size of the basket. In this data, cost per click was the weakest of the three. Spend affects revenue through a separate lever, as revenue = ad spend × ROAS explains.

Can you trust the ROAS in your report?

Every break-even formula assumes the conversion value is the real order amount. According to Google’s Target ROAS help, the bidding predicts future conversion values from the ones you report. Then it sets bids to get the most value at your target. If every order arrives with one fixed amount, or two goals count the same order, the ROAS in your report is wrong, and the bidding learns on it.

Run three checks before any calculation:

  1. Each order is counted once. Two primary goals that fire on the same purchase count each order twice.
  2. The value is the real order amount. A fixed number in the conversion settings turns revenue into orders × that number.
  3. The goal is a purchase. With add-to-cart or page views as the primary goal, the bidding looks for started actions instead of paid orders.

The portal’s conversion check runs all three on your account. Where the order amount can’t be trusted, the portal hides ROAS and shows revenue in grey marked “not trusted”. It counts by the number of orders and the cost per order instead. How ROAS is calculated, and when the figure in your report can’t be trusted, is in the ROAS formula guide.

Why a good average ROAS can hide losing products

One account ROAS averages products whose contribution margins differ widely. A target set on that average pays off on some products and loses money on others.

Example store, not client data.

Product groupContribution marginBreak-even ROASActual ROASPer 100 of ad spend
Cast-iron cookware35%2.864.5+57.5
Plates and bowls25%4.04.5+12.5
Discounted glassware15%6.674.5−32.5

Every 100 of spend brings 450 of revenue in each group, and the contribution margin decides what stays. A discount cuts the contribution margin, so the break-even ROAS of a discounted product goes up. Store owners describe this as a top seller that earns nothing once you count the discounts.

The portal works without cost-of-goods data and judges products against the account itself: in its product classification, a product’s target ROAS is the account’s ROAS × 0.7. In the tableware shop, that bar is 3.15, below the break-even of 4.0. A product between the two passes the portal’s bar and still loses money on every order. Use the portal to find what pulls the account down, and your contribution margin to find where break-even lies.

Other places where profit leaks between the ad report and your bank account are in high ROAS, no profit.

Does more spend mean more profit?

Only while the extra orders also clear break-even. The average ROAS covers all your spend, but the next increase in budget earns at its own rate. A store at ROAS 4.5 with a break-even of 4.0 can add budget only while the extra orders come in at a ROAS above 4.0.

The average hides this. To see it, compare revenue and spend before and after a budget step, over comparable periods. How to read the step is in marginal ROAS.

Google’s Target ROAS help says that to get more volume, you can gradually lower the target so the strategy enters more auctions. A target set too high may limit the traffic your ads get. Your break-even ROAS is the floor for those cuts: below it, each extra order costs more than it leaves.

Profit instead of revenue: POAS and gross profit in Google Ads

POAS, profit on ad spend, uses profit instead of revenue. Stape, a company that sells server-side tracking, defines it as contribution profit before ad spend ÷ ad spend, with 1.0 as break-even (ROAS vs POAS). In the tableware shop, 45,000 of contribution ÷ 40,000 of spend gives a POAS of 1.125. That is the same 12.5% of room the shop has between its ROAS of 4.5 and its break-even of 4.0.

Google Ads can show profit too. If you set up conversions with cart data, your tag sends the products in each order. Google Ads combines them with the cost of goods from your Merchant Center feed and adds metrics based on gross profit (About conversions with cart data). The item IDs your tag sends must match the IDs in your feed.

The cost of goods attribute in Merchant Center is for reporting and doesn’t need to be exact. Google suggests a rough estimate or an average (Cost of goods (cogs) [cost_of_goods_sold]). Google defines gross profit there as revenue minus the cost of goods. So delivery, fees and returns still sit outside it: it is gross profit, not contribution.

For when POAS tells you more than ROAS, see POAS explained. How to make Google bid on profit, and what you need in place first, is in profit-based bidding.

Is Google Ads making money, or the whole store?

Google Ads ROAS counts only the orders Google attributes to its ads. Customers also come back through email, organic search and direct visits, and other channels cost money too. The marketing efficiency ratio (MER) divides all store revenue by all marketing spend, without splitting credit between channels.

Both questions matter. Google Ads ROAS against break-even tells you whether the ads pay for their own orders. MER tells you whether marketing as a whole keeps the store in the black. Compare it with your whole-store level: the ROAS that also covers rent, salaries and other monthly costs.

When to make budget decisions on MER instead of Google Ads ROAS is in MER vs ROAS.

What to do this week

  1. Take the last full month from your store. Revenue, number of orders and cost of goods give you the average order value and the gross margin.
  2. Subtract the variable costs. Delivery and packing, payment fees and returns, each as a share of revenue, give you the contribution margin.
  3. Work out the three break-evens. ROAS = 1 ÷ contribution margin. Cost per order = average order value × contribution margin. Cost per click = break-even cost per order × conversion rate.
  4. Check that the conversion values are real. Each order counted once, with its real amount, and a purchase as the goal.
  5. Read your actual ROAS. In Google Ads, add the Conv. value/cost column and multiply it by 100, as Google’s Target ROAS help suggests. Leave out the last few days, which are still collecting delayed conversions.
  6. Compare product groups, not just the account. If contribution margins differ widely, check each group’s ROAS against its own break-even before you change targets.
  7. Keep every target ROAS above break-even. Google says to base the target on your business goals and your historical ROAS. Your break-even is the lowest that target can go.
  8. Pick one lever after the click. In our data, ROAS moved with conversion rate and average order value. Start with delivery terms, product pages or the size of the basket.

What your ads are really learning on. An order counted twice. An amount substituted for the real one. A payment several times larger than your usual basket. In the report all of these are ordinary conversions — and those are what your ads learn on. The portal checks what stands behind them. The portal changes nothing without your consent.

Check your conversions →

Sources

  • Break-Even ROAS Calculator: How To Measure Break-Even ROAS (2026) — break-even ROAS = 1 ÷ margin after variable costs; the four variable costs; the $100 / $60 / 2.5 example. Checked 2 October 2026.
  • Return on Ad Spend: How To Calculate Your ROAS (2026) — an acceptable ROAS depends on margins, operating costs and advertising goals. Checked 2 October 2026.
  • About Target ROAS bidding — target ROAS as a percentage ($5 ÷ $1 = 500%); bidding predicts values from reported conversion values; a target too high may limit traffic; lowering it gradually brings more volume; Conv. value/cost × 100; excluding the conversion delay period; target based on business goals and historical ROAS. Checked 2 October 2026.
  • About Target CPA bidding — Target CPA is the average amount you’d like to pay for a conversion. Checked 2 October 2026.
  • Conversion rate: Definition — how Google Ads calculates conversion rate. Checked 2 October 2026.
  • Cost-per-click (CPC): Definition — actual CPC is what you are charged, often less than the maximum bid. Checked 2 October 2026.
  • About conversions with cart data — cart data plus cost of goods from Merchant Center gives gross profit metrics; item IDs must match the feed. Checked 2 October 2026.
  • Cost of goods (cogs) [cost_of_goods_sold] — gross profit = revenue − cost of goods; the value is for reporting and can be a rough estimate or an average. Checked 2 October 2026.
  • ROAS vs POAS: How to Send Better Revenue Signals to Ad Networks — POAS = contribution profit before ad spend ÷ ad spend, 1.0 as break-even (a vendor’s article). Checked 2 October 2026.
  • GetProfit data: 1,360 store-months, June 2025 – June 2026, each measured against the median store in the same month — how ROAS, conversion rate, average order value, cost per click and spend moved together; 114 stores with at least eight months — what goes with a higher ROAS between stores.
  • GetProfit, published article “4.5M CZK into Google Ads” — the worked example of a 30% margin, 4% delivery and 10% other costs.
  • GetProfit portal methodology — product target ROAS = account ROAS × 0.7; ROAS hidden when the conversion value can’t be trusted.