Going Stellar

Home/Research

Unit economics · measurement

A target CPA does not know what an order is worth

We built one profitability engine that counts only delivered orders, net of VAT, down to the individual SKU. When we compared its verdicts with the target-CPA gate we had been running, the verdicts inverted. The formula below is a planning gate, not realised profit.

Published

What we measured

We built one profitability engine. Revenue minus cost of goods, minus shipping, minus marketing, net of VAT, counting only orders that were actually delivered, down to the individual SKU. One place where the arithmetic lives, so that two people asking the same question get the same answer.

Then we ran the same campaigns through the gate we had been using until that point: a target cost per acquisition. The verdicts inverted. Campaigns that looked expensive against the target turned out to be the ones worth scaling. Others sat comfortably inside the target and were losing money on every order.

The cause is structural, not a calibration problem. A target CPA is a ceiling on what you pay for an order. It carries no information about what that order is worth. Two campaigns at the same cost per order can sit on opposite sides of breakeven if they sell different goods into different places.

Breakeven per placed order

Written out, breakeven per placed order is: average order value divided by one plus VAT, minus cost of goods, minus shipping, all multiplied by the delivered rate, minus shipping multiplied by one minus the delivered rate.

The first bracket is what an order contributes when it arrives: the price with VAT taken out, less what the goods cost you and what it costs to move the parcel. Multiplying by the delivered rate is the honest part, because you only collect that contribution on the orders that are actually delivered.

The second term is the one most calculators leave out. A refused parcel still costs you the shipping, and in some markets it costs it both ways. A calculator that stops at the first bracket is describing a business in which nothing is ever refused.

We keep a scale threshold at 70% of breakeven. The gap is the margin we hold back for error in the inputs we do not control precisely. Under the threshold we add budget. Between the threshold and breakeven we hold. Above breakeven we cut.

Two stores with the same average order value

In a market where a meaningful share of orders is cash on delivery and some fraction of those is refused, the delivered rate is the heaviest term in the formula. It scales the contribution up or down, and it drives the loss term at the same time.

Two stores with identical average order value and identical cost of goods can have completely different breakeven points purely because of their delivery rates. Nothing about the product, the price or the buying has to differ. The parcels arriving at different rates is enough.

The practical consequence is that a target CPA copied from one store to another, or carried forward from one period into the next, is wrong by construction unless the delivered rate travelled with it. In our experience it rarely does, because the target is usually set once and then treated as a property of the account rather than of the fulfilment.

Where we were wrong

We ran target-CPA gates ourselves before the engine existed. Not as a placeholder we were sceptical about, but as the gate: the number a campaign was judged against when someone had to decide whether to add budget or stop it.

They mislabelled profitable campaigns as expensive for as long as we used them, and decisions were made on those labels. We cannot publish the amounts, and the argument does not need them. What was wrong was the sign, not the size: the gate pointed the wrong way on campaigns whose real economics were fine, and it pointed the right way on campaigns that were losing money per order.

The reason it went unnoticed for so long is that a target CPA fails quietly. It never returns an error. It returns a verdict, in the right units, with a plausible number attached. The only way to discover it was wrong was to build the thing that computed the alternative and compare the two, campaign by campaign.

Reported return on ad spend is not a substitute

The obvious repair is to stop using cost per order and use the return on ad spend the platform reports instead. That does not work either. The reported figure is inflated by attribution: the platform counts the orders it believes it caused, and it is the party grading its own work.

A brand campaign is the clearest case. A large part of the demand it reports was going to arrive anyway, from people who already knew the name and were on their way. The platform records the purchase, the purchase is real, and the causal claim behind it is not.

There is a second problem underneath the first. Return on ad spend is revenue over spend, and revenue is not contribution. It is measured before VAT comes out, before the goods are paid for, before the parcel is moved, and before anyone refuses delivery. Those deductions are the terms that decide the verdict.

Running the same check

You need these inputs: average order value, cost of goods per order, shipping per parcel, and the delivered rate. Most of them come out of your own records. The delivered rate is the one people get wrong, so take it from courier or fulfilment data, from the parcels that were actually handed over and paid for, not from the shop's order table, which counts orders placed.

Then compute the two terms and compare the result against your cost per placed order, meaning marketing divided by orders placed rather than orders delivered. The denominators have to match. If you divide spend by delivered orders and compare it against a breakeven built on placed orders, the two sides are not measuring the same thing.

The same arithmetic runs on our services page, at https://goingstellar.ro/services/. If you build it yourself, keep the inputs visible in the output rather than only the verdict, because when a verdict changes the first useful question is which one moved.

Limitations

The formula assumes marketing is spent per placed order. Where a channel does not behave that way, comparing its cost per order against this breakeven is not a like-for-like comparison, and the gate should not be used to settle it.

It also assumes the delivered rate is stable enough to be treated as a constant. It is an average taken over some past period and then applied to orders that have not happened yet. On a small campaign, or a new product, that average can be a poor description of the orders it is being applied to, and the whole verdict moves with it.

It does not settle attribution. The gate takes the orders credited to a campaign and asks whether they are worth their cost. Whether those orders belong to that campaign is a separate question, and this arithmetic has nothing to say about it.

Finally, this is a planning gate, not realised profit. It tells you whether a campaign is worth more money before the money is spent. What you actually earned comes from the engine, after the parcels have been delivered and the goods, shipping and refusals are known rather than assumed.

Questions and answers

Why is a target CPA a poor way to judge campaign profitability?

A target CPA is a poor way to judge campaign profitability because it caps what you pay for an order without saying what the order is worth. Two campaigns at the same cost per order can sit on opposite sides of breakeven if they sell different goods into different places. Comparing a target-CPA gate with a delivered-orders profitability engine can invert the verdicts.

How do I calculate breakeven CPA per placed order with cash on delivery?

Breakeven CPA per placed order is average order value divided by one plus VAT, minus cost of goods, minus shipping, all multiplied by the delivered rate, minus shipping multiplied by one minus the delivered rate. The second term matters because a refused parcel still costs the shipping. Compare the result with marketing divided by orders placed, so that the denominators match.

Why does the delivered rate matter so much for breakeven?

The delivered rate matters so much for breakeven because, where many orders are cash on delivery and some are refused, it scales the contribution of each order and drives the loss term at the same time. Two stores with the same average order value and cost of goods can have very different breakeven points purely because their parcels arrive at different rates.

Can I copy a target CPA from one store to another?

A target CPA copied from one store to another, or carried from one period into the next, is wrong by construction unless the delivered rate travelled with it. The target is usually set once and treated as a property of the ad account, when the economics actually depend on fulfilment. Recompute breakeven from each store's own delivered rate instead of inheriting a target.

Is platform-reported ROAS a good substitute for profit?

Platform-reported ROAS is not a good substitute for profit. The reported figure is inflated by attribution, because the platform counts the orders it believes it caused and grades its own work, as with brand campaigns. ROAS is also revenue over spend, measured before VAT, cost of goods, shipping and refused deliveries are taken out, and those deductions are the terms that decide the verdict.

Where should the delivered rate for a breakeven calculation come from?

The delivered rate for a breakeven calculation should come from courier or fulfilment data, meaning the parcels that were actually handed over and paid for. The shop's order table counts orders placed, so it overstates delivery. The delivered rate is an average from a past period, and on a small campaign or a new product it can describe the future orders poorly.

How to cite this

Going Stellar (2026). A target CPA does not know what an order is worth. GOING STELLAR S.R.L..
https://goingstellar.ro/research/target-cpa-does-not-know-what-an-order-is-worth/

Read as Markdown

All research

Contact

Tell us what is not working

Write in English or Romanian. A person reads it — usually the same person who would do the work — and answers within one business day.