Ecommerce profit margins: what is good and how to calculate
Ecommerce profit margins: US online retailers average 39.6% gross, listed retailers about 5% net. What is good, how to calculate it, and break-even ROAS.
An ecommerce profit margin is the share of revenue a store keeps after the costs it chooses to subtract, so the same order can show 65% or 30%.
I compared four published margin benchmarks on 27 October 2026 and worked through one €100.00 order to show which figures you can hold against yours.
What is a good ecommerce profit margin?
A good ecommerce profit margin is one at or above the benchmark for the same margin: about 5.6% net for listed US general retailers (NYU Stern, January 2026) and 39.6% gross margin for US online retailers (US Census Bureau, 2022).
Compare a figure with yours only when it subtracts the same costs from the same revenue. Three layers cover most ecommerce reporting, each subtracting more than the one before.
| Measure | Formula | Answers | Leaves out |
|---|---|---|---|
| Gross margin | (revenue − product cost) ÷ revenue | Price against product cost | Shipping, fees, returns, ads, overhead |
| Contribution margin before ads | (revenue − product cost − variable order costs) ÷ revenue | Room to pay for ads | Ads, fixed overhead |
| Net profit margin | Net income ÷ revenue, over a period | Profitability of the business | Which product or campaign earned it |
Gross margin vs net margin covers the two ends of the table.
In between sits contribution margin: revenue minus the variable costs of an order, and the layer that tells you what an order can spend on ads.
Labels vary between sources. One report’s “profit margin” is gross, another’s is net. Check the formula before the number.
Is markup the same as profit margin?
No: markup divides profit by cost, margin divides profit by price, so a 100% markup is a 50% gross margin. To convert, gross margin = markup ÷ (1 + markup).
| Markup on cost | Gross margin on price | Price of a €35.00 product, excl. VAT |
|---|---|---|
| 25% | 20.0% | €43.75 |
| 50% | 33.3% | €52.50 |
| 100% | 50.0% | €70.00 |
| 185.7% | 65.0% | €100.00 |
Quoting markup as margin overstates profit at every price. Markup vs margin explains the difference, and the margin calculator sets a price from a target margin.
What is the average ecommerce profit margin?
The average ecommerce profit margin is 30–65% gross and 2–27% net across four published benchmarks; the range is wide because each source measures different stores, periods and costs.
The table records what each source measures, so you can pick the one that matches your own calculation.
| Source | Measures | Sample and period | Figure | Costs included |
|---|---|---|---|---|
| US Census Bureau, Annual Retail Trade Survey | Gross margin, measured | ~16,500 US employer retail firms, 2022 | 39.6% online and mail order; 31.1% all retail | Product cost |
| NYU Stern, Damodaran | Gross and net margin, measured | 23 US-listed general retailers, January 2026 | 33.2% gross, 5.6% net | Net: all costs, interest and tax |
| TrueProfit | Gross, contribution and net, vendor panel | 5,000+ stores, January–August 2026 | 55–65% gross, 35–50% contribution, 10–15% net | Contribution: ads, shipping, payment fees |
| Shopify blog | Rule of thumb, no source given | Retail, published March 2026 | 30–50% gross, 2–10% net | Not stated |
Don’t average these figures. A census, a set of listed companies, a vendor’s customers and an unsourced range describe four different populations.
US online retailers: 39.6% gross margin
US online and mail-order retailers reported a 39.6% gross margin in 2022, against 31.1% for all US retail (US Census Bureau, Annual Retail Trade Survey, NAICS 4541, benchmarked tables released 31 August 2026).
The figure was 40.8% in 2021. The survey samples about 16,500 US employer firms, which makes it the broadest measured figure here.
The category also contains the largest online retailers and mail-order sellers. The survey ended with 2022: the Annual Integrated Economic Survey took over its data collection in 2024. Use it as the gross-margin yardstick for a US store, not for contribution or net.
Listed US retailers: about 5% net margin
US-listed general retailers reported a 33.2% gross margin and a 5.6% net margin in January 2026, and speciality retailers 35.3% and 5.2% (Aswath Damodaran, NYU Stern).

Show the dataHide the data
| Sector (number of firms) | Gross margin | Net margin |
|---|---|---|
| Retail (General), 23 firms | 33.2% | 5.6% |
| Retail (Special Lines), 94 firms | 35.3% | 5.2% |
| Retail (Grocery and Food), 15 firms | 26.3% | 1.3% |
| All US sectors, 5,994 firms | 37.8% | 9.7% |
Read the gap rather than either number. A listed general retailer keeps about 17% of its gross profit as net income, a speciality retailer about 15%.
Damodaran adds up net income and sales across a sector before dividing, so the biggest companies dominate the result. The data has no separate online-retail row.
Online stores: one vendor’s panel
TrueProfit reports 55–65% gross, 35–50% contribution and 10–15% net margins for 5,000+ ecommerce stores between January and August 2026, in its ecommerce profit margins guide.
Its contribution margin subtracts ads, shipping and payment fees, so compare it with your contribution after ads, not before.

Show the dataHide the data
| Category | Gross margin | Net margin |
|---|---|---|
| Health and beauty | 74% | 34% |
| Animals and pet supplies | 73% | 14% |
| Home and garden | 67% | 33% |
| Apparel and accessories | 65% | 28% |
| Electronics | 63% | 12% |
| Furniture | 44% | 16% |
The same vendor’s weekly category page reports more: 25–27% net in each month from March to September 2026, and 0–39% across 20 categories for 18–24 October 2026.
That page doesn’t state the country or how stores are averaged, and it refreshes every week. Treat the panel as a sample of one vendor’s customers.
How do you calculate ecommerce profit margin?
You calculate an ecommerce profit margin by subtracting one layer of costs at a time from revenue excl. VAT, then dividing what is left by that same revenue.
Take, for example, one €100.00 order of a product that costs €35.00.

Show the dataHide the data
| Margin layer | Left of the order |
|---|---|
| Revenue | €100.00 |
| Gross profit (after product cost) | €65.00 |
| Contribution before ads | €50.00 |
| Contribution after ads | €30.00 |
The €15.00 of variable order costs breaks down as follows. Illustrative data.
| Line | Amount | Running total | Margin |
|---|---|---|---|
| Revenue, after discounts, excl. VAT | €100.00 | €100.00 | |
| Product cost (landed) | −€35.00 | €65.00 | 65% gross |
| Fulfilment and outbound shipping | −€8.00 | €57.00 | |
| Payment processing (2.9% + €0.30) | −€3.20 | €53.80 | |
| Packaging | −€1.30 | €52.50 | |
| Returns allowance (10% × €25.00 per return) | −€2.50 | €50.00 | 50% contribution before ads |
| Advertising for the order | −€20.00 | €30.00 | 30% contribution after ads |
The order’s ROAS is 5: €100.00 of revenue on €20.00 of ads. The €30.00 left still has to pay for salaries, software and rent before any of it is profit.
To run your own order through the same subtractions, use the contribution margin calculator. Set the price to “excl. VAT” and enter your price without VAT; the maths is the same in any currency.
Which costs belong in each margin layer?
Each cost enters at one layer and stays in every layer below it: product cost in gross margin, other per-order costs in contribution, advertising after that, and fixed costs only in net margin.
- Fix the revenue basisStart from revenue after discounts, excl. VAT. Decide once whether the shipping you charge counts as revenue.
- Subtract product costUse landed cost: the purchase price plus inbound freight and duties. Revenue minus this is gross profit.
- Subtract fulfilment and shippingPick and pack, packaging and the outbound carrier label, per order.
- Subtract payment and marketplace feesThe processor's percentage plus its fixed fee per order, and any marketplace commission.
- Subtract returns onceEither lower revenue by refunds or add a returns allowance as a cost, never both. What is left is contribution before ads.
- Subtract advertisingThe ad spend allocated to the order or product gives contribution after ads.
- Subtract fixed costs over a periodSalaries, software, rent, then interest and income tax. Only now do you have net profit, for a month or a year.
The table shows which layers include each cost.
| Cost | Gross | Contribution before ads | Contribution after ads | Net |
|---|---|---|---|---|
| Product cost, landed | Yes | Yes | Yes | Yes |
| Fulfilment and shipping | No | Yes | Yes | Yes |
| Payment and marketplace fees | No | Yes | Yes | Yes |
| Returns and refunds | No | Yes | Yes | Yes |
| Advertising | No | No | Yes | Yes |
| Salaries, software, rent | No | No | No | Yes |
| Interest and income tax | No | No | No | Yes |
Some stores put outbound shipping in product cost, which lowers their gross margin and leaves contribution unchanged. Either choice works, as long as you make it once and a benchmark makes the same one.
The common double count is returns. If revenue is already net of refunds, a returns allowance on top subtracts the same loss twice.
The ecommerce return rate guide shows both ways to handle it. The dropshipping margin guide works through a model where the supplier may not take returns back.
Why can a healthy store margin hide losing products?
A healthy store margin can hide losing products because it averages strong and weak orders into one number. Take, for example, two products that both sell at €100.00 excl. VAT. Illustrative data.
| Line | Product A | Product B | Store (one order each) |
|---|---|---|---|
| Revenue | €100.00 | €100.00 | €200.00 |
| Product cost | €30.00 | €55.00 | €85.00 |
| Variable order costs | €14.00 | €18.00 | €32.00 |
| Ad spend | €15.00 | €35.00 | €50.00 |
| ROAS | 6.67 | 2.86 | 4 |
| Contribution after ads | €41.00 | −€8.00 | €33.00 |
The store shows a 57.5% gross margin, a ROAS of 4 and €33.00 left after ads.
Product B, with a 27% contribution margin before ads, needs a ROAS of 3.70 (1 ÷ 0.27) to break even and gets 2.86, so it loses money on every order. Break-even ROAS per product shows how one account-wide target funds products like it.

Show the dataHide the data
| Product | Contribution after ads |
|---|---|
| Product A | €41.00 |
| Product B | -€8.00 |
| Store average per order | €16.50 |
Finding product B means calculating profit per product, with each product’s own cost, order costs and ad spend. Across hundreds of products and campaigns, that stops being a spreadsheet job.
Product Segmentation places every product in one of six segments by ad clicks and ROAS, or POAS once you connect margins. It writes the segment to a Merchant Center label you approve, so you can increase or lower each product’s priority.
How does contribution margin set your break-even ROAS?
Contribution margin before ads sets your break-even ROAS through one formula: break-even ROAS = 1 ÷ contribution margin, so the €100.00 order’s 50% margin breaks even at a ROAS of 2, a target ROAS of 200%.
Revenue and margin must share a basis: both excl. VAT, with the margin measured before ads.

Show the dataHide the data
| Contribution margin before ads | Break-even ROAS |
|---|---|
| 60% | 1.67 |
| 50% | 2 |
| 40% | 2.5 |
| 30% | 3.33 |
| 20% | 5 |
Lost margin points cost more as the margin shrinks. Going from 50% to 40% moves break-even from 2 to 2.5; going from 30% to 20% moves it from 3.33 to 5.
The break-even ROAS calculator runs the formula for any product. Profit on ad spend (POAS) is the same check in profit terms: POAS = ROAS × contribution margin, so break-even POAS is 1 (POAS vs ROAS).
At break-even the ads pay for themselves and nothing more, so fixed overhead still needs a target above it. Setting a target ROAS from your margin adds the profit you want to keep.
What to do when your margin is too low
When a margin is too low, find the layer where it drops before you change a price. Each layer points to different levers.
| Where the margin drops | Check first | Levers |
|---|---|---|
| Gross margin | Freight and duties in product cost | Price, supplier terms, product range |
| Contribution before ads | Shipping, fees and returns per order | Free-shipping threshold, packaging, return policy |
| Contribution after ads | Each product’s ROAS against its break-even | Lower priority below break-even, increase it above |
| Net margin | Fixed costs against order volume | Order volume, overhead |
Check the data before the levers. A missing freight invoice or a refund counted twice moves a margin as much as a supplier’s price rise.
Final thoughts
The number to compare is the one that matches your formula. A 65% gross margin and a 30% contribution after ads can describe the same order, so pick the layer you decide with and compare only figures built the same way.
For ad decisions that layer is contribution before ads, product by product. Work it out for your three biggest sellers first, then check each one’s ROAS against its break-even.
Keep reading.
Ecommerce PPC: how to judge ads by product profit
Ecommerce PPC judged by profit: what a click can cost, each product's break-even ROAS, and how to act on it in Google Shopping and Performance Max.
How to Calculate a Google Ads Budget for Shopping
How to calculate a Google Ads budget for Shopping: convert monthly to daily with 30.4, find the cost per order you can afford, then split it by product.
Marketing efficiency ratio: how to calculate and use it
Marketing efficiency ratio (MER) is net revenue ÷ total marketing spend. What counts as spend, break-even and target MER by margin, and budget rules.
Frequently asked questions.
Is a 20% net margin good for an online store?
Is a 40% profit margin too high?
What is the 80/20 rule in ecommerce?
See which of your products to push, fix or pause. Start with your own products, or a 30-second estimate.
Check one product first: work out its break-even ROAS in the calculator. Then see where all your products stand.
Questions, or want to spar about your products? Book a demo: a video call with Berend, then a demo account.