logo
Solution

COD Order Confirmation on WhatsApp: Cut Failed Deliveries

Cash on delivery fails when the buyer changed their mind, moved, or forgot the order. In some markets 20-40% of COD orders fail to deliver. A WhatsApp confirmation flow, confirming at order, before dispatch, and on delivery day, catches cancellations before they become courier costs.

What teams report
COD failed deliveries run 20-40% in some markets, and most are avoidable with confirmation
Confirming before dispatch stops wasted courier trips
Utility-category confirmations keep Meta fees low
The problem

Why COD orders fail

COD carries no payment commitment. The buyer can change their mind, give a wrong address, or simply not be home. In some markets 20-40% of COD orders fail to deliver, and each failure costs a courier trip plus restocking.

  • No payment was collected, so cancellation costs the buyer nothing
  • Addresses are typed in a hurry and never checked
  • A silent order is a failed order by delivery day
The flow

The 3-touch confirmation flow

Each touch is cheap, and each one removes a different failure mode.

  • Touch 1, immediately at order: confirm the order, items, address, and delivery window. Ask for a CONFIRM reply.
  • Touch 2, about one hour before dispatch: reconfirm the address and the dispatch. A wrong address is still fixable here.
  • Touch 3, delivery day: remind the buyer that the order arrives, and keep the amount ready.
The business case

What one failed delivery costs

The courier round trip, restocking, and the lost margin on the order. At 20-40% failure on COD volume, that is a large share of shipments that cost money instead of making it. Confirmation messages cost pennies and remove most of the avoidable failures.

The templates

Copy-paste templates

Adjust the placeholders and send. These work as WhatsApp templates (utility category) or plain messages inside the service window.

The setup

Running it in Wutt

Set the three templates in the flow builder, trigger them on order, dispatch, and delivery day, and the sequence runs without anyone touching it. Category guidance is built in so the messages bill as utility, not marketing.

Ready-to-use templates

Copy, adapt, send

Order confirmation

Hi {name}, your order {order_no} for {items} is confirmed. Delivery to {address} on {date} between {time1} and {time2}. Reply CONFIRM to keep it, or CHANGE to update anything.

Before dispatch

Your order {order_no} ships in about an hour to {address}. Reply CONFIRM so we dispatch, or CHANGE to update the address.

Address check

Quick check, {name}: is {address} still right for order {order_no}? Reply CONFIRM or send the new address.

Delivery day

Your order {order_no} arrives today between {time1} and {time2}. Please keep {amount} ready for the courier. Reply if anything changed.

Automate this

Wutt does this on autopilot

Flows, reminders, campaigns, and a shared inbox — set it up once, and every conversation is handled consistently.

Start the $1 Trial
FAQ

Common questions

A courier round trip, restocking, and the lost margin. At 30% failure on 100 orders, that is 30 wasted trips.

Utility: these are transactional order updates at a low rate, and service conversations inside the 24-hour window are free.

No. Order updates are expected. The flow replaces silence with one-tap confirmations.

Treat it as a risk signal. Confirm by call before dispatch instead of sending the order out blind.

Yes. The same principle applies to any dispatch that carries cost: confirm before it ships.

Build the three templates in the Wutt flow builder and set their triggers: order, dispatch, and delivery day.