Going Stellar

Home/Methods

E-commerce · Unit economics

How to calculate breakeven CPA for a cash-on-delivery store

Breakeven CPA is the most a store can pay in advertising for one placed order before that order loses money. For a cash-on-delivery store it is revenue without VAT, minus goods and shipping, counted only on delivered orders, minus the shipping already paid on every refused parcel. We scale only below 70% of that number.

Updated

What breakeven CPA means for a cash-on-delivery store

Breakeven CPA (cost per acquisition) for a cash-on-delivery store is the advertising cost per placed order at which the order leaves exactly zero contribution. The formula is breakeven = (AOV ÷ (1 + VAT) − goods − shipping) × delivered − shipping × (1 − delivered). Pay more than breakeven CPA per placed order and every order loses money; pay less and every order earns.

In that formula, AOV is the average order value including VAT, goods is the cost of goods in one order, shipping is the courier cost of one parcel, and delivered is the share of placed orders that customers actually accept and pay for. Cash on delivery means the customer pays the courier when the parcel arrives. Until then a cash-on-delivery order is a promise, and some customers refuse the parcel at the door.

We publish this breakeven formula as a calculator on our site. It is the same arithmetic our profitability engine runs per store and per SKU before anyone touches an advertising budget.

The four inputs, and where each one should come from

1. Revenue without VAT. Divide AOV by (1 + VAT). VAT is collected for the state and is not the store's money. For cross-border orders use the VAT rate of the country the parcel is delivered to. Enter goods and shipping without VAT, because the VAT on those costs is deductible.

2. Cost of goods, from real order lines. Multiply every line in every order by the unit cost of that product. Do not use a flat catalogue margin. A 2+1 promotion ships three units for the price of two, so the real share of goods in revenue is higher than the catalogue suggests.

3. Shipping per parcel, without VAT, as a median. Courier invoices include VAT, so divide it out. Use the median parcel cost rather than the average, because a few heavy parcels pull the average up. If the courier bills the cash-collection fee separately, add it to shipping.

4. Delivered share, from courier statuses. Count parcels the courier marks as delivered. Do not use the payment status in the shop: on cash-on-delivery orders the payment status often stays pending long after the parcel was delivered, so it cannot tell delivered from refused. Measure over a window long enough for recent parcels to finish their journey.

Why refused parcels change the breakeven CPA

The last term of the breakeven formula, shipping × (1 − delivered), is the cost of refused parcels. A refused parcel brings no revenue, but the courier was still paid to drive it to the door. Most breakeven calculators leave this term out, and that omission is exactly what turns a losing campaign into a profitable one on paper.

Where the courier does not bill the return, count one leg, the outbound trip. When a courier also bills the return leg, as is common on cross-border shipments, each refused parcel costs more and the refusal term grows. Read the courier contract rather than assuming.

The delivered share also multiplies the whole contribution, not only shipping. A store whose delivery rate falls loses on both sides at once: fewer orders that pay, and more parcels that cost.

A worked example with hypothetical numbers

The numbers below are round and hypothetical, chosen so the arithmetic is easy to follow. They do not come from any store we run.

Inputs: AOV 200 including VAT, VAT 25%, goods 60 per order, shipping 20 per parcel, 80% of placed orders delivered.

Step 1. Revenue without VAT: 200 ÷ 1.25 = 160.

Step 2. Contribution per delivered order: 160 − 60 − 20 = 80. This is what one delivered order leaves before marketing.

Step 3. Weighted by delivery: 80 × 0.8 = 64.

Step 4. Refused parcels: 20 × 0.2 = 4. Breakeven CPA = 64 − 4 = 60 per placed order.

Step 5. Scale CPA = 60 × 0.7 = 42. Breakeven ROAS, for platforms that report return on ad spend, is AOV ÷ breakeven CPA = 200 ÷ 60, about 3.3.

A naive calculation that ignores VAT and refusals gives 200 − 60 − 20 = 120, double the real ceiling. A campaign running at a CPA of 90 looks comfortably profitable against 120 and loses money on every placed order against 60.

Placed orders or delivered orders: which CPA to compare

Ad platforms record a purchase when the order is placed. They do not learn that a parcel was later refused. The CPA a platform reports is therefore a cost per placed order, and the breakeven CPA above is also per placed order, which is why those two numbers can be compared directly.

If you compute CPA from delivered orders instead (spend ÷ delivered orders), compare it with breakeven ÷ delivered share. In the hypothetical example that is 60 ÷ 0.8 = 75 per delivered order. Comparing a per-delivered CPA with a per-placed breakeven makes healthy campaigns look like losses.

Profit itself is counted on delivered orders only, because only delivered cash-on-delivery orders produce revenue. The delivered share inside the formula already does this; do not add placed-order revenue anywhere else.

Scale CPA: why we keep 30% in reserve

Scale CPA is 70% of breakeven CPA. Below scale CPA we add budget; between scale CPA and breakeven CPA we hold; above breakeven CPA we cut. The 30% gap absorbs what the inputs get wrong: a delivery rate that drops next month, a courier price change, a cost of goods taken from an old invoice, and the fact that the extra orders bought with extra budget cost more than the average order.

The 30% reserve is a choice, not a law. A store with very stable inputs could run closer to breakeven; a store whose refusal rate swings should keep a larger reserve.

Where we were wrong

We charged refused domestic parcels twice. Our first model counted a refused parcel as an outbound and a return trip. Where the return is not billed, that double count made the model understate breakeven CPA. The return leg belongs in the formula only where the contract bills it.

We trusted catalogue cost of goods. The catalogue assumed one unit per order. With multi-unit promotions, the share of goods computed from real order lines was higher, so the true breakeven CPA was lower than the one we had been using.

We compared numbers in different currencies. A breakeven CPA computed in our home currency, compared with a CPA reported in an ad account's own currency, turned profitable campaigns into apparent losses. Convert before every comparison.

Limits, and a short checklist

Breakeven CPA is a planning ceiling built from averages, not a measurement of realised profit. Breakeven CPA leaves out fixed costs such as salaries, rent, software and agency fees, so a store can sit under breakeven on every campaign and still lose money overall. Breakeven CPA assumes that new orders will be delivered at the rate of past orders, which fails when a new product or audience refuses more often. Breakeven CPA also describes the average order, not the marginal one.

Checklist: revenue without VAT, at the destination country's rate; goods from real order lines; shipping as a median without VAT; delivered share from courier statuses, not payment status; refused parcels charged the legs the courier actually bills; platform CPA compared with breakeven per placed order, in the same currency; scale only below 70% of breakeven.

Questions and answers

What is the breakeven CPA formula for a cash-on-delivery store?

Breakeven CPA = (AOV ÷ (1 + VAT) − goods − shipping) × delivered − shipping × (1 − delivered). AOV is the average order value including VAT, goods is the cost of goods per order, shipping is the courier cost per parcel, and delivered is the share of placed orders the customer accepts. The result is the most you can pay in advertising per placed order before the order loses money.

Why do refused parcels matter for breakeven CPA?

A refused cash-on-delivery parcel brings no revenue, but the store has already paid the courier to deliver it. The term shipping × (1 − delivered share) charges that cost to the orders that do get delivered. Without the term, the breakeven CPA is too high, and campaigns that lose money on every order can look profitable.

Should breakeven CPA be calculated with or without VAT?

Without VAT. VAT on revenue belongs to the state, so divide the average order value by (1 + VAT) using the VAT rate of the country the parcel is delivered to. Enter the cost of goods and the shipping cost without VAT as well, because the VAT paid on those costs is normally deductible.

Should I compare CPA per placed order or per delivered order?

Ad platforms count a purchase when the order is placed, so their CPA is per placed order. Compare it with breakeven CPA per placed order. If you calculate CPA from delivered orders instead, divide the breakeven CPA by the delivered share before comparing. Mixing the two bases makes profitable campaigns look like losses.

What is a scale CPA and how is it different from breakeven CPA?

Scale CPA is the cost per order below which it is safe to add budget. We set it at 70% of breakeven CPA. The 30% reserve absorbs input errors, falling delivery rates and the higher cost of the extra orders that extra budget buys. Between scale CPA and breakeven CPA we hold; above breakeven CPA we cut.

How to cite this

Going Stellar (2026). How to calculate breakeven CPA for a cash-on-delivery store. GOING STELLAR S.R.L..
https://goingstellar.ro/methods/breakeven-cpa-cash-on-delivery/

Read as Markdown

All methods

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.