Pricing & Metrics

ROAS vs True Profit vs Contribution Margin: Key Differences (2026)

First published Aug 19, 2026Updated August 19, 20269 min read
Valentin Radu, Founder and CEO of Omniconvert
Valentin Radu
Founder & CEO, Omniconvert · Author, The CLV Revolution
Published: Aug 19, 2026Updated: Aug 19, 2026
Reviewed by Cristina Stefanova, Head of Content
Three printed cards on a pale desk reading ROAS 3.6, contribution margin 42.7 percent and true profit 13.40 euro, beside a ruler marked break-even 2.34
Quick Answer
ROAS, contribution margin, and true profit answer three different questions about the same order. ROAS is attributed revenue divided by ad spend, and it ignores every cost of fulfilling the order. Contribution margin is order value minus all variable costs, and it ignores advertising. True profit subtracts both, so it is the only one of the three that tells you whether the order made money. Use ROAS to steer campaigns, contribution margin to set the ROAS target, and true profit to judge the result.
Key Takeaways
  • ROAS knows only two numbers, revenue and ad spend, so it cannot tell a 60%-margin product from a 20%-margin one.
  • Contribution margin subtracts every variable cost of serving an order, which makes it smaller and more honest than gross margin.
  • True profit is contribution margin minus marketing spend: the only one of the three that answers whether the order made money.
  • Break-even ROAS equals 1 divided by your contribution margin percentage, which is why a good ROAS is a per-product number, not an account-wide one.
  • A single account-wide ROAS target quietly funds your worst-margin products and starves your best ones.
  • First-order true profit undervalues customers who come back, so read it beside predicted lifetime value rather than on its own.
3 metrics 1 worked order Break-even formula Per-product targets

Three teams can look at the same order and reach three different verdicts. The media buyer sees a 3.6 ROAS and calls it a win. The merchandiser sees a 42.7% contribution margin and agrees. The founder sees €13.40 left over and asks why growth feels so expensive. None of them is wrong. They are answering different questions with different numbers, and the confusion costs real money when the ad budget gets set. Here is what each metric actually measures, worked on one order, and which one should govern spend.

What ROAS, contribution margin, and true profit are

ROAS measures revenue returned per unit of ad spend. Contribution margin measures what survives after the variable costs of serving an order. True profit subtracts both, so it is the only one that answers whether the order made money.
Definition
ROAS (return on ad spend)
noun. Attributed revenue divided by the advertising spend that earned it, expressed as a ratio. A ROAS of 3.6 means €3.60 of revenue for every €1 of ad spend. It counts revenue, not profit, and it ignores every cost of fulfilling the order.
Definition
Contribution margin
noun. Order value after discounts, minus every variable cost of serving that order: cost of goods, payment fees, pick and pack, shipping, and a provision for returns. What is left contributes toward fixed costs and profit. It ignores advertising.
Definition
True profit
noun. Contribution margin minus the marketing spend attributable to the order. It is the money that actually reaches the business before fixed overheads such as rent, salaries and software. Subtract those too and you have net profit.

The important distinction is which costs each metric is blind to. ROAS is blind to all of them. Contribution margin sees the fulfilment costs but not the advertising. True profit sees both, which is why it is always the smallest of the three and the only one worth arguing about at the end of a month.

If true profit itself is the unfamiliar term here, the full definition, the include-exclude test for each cost line, and the three mistakes that inflate it are in what is true profit in eCommerce. The narrower input questions, such as how to provision returns or whether free shipping counts, are answered in the true profit FAQ.

One clarification worth making early, because it causes more errors than any other: contribution margin is not gross margin. Gross margin subtracts the cost of goods sold and stops. Contribution margin keeps going through payment fees, fulfilment, shipping and returns. It is always smaller, and it is the number that matters, because those costs scale with every extra order you win.

ROAS vs contribution margin vs true profit compared

The three metrics differ in what they measure, which costs they ignore, what question they answer, and where each one breaks down. Read the row for costs ignored first: it explains every other difference.
How the three metrics differ. Each one is useful; each one is blind to something the next one sees.
ROAS Contribution margin True profit
What it measuresRevenue returned per unit of ad spendWhat survives the variable costs of an orderWhat the order actually earned
FormulaAttributed revenue ÷ ad spendOrder value − variable costsContribution margin − marketing spend
Costs it ignoresAll of themAdvertising, fixed overheadFixed overhead only
Expressed asA ratioCurrency or %Currency or %
Question it answersIs this channel returning revenue?Can this product fund the business?Did we make money?
Where it breaksWhen margins differ by productWhen compared across channels without CACWhen used to judge one channel alone
Who lives in itMedia buyerMerchandiserFounder or CFO

One order, three answers

The clearest way to see the gap is to run one order through all three formulas. A 3.6 ROAS, a 42.7% contribution margin, and a 14.9% true profit margin all describe the same €90 order.

Take a €100 product sold with a 10% discount, so the order value is €90. The numbers below are an illustrative example, not benchmark data; substitute your own costs and the method holds.

One order, worked through all three metrics. Illustrative figures, not benchmark data.
Line Amount Running total
List price€100.00
Discount (10%)−€10.00€90.00 order value
Cost of goods−€35.00€55.00
Payment fees−€2.60€52.40
Pick, pack and ship−€8.00€44.40
Returns provision−€6.00€38.40 contribution margin
Advertising (CAC)−€25.00€13.40 true profit

Now read the same order three ways. ROAS is €90 ÷ €25, which is 3.6. Contribution margin is €38.40, which is 42.7% of order value. True profit is €13.40, which is 14.9%. Every one of those numbers is correct, and only the last one is the answer to "did we make money".

Why this matters for the budget. A media buyer reporting 3.6 ROAS and a founder reporting 14.9% margin are describing the identical order. Arguments about whether advertising "works" usually turn out to be arguments about which of these three numbers the room is using.

The number ROAS alone can never give you

Break-even ROAS equals 1 divided by your contribution margin percentage. That single formula is why a good ROAS is a per-product number and never an account-wide one.

Contribution margin does something ROAS cannot do for itself: it sets the bar ROAS has to clear.

At a 42.7% contribution margin, break-even ROAS is 1 ÷ 0.427, or about 2.34. Anything above that earns money, so the 3.6 in our example is genuinely good. Change the margin and the verdict flips without the ROAS moving at all.

Break-even ROAS is a function of contribution margin. The same 3.6 ROAS is a win in the top row and a loss in the bottom two.
Contribution margin Break-even ROAS Verdict on a 3.6 ROAS
60%1.67Comfortably profitable
42.7%2.34Profitable
30%3.33Barely above water
20%5.00Losing money on every order
15%6.67Losing money badly

This is the practical payoff of the whole comparison. If you run one ROAS target across an account that sells products at 60% and 20% margins, you are simultaneously starving the products that could take more budget and funding the ones that lose money. The target has to be derived per product group, from the margin of what that group sells.

Which number should govern spend

Bid on ROAS because it is the signal ad platforms optimize toward. Set the ROAS target from contribution margin. Judge the month on true profit. Each metric has one job.

The instinct to pick a single source of truth is the wrong instinct here. The three metrics are sequential, not competing.

1. Bid on ROAS
Ad platforms optimize toward in-platform signals, and ROAS is the one they read fastest and most reliably. Fighting that costs you learning speed for no gain.
2. Set the target from contribution margin
Group products by margin, compute break-even ROAS for each group as 1 ÷ margin, then set the campaign target above it by whatever cushion your fixed costs demand. Low-margin campaigns get a higher bar, not the same one.
3. Judge the month on true profit
At the end of the period, subtract total marketing spend from total contribution margin. That is the number that pays salaries, and it is the only one of the three worth reporting to a board.

The failure mode worth naming: teams that optimize on true profit alone starve their campaigns of signal, because the number arrives too late and too aggregated for a bidding algorithm to use. Teams that optimize on ROAS alone hit their target and lose money. The sequence above avoids both.

What all three still miss

All three metrics are single-order metrics. None of them knows whether the buyer comes back, which is why a thin first order can be a good decision and a fat one can be a bad one.

Here is the limit of the whole framework. Every metric on this page evaluates one transaction. A customer who buys once at 14.9% margin and a customer who buys four more times at the same margin look identical in all three columns on the day they first order.

That is why the brands that scale profitably read first-order true profit beside predicted lifetime value and the LTV:CAC ratio. A thin first order is an easy yes when the segment repeats, and an easy no when it does not. Without that view, you are forced to treat every buyer as a one-off, which means underbidding on the customers worth the most.

Nexus by Omniconvert unifies purchase and behavior data into one customer view, segments customers by value, and predicts lifetime value, so first-order margin becomes a decision rather than a guess.

See how it works →

Proof that the message, not just the margin, moves the number

Improving true profit is not only a cost exercise. Conversion rate and revenue per visitor sit in the same equation, and structured testing is how you move them.

AliveCor ran a structured A/B testing programme with Omniconvert and achieved a 21% lift in conversion rate, a 5% lift in revenue per visitor, and 94% statistical relevance across their experiments [Omniconvert, AliveCor case study]. Read that against the worked example above: revenue per visitor sits directly upstream of every one of the three metrics, so a lift there raises ROAS, contribution margin and true profit at once, without touching a single supplier cost.

Frequently Asked Questions

1What is the difference between ROAS and true profit?

ROAS divides attributed revenue by ad spend, so it only knows two numbers and ignores what the order cost you to fulfil. True profit subtracts every variable cost, including product cost, payment fees, shipping, returns and the advertising itself.

A 3.6 ROAS can leave a healthy margin on one product and lose money on another, because ROAS never sees the difference between them.

2Is contribution margin the same as gross margin?

No. Gross margin subtracts the cost of goods sold and stops there. Contribution margin subtracts every variable cost of serving that order: product cost, payment processing, pick and pack, shipping, and a provision for returns and discounts.

Contribution margin is always the smaller and more honest of the two, because it counts the costs that scale with each extra order.

3What is a good ROAS?

There is no universal good ROAS, because the threshold is set by your contribution margin. Break-even ROAS equals 1 divided by your contribution margin percentage.

At a 42.7% contribution margin you break even at a ROAS of about 2.34, so 3.6 is profitable. At a 20% contribution margin, break-even is 5.0, and that same 3.6 loses money on every order.

4How do I calculate true profit per order?

Start with the order value after discounts. Subtract the cost of goods, payment fees, pick and pack, shipping and a returns provision to get contribution margin. Then subtract the advertising spend attributable to that order, usually your blended customer acquisition cost.

What is left is true profit before fixed overheads such as rent, salaries and software.

5Should I optimize ad campaigns on ROAS or contribution margin?

Bid on ROAS, judge on contribution margin. Ad platforms need a fast in-platform signal, and ROAS is the one they optimize toward reliably.

But set each campaign's ROAS target from the contribution margin of the products it sells, so a low-margin campaign carries a higher bar than a high-margin one. A single account-wide ROAS target quietly funds your worst products.

6How does Nexus by Omniconvert help with profit measurement?

Nexus by Omniconvert unifies purchase and behavior data into one customer view, segments customers by value, and predicts lifetime value.

That moves the question from what an order earned today to what a customer is worth over time, so you can accept a thin first-order margin when the segment repeats, and refuse it when the segment does not.

Three metrics, one order, one decision

Keep all three. ROAS steers the campaign because it is the signal the ad platforms optimize toward. Contribution margin sets the ROAS target, because break-even is a function of margin and nothing else. True profit settles the argument at the end of the month. The mistake that costs the most is not choosing the wrong metric, it is running one account-wide ROAS target across products whose margins are nothing alike. Derive the target per product, then read the result beside what those customers are worth over their lifetime rather than on their first order alone.

Valentin Radu, Founder and CEO of Omniconvert
Founder & CEO, Omniconvert
Valentin Radu is the founder and CEO of Omniconvert. He is an entrepreneur, data-driven marketer, CRO expert, CVO evangelist, international speaker, father, husband, and pet guardian. Valentin is also an Instructor at the Customer Value Optimization (CVO) Academy, an educational project that aims to help companies understand and improve Customer Lifetime Value.

An order's margin is only half the story. See how Nexus by Omniconvert ranks your customers by predicted lifetime value.

See Nexus by Omniconvert →

Judge the customer, not just the order

True profit tells you what an order earned today. It cannot tell you which buyers come back. Nexus by Omniconvert unifies purchase and behavior data into one customer view, segments by value, and predicts lifetime value, so a thin first order becomes an easy yes when the segment repeats and an easy no when it does not.