COD Order Profitability
A delivered COD order looks healthy because there is no card processing percentage. The economics turn on the failure rate: undelivered parcels cost outbound freight, return freight and packaging while producing no revenue at all. At an eighteen percent failure rate, expected margin per attempted order falls by roughly a quarter.
Written by Atul Tirkey · Co-founder, NetNet
Updated September 6, 2026 · 4 min read
Cash on delivery is usually discussed as a conversion decision — offer it and more people buy. It is also a margin decision, and the two point in opposite directions.
The reason it gets misjudged is that a delivered COD order genuinely looks good. There is no card processing percentage, which on a $92 order saves nearly three dollars against a card payment. Judged on delivered orders alone, COD can appear to be the better payment method.
The orders that never deliver are where the economics actually live.
What a failed attempt costs
An undelivered COD parcel produces no revenue and consumes:
- Outbound freight, already paid.
- Return-to-origin freight, billed separately and usually at a similar rate.
- Packaging, consumed and rarely reusable.
- Handling and restocking at the warehouse.
- A failed-attempt or COD handling fee from the carrier, depending on contract.
- Inventory tied up in transit for the full round trip, unavailable to sell.
Cost of goods usually returns to stock, which is the one saving. Everything else is spent.
In the worked example, a failed attempt costs $19.35 — against a delivered order that contributes $46.25. Roughly two failures wipe out one success.
Expected value is the number that matters
The mistake is treating failures as an occasional annoyance rather than as a rate that applies to every order you accept.
You pay acquisition cost on attempted orders, not delivered ones. So the figure to compare against CAC is expected contribution per attempt:
(delivery rate × margin when delivered) − (failure rate × cost of a failure)
At an eighteen percent failure rate, that turns $46.25 into $34.44 — a quarter lower. A store bidding against the $46.25 figure is overbidding by nearly twelve dollars per customer, on a method chosen partly because it seemed cheaper than cards.
Recomputing this is the single highest-return hour available to any store with meaningful COD volume.
Where failure concentrates
Failure rates are never evenly spread, and the variation is where the fixes are.
By region. Certain postcodes fail far more than others, for reasons ranging from address quality to carrier coverage to local delivery practice. This is usually the largest cut.
By order value. High-value COD orders fail more often, because the customer has to produce more cash at the door and second thoughts are more expensive.
By product category. Impulse categories fail more than considered purchases.
By acquisition channel. Traffic from aggressive discounting converts more casually and refuses at the door more often.
A store-wide failure rate averages all of this into one uninformative number. Cut by region and by order value first — between them they usually explain most of the variance.
The levers, and what each costs
Every intervention trades conversion for reliability, and the trade is measurable.
Order confirmation before dispatch, by message or call. Reduces failures materially, adds a step, and loses some orders that would have delivered.
Partial prepayment — collecting a small deposit online. The most effective single lever, because it converts a costless refusal into one the customer has already paid something to avoid, and it loses the customers who wanted COD precisely because they were not committing.
Restricting COD above a value threshold or in specific postcodes. Precise, easy to implement, and the finding from the regional cut usually points straight at the list.
Address verification at checkout. Cheap, and it removes the failures caused by bad data rather than by intent.
The right combination is a calculation, not a preference: compare the margin lost to reduced conversion against the failure cost avoided, using your own numbers.
Reading COD alongside prepaid
Because the two payment methods have genuinely different cost structures, blending them produces a figure that describes neither.
Split contribution margin by payment method and read four numbers together: margin when delivered, failure rate, expected margin per attempt, and share of orders. That combination answers the question stores actually have, which is not “is COD good” but “how much COD can we carry”.
The pattern that usually emerges is that COD is fine at the volumes and values where it started and deteriorates as the store grows into higher-priced products. A method that worked comfortably on $40 orders can be marginal on $150 ones, because the cost of a failure scales with freight and handling while the customer’s cost of refusing stays at zero.
That framing also makes partial restrictions easy to justify. Keeping COD on lower-value orders while requiring prepayment above a threshold is not a rejection of the method — it is applying it where the expected value works and withdrawing it where it does not. The threshold comes straight out of the numbers rather than from a policy debate.
Working capital, which nobody counts
One cost sits outside the margin calculation entirely and belongs in the decision.
With COD, money arrives when the parcel is delivered and the carrier remits — commonly a week or two after dispatch, sometimes longer. With prepaid orders, it arrives in a payout a few days after checkout.
For a store funding inventory from its own cash flow, that gap is a real constraint. Growing COD volume means more money in transit at any moment, and the faster you grow the wider the gap. Stores that hit a cash wall while reporting healthy margins are frequently doing so for exactly this reason: the profit is real, and it is currently in a van.
A COD order, delivered and expected
A $92 cash-on-delivery order in a market where roughly eighteen percent of COD attempts fail to deliver.
- Order value collected on delivery
- $92.00
- Expected margin per attempted order
- $34.44
- Share kept
- 37.4%
| Line | Relative size | Amount |
|---|---|---|
| Order value collected on delivery | $92.00 | |
| COD collection fee | $1.80 | |
| Cost of goods sold | $33.00 | |
| Outbound shipping | $8.60 | |
| Packaging and handling | $2.35 | |
| Contribution margin when delivered 50% — looks healthy | $46.25 | |
| Expected margin per attempted order 82% deliver; each failure costs $19.35 | $34.44 |
The delivered order contributes $46.25. Across every attempt, including the ones that come back, the expected contribution is $34.44 — a quarter lower. That second figure is the one to compare against acquisition cost, because you pay to acquire attempted orders rather than delivered ones.
Where the numbers come from
Every figure above traces to a specific field in a specific system. These are the ones that matter, and where each one goes wrong.
| Figure | Source | Where it breaks |
|---|---|---|
| COD failure rate | Fulfilment records, by region and by product | A store-wide rate hides enormous regional variation, which is where the fix usually is. |
| Return freight on failed attempts | Carrier invoices for the return leg | The return leg often bills under a different service code and is easy to miss. |
| COD collection fee | Carrier or aggregator contract | Some providers charge a percentage of order value rather than a flat amount. |
What this does not tell you
- Expected value uses an average failure rate, which describes a population rather than an order. It is the right basis for pricing and acquisition decisions and the wrong basis for judging any individual sale.
- This excludes the working capital cost of money collected on delivery rather than at checkout, which for a store funding growth from cash flow can matter as much as the margin.
Frequently asked questions
Is cash on delivery profitable?
It depends almost entirely on your failure rate. Delivered COD orders often carry better margin than card orders because there is no processing percentage. Undelivered ones cost freight in both directions and return no revenue, and a high enough failure rate reverses the advantage.
How should I account for failed COD deliveries?
As an expected cost across all attempted orders rather than as an occasional loss. Multiply the cost of a failed attempt by your failure rate and subtract it from the margin on delivered orders to get expected contribution per attempt.
How do I reduce COD failure rates?
The reliable levers are order confirmation before dispatch, partial prepayment, restricting COD on high-value orders or problem postcodes, and address verification. Each trades some conversion for a lower failure rate, which is a measurable exchange.
Should COD orders be costed separately from prepaid ones?
Yes. They have a different fee structure, a materially different failure profile and different working capital implications. Blending them into one average understates the cost of COD and overstates the cost of prepaid.
Keep reading — Shipping & fulfilment
The real cost of RTO and failed deliveries
What one returned parcel consumes.
Shipping leakage
Delivery charged against delivery paid.