Contribution margin ratio = (Revenue − Variable costs) ÷ Revenue. But the number to run your store on is contribution margin in dollars. Here's how to calculate both, why the dollar figure beats the percentage and ROAS, and the one job the ratio is genuinely good for: setting your break-even ROAS.
On this page
- What is the contribution margin ratio?
- Track contribution margin in dollars first, the ratio second
- Why contribution margin beats ROAS
- The contribution margin ratio formula
- How to calculate contribution margin and the contribution margin ratio
- Contribution margin ratio calculator
- The one job the ratio is good for: break-even ROAS and max CAC
- Contribution margin by channel, product and country
- Weighted average contribution margin ratio for multi-SKU stores
- Contribution margin ratio and break-even revenue
- Contribution margin in dollars vs CM ratio vs gross margin %
- What moves your contribution margin
- What is a good contribution margin ratio?
- Common mistakes
The contribution margin ratio is contribution margin as a share of revenue: Contribution margin ratio = (Revenue − Variable costs) ÷ Revenue. It's a useful percentage, but it isn't the number to run an ecommerce business on. That's contribution margin in dollars, per order and per month, because dollars are what pay for your ads, your team and your profit.
Take an $80 order that costs $39.02 in product, shipping, packing, payment fees and returns. It leaves $40.98 of contribution margin, which is a 51.2% ratio. The $40.98 is the money: it's the most you can spend to win that order and what's left to cover salaries if you don't. The 51.2% does one job very well, which is telling you the minimum ROAS your ads need (1.95 here), and it's handy for comparing channels and products of different sizes.
This guide covers both: the formula, how to calculate contribution margin and the ratio for one order, one product and one month, why the dollar figure beats both the percentage and ROAS as the number you manage, a fill-in table you can copy, the ratio's break-even ROAS job, the weighted ratio for a multi-SKU catalogue, and what moves the dollars.
What is the contribution margin ratio?
The contribution margin ratio (CM ratio) measures how much of each dollar of revenue is left after the costs that rise and fall with every sale. Contribution margin is the dollar amount, revenue minus variable costs; the ratio is that amount divided by revenue. What's left "contributes" to your fixed costs, such as salaries, rent, software and agency retainers, and anything beyond them is profit.
You'll also see it called the contribution margin percentage, the CM ratio, or, in UK and Indian management accounting, the profit-volume (P/V) ratio. They're the same number. The Corporate Finance Institute and the free OpenStax managerial accounting textbook both define it this way. For the full picture of contribution margin itself (CM1, CM2 and CM3, and how to track it on Shopify), start with our complete contribution margin guide.
Contribution margin = Revenue − Variable costs. Contribution margin ratio = Contribution margin ÷ Revenue.
Track contribution margin in dollars first, the ratio second
The ratio is the right tool for one job, working out what your ads have to do. It's the wrong number to run the business on, because you can't pay salaries with a percentage. What covers payroll, rent and the agency retainer is contribution margin in dollars, and the dollar figure and the ratio often move in opposite directions. Take a store doing $250,000 a month with a 52% ratio before ads (the same store as our monthly example below) and let it scale its ad spend:
| Month A | Month B | |
|---|---|---|
| Net sales | $250,000 | $400,000 |
| CM ratio before ads | 52.0% | 52.0% |
| Ad spend | $60,000 | $120,000 |
| Contribution margin after ads | $70,000 | $88,000 |
| CM ratio after ads | 28.0% | 22.0% |
Month B looks 6 points worse as a percentage and leaves $18,000 more in the bank. A team that manages to the ratio cuts spend back to Month A and gives that $18,000 away. The opposite trap is just as common: pull discounts or switch off prospecting and the ratio climbs while the dollars shrink, so the dashboard looks healthier in the same month the business makes less.
So set your targets as a contribution margin figure, per month and per order, and use the ratio as the guardrail around it. It tells you the break-even ROAS each extra dollar of spend has to clear, and it lets you compare channels, products and months of different sizes.
Why contribution margin beats ROAS
Most brands judge their ads on ROAS, the revenue an ad platform says it drove divided by what you spent. It's quick and it's on every dashboard, but it has two problems that contribution margin doesn't.
1. ROAS depends on attribution, and every platform marks its own homework
Each ad platform counts the orders it thinks it caused, inside its own attribution windows. Google Ads, for example, counts conversions for 30 days after a click, 3 days after an engaged video view and 1 day after an ad is merely seen, by default, according to its conversion window settings. Meta and TikTok run their own windows, so a customer who clicked a Google ad on Monday and watched a TikTok on Wednesday can be claimed by both, and the platform totals add up to more orders than your store took.
Tracking has also got patchier. Since iOS 14.5, apps need permission through Apple's App Tracking Transparency framework to track people across other companies' apps and websites, so platforms fill the gaps with estimates. Google says plainly that it reports modelled conversions alongside observed ones in the same Conversions column. And platform ROAS lumps new and returning customers together, so a retargeting campaign that reaches people who were going to buy anyway can look like your best campaign. Our posts on multi-touch attribution vs profitability and MER vs ROAS go deeper.
Contribution margin doesn't need any of that. It's counted from the orders in your store and the spend on your invoices, so it's the same number whichever platform you ask.
2. ROAS ignores what it costs to fulfil the order
ROAS is revenue divided by ad spend. Product cost, shipping, pick and pack, payment fees, returns, discounts and marketplace commissions aren't in it, and on our $80 example order they come to $39.02, nearly half the sale. A 4x ROAS on a discounted, low-margin product can lose money, and a 2x ROAS on a full-price, high-margin product can be very profitable. Two campaigns with $10,000 of spend each:
| Campaign A: discounted bundle | Campaign B: full-price hero product | |
|---|---|---|
| Ad spend | $10,000 | $10,000 |
| ROAS | 4.0 | 2.5 |
| Revenue | $40,000 | $25,000 |
| CM ratio before ads | 22% | 58% |
| Contribution margin before ads | $8,800 | $14,500 |
| Contribution margin after ads | −$1,200 | +$4,500 |
| Break-even ROAS (1 ÷ CM ratio) | 4.55 | 1.72 |

Judged on ROAS, Campaign A gets the budget. Judged on contribution margin, it's losing $1,200 for every $10,000 it spends, while Campaign B is making $4,500. That's the whole case for profit-first reporting, and it's why we wrote about ROAS vs profitability on Shopify in the first place. If you want to keep using ROAS day to day, at least compare each campaign with its own break-even ROAS from the break-even ROAS calculator.
| ROAS | Contribution margin | |
|---|---|---|
| What it measures | Attributed revenue ÷ ad spend | Revenue − variable costs (− ad spend, after ads) |
| Where the data comes from | Each ad platform's own attribution | Your store's orders and your actual costs |
| Double counting across platforms | Common | Not possible |
| Product cost, shipping, fees, returns, discounts | Ignored | Included |
| New vs returning customers | Usually blended | Can be split by order |
| Unit | A multiple | Dollars (and a ratio if you want one) |
The contribution margin ratio formula
Start with the dollars, then turn them into a ratio. There are three ways to write it, and they all give the same answer:
- Contribution margin ($): Revenue − Variable costs
- Contribution margin ratio: Contribution margin ÷ Revenue
- Per unit: (Price per unit − Variable cost per unit) ÷ Price per unit
The formula is simple. The hard part, and where most ecommerce numbers go wrong, is deciding what counts as a variable cost. For an online store it's everything that happens because an order happened:
| Cost | Variable or fixed? | Notes |
|---|---|---|
| Product cost (COGS) | Variable | Landed cost: unit cost plus inbound freight and duties |
| Shipping you pay | Variable | Postage or courier, net of any shipping the customer pays |
| Pick, pack and packaging | Variable | 3PL per-order and per-item fees, boxes, inserts |
| Payment fees | Variable | Percentage plus a fixed fee per transaction |
| Returns and refunds you absorb | Variable | Return postage, write-offs, restocking |
| Marketplace or platform commission | Variable | Amazon, TikTok Shop and wholesale terms |
| Ad spend | Your choice | Leave it out for contribution margin before ads; include it for after ads |
| Salaries, rent, software, retainers | Fixed | Don't move with orders in the short run |
Ad spend is the judgement call. Leave it out and you get contribution margin before ads, the figure that sets your maximum CAC and, as a ratio, your break-even ROAS. Put it in and you get contribution margin after ads, the figure that tells you whether growth is paying for itself. Track both, and always say which one you mean.
How to calculate contribution margin and the contribution margin ratio
Three steps, whatever level you're working at:
- Take revenue net of discounts and excluding VAT or sales tax. Tax isn't yours, so it doesn't belong in either number.
- Subtract every variable cost from the table above, for the same order or the same period. That's your contribution margin in dollars.
- Divide it by revenue and multiply by 100 for the ratio.
Example 1: one order
An $80 order on a store with free shipping. The product cost is $24, shipping is $7, pick and pack is $3, and the payment fee is 2.9% + 30¢, the online card rate on Shopify's Basic plan according to its pricing page (the same as Stripe's standard US card rate), which comes to $2.62. Add a 3% returns allowance ($2.40) and the variable costs total $39.02.

$80 − $39.02 = $40.98 of contribution margin, which is $40.98 ÷ $80 = a 51.2% ratio.
Example 2: one product
A $40 serum sells 1,000 units in a month, which is $40,000 of revenue. Product cost is $9 a unit ($9,000), shipping and fulfilment allocated to it come to $6 a unit ($6,000), and payment fees are $1.46 a unit ($1,460). That leaves $23,540 of contribution margin, or $23.54 a unit, and a ratio of $23,540 ÷ $40,000 = 58.9%.
Example 3: one month
Monthly numbers are where contribution margin earns its keep, because they include the costs that never show up on a single order. Here's a store doing $250,000 of net sales:
| Line | Amount | % of net sales |
|---|---|---|
| Net sales (after discounts and refunds, excl. tax) | $250,000 | 100% |
| COGS | −$80,000 | 32.0% |
| Shipping and fulfilment | −$30,000 | 12.0% |
| Payment fees | −$7,500 | 3.0% |
| Other variable costs (returns handling, per-order apps) | −$2,500 | 1.0% |
| Contribution margin before ads | $130,000 | 52.0% |
| Ad spend | −$60,000 | 24.0% |
| Contribution margin after ads | $70,000 | 28.0% |
| Fixed costs | −$45,000 | 18.0% |
| Net profit | $25,000 | 10.0% |
The month leaves $130,000 of contribution margin before ads and $70,000 after, ratios of 52.0% and 28.0%. The $70,000 is what covers the $45,000 of fixed costs, and the $25,000 left over is profit.
Contribution margin ratio calculator
If you'd rather not do it by hand, our free contribution margin calculator takes your order value, shipping charged, tax rate, product cost, shipping and fulfilment costs, payment fees and (optionally) ad spend per order, and returns your contribution margin before ads and after ads in dollars, plus each as a percentage of revenue, which is your ratio. For the advertising side, the break-even ROAS calculator uses the same inputs to give you the ROAS your ads need to clear.
Or copy this table into a spreadsheet and fill in the middle column. It's laid out so you can paste it straight into Google Sheets or Excel, with the formulas written against the cells:
| Line | Your number | Example | Formula (in Sheets) |
|---|---|---|---|
| A. Order value (after discounts, excl. tax) | $80.00 | your input | |
| B. Product cost (COGS) | $24.00 | your input | |
| C. Shipping you pay | $7.00 | your input | |
| D. Pick, pack and packaging | $3.00 | your input | |
| E. Payment fees | $2.62 | = A × 2.9% + 0.30 | |
| F. Returns allowance | $2.40 | = A × your returns % | |
| G. Contribution margin before ads ($) | $40.98 | = A − B − C − D − E − F | |
| H. Max CAC on the first order (break-even CPA) | $40.98 | = G | |
| I. Contribution margin ratio | 51.2% | = G ÷ A | |
| J. Break-even ROAS | 1.95 | = 1 ÷ I |
The one job the ratio is good for: break-even ROAS and max CAC
Here the percentage earns its place. Break-even ROAS = 1 ÷ contribution margin ratio before ads. If 51.2% of every dollar is left before ads, an ad can spend up to 51.2 cents to bring in that dollar and still break even, so $1 ÷ $0.512 = a break-even ROAS of 1.95.

The curve is steep at the low end. A brand at a 30% ratio needs 3.33 just to stand still, while one at 60% breaks even at 1.67, so two brands with identical ad accounts can be in completely different businesses. Our break-even point ROAS page walks through the same maths per product.
Your maximum CAC comes from the dollars, not the ratio. Contribution margin per order before ads ($40.98 in the example) is the most you can pay to win that order without losing money on it, your break-even CPA. Pay more and you're betting on repeat purchases to earn it back, which is a fine bet if you know your lifetime value and a dangerous one if you don't.
To plan for a profit rather than break even, subtract your target ratio after ads first: target ROAS = 1 ÷ (CM ratio before ads − target CM ratio after ads). The monthly store above runs at 52% before ads, so to keep 20% after ads it needs 1 ÷ (0.52 − 0.20) = a ROAS of 3.13 across all its spend.
Two warnings. Compare against blended numbers (total revenue ÷ total ad spend) rather than each platform's self-reported ROAS, for the attribution reasons above; the break-even MER calculator does the blended version. And if you sell in the UK or EU, ad platforms usually report revenue including VAT while your contribution margin excludes it, so strip VAT out before you compare.
Contribution margin by channel, product and country
A blended number hides the orders that pay for everything else. The same product sold through four channels can leave four very different amounts once commissions, fulfilment and trade pricing are counted. These numbers are illustrative, but the pattern is typical:
| Channel | What changes | CM per $100 of sales, before ads | CM ratio | Break-even ROAS |
|---|---|---|---|---|
| Own online store | Payment fees, your shipping | $52 | 52% | 1.92 |
| TikTok Shop | Platform commission, affiliate commission | $40 | 40% | 2.50 |
| Amazon | Referral fee, fulfilment fees | $35 | 35% | 2.86 |
| Wholesale | Trade price well below RRP | $30 | 30% | No ads to pay for |
A lower ratio isn't automatically a worse channel. If you sell on Amazon or TikTok Shop, a channel at 35% that adds $40,000 of sales a month brings in $14,000 of contribution margin you wouldn't otherwise have. Work out each channel's dollars and ratio from its real fee schedule (our TikTok Shop fees breakdown shows how quickly the commissions stack up), give each its own break-even ROAS, and do the same by product and by country: a heavy item shipped abroad can leave half the dollars of the same item sold at home.
This is the view StoreHero is built around. It builds a daily P&L from net sales through gross margin and margin after fulfilment (contribution margin before ads) to contribution margin after marketing, in dollars and blended or channel by channel, with profit on every order and product, including breakeven ROAS per product, and lets you group orders by country or order source. You can see how the profit reporting works here, or run the free product profitability report prompt in Claude or another AI assistant to rank your own catalogue.
Weighted average contribution margin ratio for multi-SKU stores
Most stores sell more than one product, so the ratio that matters for the business is the weighted average. Don't average the percentages, because a low-ratio product that sells a lot drags the business down far more than a simple average shows. Add up the contribution margin dollars and divide by total revenue, which is the same as weighting each product's ratio by its share of revenue:
Weighted CM ratio = Total contribution margin ÷ Total revenue = Σ (product's share of revenue × product's CM ratio)
| Product | Revenue | Contribution margin | CM ratio | Share of revenue |
|---|---|---|---|---|
| Hero serum | $125,000 | $73,625 | 58.9% | 50% |
| Cleanser | $75,000 | $33,750 | 45.0% | 30% |
| Gift set | $50,000 | $15,000 | 30.0% | 20% |
| Store total | $250,000 | $122,375 | 49.0% | 100% |
Now shift the sales mix. In November the gift set rises to 40% of revenue and the serum falls to 30%. No price or cost has changed and revenue is still $250,000, yet contribution margin falls from $122,375 to $107,925, $14,450 less on the same sales, and the weighted ratio slips from 49.0% to 43.2%, lifting break-even ROAS from 2.04 to 2.32. That's why a Q4 that looks great on revenue can disappoint on profit. (Textbooks weight per-unit contribution margin by units sold to find break-even units; for the ratio, weight by revenue.)
Contribution margin ratio and break-even revenue
The classic use of the ratio is break-even analysis, part of what accountants call cost-volume-profit analysis: break-even revenue = fixed costs ÷ CM ratio. It converts a dollar target into the sales you need to hit it. For an ecommerce brand you need to decide where ad spend sits, and the answer changes the number a lot. Using the monthly store above, with $45,000 of fixed costs:
- Ad budget held fixed at $60,000: ($45,000 + $60,000) ÷ 52% = $201,923 of revenue to break even.
- Ad spend scaling with sales at the same efficiency: $45,000 ÷ 28% = $160,714 of revenue to break even.
Neither is wrong. The first is the right question when you've committed a budget and want to know how much it must sell; the second is right when you're planning growth at a steady MER. The gap between them is the reason to say which ratio you're using every time.
Contribution margin in dollars vs CM ratio vs gross margin %
Three numbers get confused, and on the same $80 order they're all different:
| Metric | Formula | On the $80 order | Use it for |
|---|---|---|---|
| Contribution margin ($) | Revenue − Variable costs | $40.98 | Targets, max CAC, break-even CPA, what's left for fixed costs |
| Contribution margin ratio | (Revenue − Variable costs) ÷ Revenue | 51.2% | Break-even ROAS, break-even revenue, comparing channels |
| Gross margin % | (Revenue − COGS) ÷ Revenue | 70.0% | Product pricing and supplier negotiations |
Gross margin only subtracts product cost, so it flatters every brand with heavy shipping, packaging or returns; on this order it's almost 19 points higher than the CM ratio. Use gross margin to set your break-even ROAS and you'll scale ads that lose money. We cover the wider set in our guide to ecommerce profit margins.
And don't confuse margin with markup. Markup is profit as a share of cost, margin is profit as a share of price, so a 30% markup on a $10 cost gives a $13 price and a 23.1% margin, not 30%.
What moves your contribution margin
Every line in the order maths moves the dollars, but not equally. Here's the same $80 order with one change at a time, in dollars per order first and ratio points second:

- Discounts. A 20% discount cuts revenue by $16 while the product, shipping and packing costs stay put, so contribution margin falls from $40.98 to $25.92, $15.06 less on every order (the ratio drops from 51.2% to 40.5% and break-even ROAS jumps from 1.95 to 2.47). Our guide on how and when to discount covers when that trade is worth it.
- Price. The same logic in reverse: a 10% price rise adds $7.53 an order, nearly four times what a $2 cut in product cost adds (+3.9 points vs +2.5).
- Returns. Going from a 3% to a 10% returns allowance costs $5.60 an order (−7.0 points). Returns are a big number across retail: the National Retail Federation and Happy Returns projected $890 billion of US retail returns in 2024.
- Shipping and fulfilment. A $2 rise in postage is $2 off every order (−2.5 points). Free-shipping thresholds and carrier rates matter more than they look.
- Fees. Payment fees, marketplace commissions and per-order app fees are small per order and easy to leave out, which is exactly why they end up missing from most spreadsheets.
- Product mix and order value. Selling more of your high-margin products adds dollars without touching a single cost, and a bigger basket spreads the fixed per-order costs (the 30¢ fee, the pick and pack) across more revenue. Increasing AOV is one of the cheapest ways to add contribution margin per order.
What is a good contribution margin ratio?
There's no single good ratio, because a percentage on its own can't tell you whether you made enough money. Start from a dollar target instead: a month of fixed costs plus the profit you want is the contribution margin you need, and our contribution margin guide walks through setting one step by step. The ratio then tells you what that target asks of your sales and your ads.
Before ads, the ratio sets the ROAS bar. A 30% ratio means every ad-driven sale needs a ROAS of 3.33 to break even, which leaves very little room to acquire new customers profitably, while at 50% the bar is 2.0 and at 60% it's 1.67. If your break-even ROAS sits above what your campaigns actually achieve, the fix isn't in the ad account, it's in your prices, discounts, shipping or unit economics.
After ads, a positive ratio means growth is paying for itself before fixed costs. The warning sign is the dollar figure: if contribution margin after ads is flat or falling while revenue grows, you're buying sales, not profit. A ratio that slips a few points while the dollars keep rising is usually just growth working.
Common mistakes
- Managing to the percentage. A higher ratio on fewer sales can leave less money to cover fixed costs. Set targets in dollars and use the ratio as the guardrail.
- Judging campaigns on platform ROAS without checking the contribution margin they actually leave.
- Leaving VAT or sales tax in revenue. It inflates both numbers and lowers your apparent break-even ROAS.
- Mixing before-ads and after-ads figures in the same conversation or the same spreadsheet.
- Using gross margin as contribution margin, which ignores shipping, fees and returns.
- Averaging product ratios instead of adding up the dollars, and forgetting returns (counting refunds in net sales but not the return postage and write-offs in costs).
StoreHero connects Shopify, your ad platforms and Klaviyo into a margin-true P&L, so you can see contribution margin by day, channel, product and order, with breakeven ROAS for every product.
Key takeaways
- Run the business on contribution margin in dollars (revenue − variable costs), per order and per month. The ratio is that figure divided by revenue.
- Scaling spend can lower the ratio while adding dollars: Month B at 22% after ads left $18,000 more than Month A at 28%.
- Contribution margin beats ROAS: it's counted from real orders and real costs, so it doesn't depend on platform attribution, and it includes product, shipping, fees, returns and discounts.
- In the worked example, a 4.0 ROAS campaign on a discounted bundle lost $1,200 of contribution margin while a 2.5 ROAS campaign made $4,500.
- The ratio's one real job: break-even ROAS = 1 ÷ CM ratio before ads (51.2% → 1.95). Your max CAC is the dollar figure, contribution margin per order before ads.
- A 20% discount took $15.06 of contribution margin off every $80 order, more than any cost line.
Frequently asked questions
What is the CM ratio formula?
CM ratio = (Revenue − Variable costs) ÷ Revenue, or contribution margin divided by revenue. Per unit, it's (price − variable cost per unit) ÷ price. Multiply by 100 to express it as a percentage.
How do you find the weighted contribution margin ratio?
Add up contribution margin across all products and divide by total revenue. That's the same as multiplying each product's CM ratio by its share of revenue and adding the results. Don't take a simple average of the product ratios.
Is 30% contribution margin good?
It depends which contribution margin you mean, and on the dollars behind it. A 30% ratio before ads means every ad-driven sale needs a ROAS of 3.33 just to break even, which leaves little room for acquiring new customers profitably. A 30% ratio after ad spend means growth is paying for itself before fixed costs, but whether that's good depends on the dollar amount: 30% of $100,000 doesn't cover the same fixed costs as 30% of $1 million.
What does 50% contribution margin mean?
Half of every dollar of revenue is left after variable costs, so a $100 order leaves $50 of contribution margin to pay for ads, fixed costs and profit. Before ads, it also means your break-even ROAS is 2.0: each dollar of ad spend has to bring in at least $2 of revenue.
Are PV ratio and CM ratio the same?
Yes. The profit-volume (P/V) ratio used in UK and Indian management accounting is contribution divided by sales, which is the contribution margin ratio under another name.
Is contribution margin the same as COGS?
No. COGS is one of the costs you subtract to get contribution margin. Contribution margin also takes off the other variable costs of an order, such as shipping, packing, payment fees and returns, so it's never higher than gross profit.
Is 30% markup the same as 30% margin?
No. Markup is profit as a share of cost and margin is profit as a share of price. A 30% markup on a $10 cost gives a $13 price, which is a 23.1% margin.
What does the CM ratio measure?
It measures how much of each dollar of sales is left to cover fixed costs and profit once the costs that rise with every sale are paid. For ecommerce brands it also sets the minimum ROAS and maximum acquisition cost the business can afford.
What is contribution margin vs gross margin?
Gross margin is revenue minus product cost (COGS) only. Contribution margin also subtracts the other costs every order creates, such as shipping, pick and pack, payment fees and returns, so it's lower and closer to what an order really leaves you. On an $80 order with $24 of product cost and $15.02 of other variable costs, gross margin is $56 (70%) and contribution margin is $40.98 (51.2%).
Sources
- Investopedia: Contribution margin
- Corporate Finance Institute: Contribution margin ratio
- OpenStax, Principles of Managerial Accounting 3.1: Contribution margin
- Shopify pricing: Shopify Payments online card rates
- Stripe pricing: standard domestic card rate
- NRF and Happy Returns: 2024 Consumer Returns in the Retail Industry
- Investopedia: Break-even analysis
- Investopedia: Cost-volume-profit analysis
- Investopedia: Sales mix
- Investopedia: Gross margin
- Google Ads Help: About conversion windows
- Google Ads Help: About modeled conversions
- Apple Developer: User privacy and data use (App Tracking Transparency)




