Failed cash-on-delivery orders are a margin problem
A refused cash-on-delivery order is not a lost sale. It is worse than a lost sale, because you paid to send it and you pay to get it back, and the item returns to your shelf a week later slightly less sellable than it left. Most stores treat this as a cost of doing COD. Most of it is avoidable, and the fix happens before the parcel goes out.
Key takeaways
- A refused cash-on-delivery order costs more than a lost sale: you pay shipping both ways, and the stock comes back a week later slightly less sellable.
- The usual causes are knowable before dispatch, and almost none are fraud: a change of mind, nobody home, a mistyped phone number, an incomplete address.
- Put one confirmation step between the order and the parcel, on a channel your customers answer. A messaging app beats email for this.
- Track failed deliveries as a weekly percentage of orders dispatched, and count cancellations from confirmation separately: they are money saved.
What does one failed delivery actually cost you?
Before deciding how much effort this deserves, price one failure properly. It is outbound shipping, return shipping, the handling time at both ends, the packaging if it cannot be reused, and the working capital tied up in stock that was unavailable while it travelled.
Do that arithmetic with your own numbers rather than assuming. Stores are routinely surprised, because the outbound cost is the only part that appears on an invoice and the rest is absorbed invisibly into a general sense that margins are thin.
Once you know the figure, the value of a confirmation step becomes a straightforward comparison rather than a matter of opinion.
Why do cash-on-delivery orders fail?
The reasons cluster tightly, and almost none of them are fraud. Someone ordered on impulse and changed their mind before it arrived. Nobody was home, twice, and the courier gave up. The phone number was mistyped so the driver could not call. The address was incomplete in a way the checkout accepted. Or the customer forgot they had ordered at all.
What these have in common is that they were all knowable before dispatch. The order was placed and then nothing happened until a parcel appeared, and every one of those failure modes had time to develop in that silence.
COD makes it worse than card payment for one structural reason: the customer has committed nothing. There is no sunk cost to make them answer the door.
Should you confirm an order before dispatch?
The single highest-return change is a confirmation contact between the order and the parcel. Not a receipt — an actual exchange that requires a response, ideally the same day.
It does three things at once. It catches wrong numbers and incomplete addresses while they are still cheap to fix. It re-establishes that a real transaction is happening, which matters for an impulse order. And it lets you find out about a change of mind before you have paid to ship, which converts an expensive failure into a free cancellation.
A cancellation at this stage is a good outcome, not a bad one. Stores that resist confirmation because it 'gives people a chance to back out' are paying twice for the privilege of not knowing.
Why does a message work where email does not?
For confirmation specifically, a messaging app outperforms email for reasons that have nothing to do with marketing. Email is where receipts go to be ignored, it filters aggressively, and replying feels like effort. A message on the app someone already uses is read within minutes and answered with one word.
The response you need is trivially small — a yes, or a corrected address. Any channel that makes that a two-tap action beats one that requires opening an inbox.
There is a compliance dimension worth getting right rather than ignoring. Messaging someone about an order they placed is a service message, not marketing, and the two are treated differently. Keep them separate, and do not use an order confirmation as a route to send offers later unless the person agreed to that separately.
How do you stop bad addresses at checkout?
A meaningful share of failures start at checkout with a phone number one digit short or an address missing the part the driver needs. These are cheap to prevent and expensive to discover.
Validate the phone number's format at entry, make the field required, and use address lookup rather than free text where you can. None of this is sophisticated and all of it removes failures that would otherwise cost you a round trip.
Then actually look at the failures you do get. If a pattern shows up — one courier, one region, one product that is too large for the service you selected — that is a fixable operational issue rather than customer behaviour.
How should you measure failed deliveries?
Track failed deliveries as a percentage of orders dispatched, weekly. Incidents on their own tell you nothing, because a bad week with high volume can look identical to a normal week with low volume.
Once you have a baseline, changes become testable. Add confirmation and watch the rate over the following month. If it does not move, you have learned something specific rather than adding a step on faith.
Also track how many confirmations produce a cancellation. That number looks like lost revenue and is actually money saved, and it is worth counting separately so nobody mistakes it for a problem.
When is automating confirmation worth it?
Confirmation by hand works and is the right place to start — it is a phone and twenty minutes a day. It stops working at the volume where twenty minutes becomes two hours, and that threshold arrives sooner than expected.
The automated version sends the confirmation the moment an order is placed, collects the reply, and flags anything unanswered before it would have been dispatched. The useful part is not the sending, it is the flagging: a list of orders that have not confirmed is the thing that saves the shipping.
This is the kind of workflow the OpenX24 assistant and Lead Engine are built to run, on a Run plan from £29 a month. But the sequence matters more than the tool. Confirm before dispatch by hand first, find out what your own failure rate does, and automate the version you have already proved works.
What to do next
Price one failed delivery properly, including the return leg and the stock sitting in transit. Then put a single confirmation step between the order and the parcel, on whichever channel your customers actually reply to, and track failed deliveries as a weekly percentage rather than as incidents. Confirmations that produce a cancellation are the step working, not failing — that is a round trip you did not pay for.
Want this handled for you?
Tell us what you sell and we'll send a fixed price and a live date within 24 hours. Free, no call needed.
See What I Need →Common questions
Some will cancel, and those were mostly going to refuse the parcel anyway. The difference is that a cancellation costs you nothing while a refusal costs shipping in both directions. Count cancellations separately from failures so the step is not judged by a number that represents money saved.
Only if the failure rate genuinely outweighs the orders it wins you, which you cannot know without measuring both. In markets where COD is what buyers trust, removing it usually costs more in orders that never happen than it saves in failures. Reduce the failure rate first, then decide with real numbers.
Same day, ideally within the hour. The purpose is to reach the person while they still remember ordering, which is exactly when a mistyped number or a change of mind is cheapest to discover.