E-commerce

Ecommerce profit margin: how to tell whether a campaign really makes money

Gross margin, contribution margin, break-even ROAS and maximum CPA: the maths that shows whether you sell at a profit.

By Dr. eng., founder of Succes Grup10 min read

Your ecommerce profit margin shows how much of each sale is left after you subtract product cost, delivery, fees, returns and advertising. Work it out in three steps: gross margin, contribution margin and then break-even ROAS, the minimum return on ad spend below which a campaign loses money. Without these figures, a “good” campaign can in fact be running at a loss.

An online shop can grow its turnover year after year and still earn nothing. The usual reason is that people watch revenue, not what is left of it. Your ecommerce profit margin can be worked out in a few simple steps, and concrete decisions depend on it: how much you can pay for an order, what discount you can afford and which campaign to switch off. Below we go through the steps with a worked example using hypothetical figures that are easy to redo with your own data.

Margin and markup: the difference that breaks calculations

Two notions get mixed up in practice. Markup shows by how much you have increased the cost of a product: (price − cost) / cost. Margin shows what share of the price is profit: (price − cost) / price. For a product bought at 55 EUR and sold at 100 EUR excluding VAT, markup is about 82% and margin is 45%. Both figures are correct, but they answer different questions, and for advertising and budgets it is margin that counts.

Always calculate on the price excluding VAT. VAT is collected on behalf of the state and is not part of your revenue. Romania’s standard rate is 21% since 1 August 2025, but check with your accountant, because some products carry special rates. A shelf price of 121 with 21% VAT means 100 excluding VAT.

Four indicators you need to know

Each step deducts a different group of costs from revenue and answers its own question.

IndicatorFormulaQuestion it answers
Gross margin(price excl. VAT − product cost) / price excl. VATHow much you earn on the product before other costs
Contribution marginGross margin − variable costs per order (delivery you absorb, fees, packaging, returns)How much is left to pay for advertising and fixed costs
Break-even ROAS1 / contribution margin (as a decimal)The ROAS below which a campaign loses money
Net marginProfit after all costs, fixed ones included / revenueWhat the business actually earns

ROAS (return on ad spend) is the revenue generated by ads divided by the money spent on them. A ROAS of 4 means 4 units of revenue for every 1 unit spent, but it says nothing about profit until you compare it with your own break-even point.

A worked example, from price to profit

Imagine a shop selling home accessories. The average order is 150 EUR excluding VAT, and the products in it cost 82.50 EUR (55% of the value). The figures are hypothetical, for demonstration only.

Item (per average order)Amount
Revenue excluding VAT150.00 EUR
Product cost−82.50 EUR
Gross margin67.50 EUR (45%)
Payment processing fee−3.00 EUR
Packaging−4.00 EUR
Delivery paid by the shop and not charged−12.00 EUR
Estimated average cost of returns−5.00 EUR
Contribution margin43.50 EUR (29%)

Out of 150 EUR, 43.50 EUR remains to pay for advertising, salaries, the platform, accounting and profit. That is 29% of revenue, far less than the 45% gross margin you would have been pleased with had you stopped at the first step.

Break-even ROAS and maximum CPA: is a campaign profitable?

The example gives two thresholds. Maximum CPA (cost per acquisition): you can pay at most 43.50 EUR to win an order, otherwise you lose money on it. Break-even ROAS: 1 / 0.29, roughly 3.45. Below it the campaign loses money, above it the campaign contributes.

Mind the VAT: ad platforms often report revenue including VAT, if that is how the shop sends it. In our example, 150 EUR excluding VAT is 181.50 EUR with 21% VAT, so the reported break-even ROAS becomes about 4.2. Check which form of revenue appears in your reports so that you compare like with like.

Now suppose a campaign has a ROAS of 4 (excluding VAT). For 150 EUR of revenue you spend 37.50 EUR, and out of the 43.50 EUR contribution 6 EUR is left per order. At 100 orders a month that is 600 EUR, too little to cover fixed costs. The campaign “works”, but only just. For how to set budgets from these thresholds, see our guide to the online advertising budget.

The costs most people forget

  • Returns: for distance sales, consumers in the EU generally have the right to withdraw within 14 days, so you may end up paying return shipping and holding products that can no longer be sold as new.
  • Cash on delivery and refused parcels: a refused parcel means shipping paid in both directions.
  • Fees: payment processor, marketplaces, instalment plans.
  • Discounts and codes: a 10% discount (from 100 to 90) cuts the gross profit on an item from 45 to 35, a drop of more than a fifth.
  • Packaging and handling: boxes, tape, labels, warehouse hours.
  • Customer support: time spent on questions and complaints.
  • Dead stock: money frozen in products that do not sell.

You do not need to be exact to the cent; you need reasonable estimates, checked from time to time against real figures from your accounts. If you are unsure about tax treatment or VAT, ask your accountant.

How to raise margin without losing sales

You have several levers, and you do not need to use them all. The ones that most often work:

  • Price: a small, well-justified increase can matter more than cutting advertising costs.
  • Average order value: bundles, complementary products and a free delivery threshold set a little above the average basket.
  • Product mix: promote products with a healthy margin, not only those that sell easily.
  • Acquisition cost: better-targeted campaigns, tested ads, clear stop rules.
  • Conversion rate: the same traffic, more orders. How to calculate and improve it is covered in our article on conversion rate explained.
  • Abandoned carts: part of them can be recovered with no extra ad cost, as in our guide to abandoned cart recovery.
  • Returns: clearer descriptions and photos, size charts, protective packaging.

Repeat customers: when you can accept a loss on the first sale

The calculation above looks at the first order. If your customers buy again, the lifetime value (LTV) of a customer can exceed the contribution from the first order. In that case you can accept a CPA above the threshold calculated on the first sale, but only if you have real data on repeat purchases, not hopes. For a new shop with no history, use the first order alone as the basis.

You can test the relationship between a customer’s value and the cost of winning them in the LTV and CAC calculator. Enter your real figures and see how healthy the ratio is; the result shows whether it is worth investing more in acquisition or in retention.

The calculation in six steps, for your own shop

  1. Choose the period and the products: start with your best sellers or the category you advertise.
  2. Take VAT out of the price and work out gross margin for each product.
  3. Estimate variable costs per order: net delivery, fees, packaging, returns, cash on delivery.
  4. Work out contribution margin for the average order, in currency and as a percentage.
  5. Get the thresholds: maximum CPA (contribution per order) and break-even ROAS (1 divided by contribution margin).
  6. Compare with reality: your campaigns’ ROAS and CPA against the thresholds, monthly, and adjust budgets.

Common mistakes

  • Calculating margin on the price including VAT and feeling richer than you are.
  • Confusing markup with margin and setting prices too low.
  • Forgetting returns and delivery costs that are not in the margin.
  • Watching ROAS without its threshold: a 3 can be fine on a high margin and ruinous on a low one.
  • Applying one margin to all products, though they differ greatly.
  • Running discounts without recalculating the ROAS threshold.
  • Ignoring fixed costs: contribution per order is not net profit.

How we approach it

With a new or inherited shop, we begin with a simple spreadsheet: gross margin by category, variable costs, and the ROAS and CPA thresholds. From that we decide what to promote, how much to spend and what to switch off. On the technical side we handle the things that directly affect margin: delivery, free-shipping thresholds, payments and order recovery, described on our WooCommerce online store development page.

The figures in this article are hypothetical. Yours will differ, and your accountant or whoever keeps your cost records should confirm the starting data.

In short

  • Work with prices excluding VAT, and do not confuse markup with margin.
  • Contribution margin, not gross margin, tells you how much you can spend on ads.
  • Break-even ROAS = 1 divided by contribution margin; maximum CPA = contribution per order.
  • Include returns, delivery and fees in the calculation.
  • Redo the calculation whenever prices, discounts or costs change.
What is a good gross margin for an online shop?

There is no universal figure, because it depends on the sector, competition and advertising costs. More important than a “good” percentage is that your contribution margin covers advertising, fixed costs and a profit. Calculate it on your own products, not on an average.

What is the difference between ROAS and profit?

ROAS measures the revenue ads bring against the money spent on them, ignoring product cost, delivery or returns. Profit includes all of them. That is why a healthy-looking ROAS can hide a loss if you do not compare it with your break-even ROAS.

How do I calculate break-even ROAS?

Divide 1 by your contribution margin, expressed as a fraction of revenue excluding VAT. At a contribution margin of 29%, or 0.29, the threshold is about 3.45. Below that, the campaign loses money. If the platform reports revenue including VAT, adjust the threshold in the same way.

Is it worth selling below the threshold to win new customers?

Only if you have evidence that those customers come back and that their lifetime value covers the initial loss. Use real repeat-purchase data, not optimistic estimates, and cap the budget for the experiment. A shop with no history should, at first, stay within the first-order threshold.

How often should I redo the margin calculation?

Whenever something important changes: supplier prices, delivery rates, fees or discount levels. As a routine check, monthly or quarterly is a reasonable starting point, plus before any large discount campaign.

Should salaries and rent be included in the margin?

Not in contribution margin, which counts only variable costs per order. Salaries, the platform, accounting or rent are fixed costs and belong in net margin. Even so, the total contribution in a month must cover them, otherwise the business makes no profit.

Laborator

Try it for free

Lab tools that help you put this guide into practice.

Want us to apply this to your business?

Tell us where you are now and what you want to achieve — you will get a concrete proposal with services, timeline and a transparent budget.