To cut fake and refused cash on delivery (COD) orders, confirm every order before you book a courier. Send a WhatsApp utility template with Confirm and Cancel buttons, fall back to SMS if there is no reply, and ship only confirmed orders. Each WhatsApp confirmation costs about LKR 0.66 in Meta fees, and a transactional SMS costs LKR 0.50 on Bloomwire.
Updated 6 November 2026
- 52% of Sri Lankan online shoppers prefer cash on delivery, according to the Digital Outlook Sri Lanka 2025 report.
- COD lets buyers refuse a parcel at the door, so every unconfirmed order is a risk to your courier budget.
- A WhatsApp utility template with Confirm and Cancel buttons is the cheapest way to check an order.
- Send an SMS with a confirm link when the customer has no WhatsApp or does not reply.
- Book the courier only after the customer confirms.
Why COD orders fail in Sri Lanka
Cash on delivery is still the top choice for online shoppers here. The Digital Outlook Sri Lanka 2025 report, by APIDM and the University of Kelaniya, found that 52% of online shoppers prefer COD, up from 48% the year before. For mid-range beauty products, 70 to 80% of orders rely on COD, according to the same coverage.
The same report notes that COD lets shoppers reject orders on delivery, which complicates returns for businesses. We have not found a published Sri Lankan figure for COD refusal or return rates, so measure your own. Common causes include:
- Fake orders. Prank orders, made-up names or someone else's number.
- Impulse orders. The buyer changes their mind before the rider arrives.
- Duplicate orders. The same customer orders twice by mistake.
- Wrong details. An incomplete address or a mistyped phone number.
- Not at home. Nobody is there to pay when the rider calls.
Each failed parcel can cost you the courier fee both ways, packing, and stock held back from other buyers. A short confirmation step can catch many of these before you spend anything.

The confirmation flow
- Customer places an orderAt checkout, collect a mobile number and a tick box to receive order updates on WhatsApp. That is your opt-in.
- Send a WhatsApp confirmation within minutesUse an approved Utility template with the order number, items, COD amount and address. Add quick-reply buttons: Confirm, Change address and Cancel.
- Customer taps ConfirmYour system marks the order as confirmed. Only now do you pack it and book the courier.
- No reply after two hours? Send an SMSSend a transactional SMS with a short link to a confirm page. This reaches customers without WhatsApp too.
- Still no reply by the next morningCall once, or send one final reminder. If there is still no answer, hold or cancel the order under your published policy.
- Customer taps CancelRelease the stock straight away. You have spent cents, not a courier fee.
- Out for deliverySend a Utility message on the day: "Your order is out for delivery. Please keep LKR 6,450 ready." This cuts not-at-home failures.
Send confirmations during working hours. Orders placed late at night can get their message at 08:00 the next day.
COD order confirmation on WhatsApp
Meta classes a message as Utility when it is about a specific transaction the customer started and has no promotion in it. An order confirmation fits, so it costs US$0.0020 in Sri Lanka, about LKR 0.66. Keep offers and discount codes out of it, or Meta may treat it as Marketing at US$0.073.
Write each template in the language the customer used at checkout. For more wording, see our WhatsApp message templates for Sri Lankan businesses.
Order confirmation SMS fallback
Not every buyer uses WhatsApp, and some will not open it in time. A transactional SMS reaches any phone. Keep it in plain English letters where you can: up to 160 characters fit in one SMS. Sinhala or Tamil switches the message to Unicode, where one SMS holds 70 characters.
The link opens a simple page with Confirm and Cancel buttons that update the order. Test your wording with our free SMS character counter.
Cost per confirmed order
Meta fees below use Bloomwire's published rate of US$0.0020 per Utility message at LKR 331 to the dollar. Utility templates are charged even inside the 24-hour customer service window since 1 October 2026. SMS is Bloomwire's transactional rate, inclusive of government taxes.
| Message | Channel | Cost per message |
|---|---|---|
| Order confirmation with buttons | WhatsApp Utility | LKR 0.66 |
| Fallback confirm link (English, 1 part) | Transactional SMS | LKR 0.50 |
| Fallback confirm link (Sinhala, 1 part) | Transactional SMS | LKR 0.50 |
| Shipped with tracking | WhatsApp Utility | LKR 0.66 |
| Out for delivery | WhatsApp Utility | LKR 0.66 |
| All four messages for one order | LKR 2.49 |
Even if every order needed all four messages, 1,000 orders would cost about LKR 2,486.00 in messaging. Compare that with what one refused parcel costs you in courier fees both ways. The WhatsApp plan fee is separate: our Starter plan is LKR 8,500 a month. See WhatsApp pricing and our guide to the October 2026 Meta pricing changes.
Connecting it to your store
The flow works best when your store sends messages and updates orders on its own. Most setups need four connections:
- Order created: your store sends the order details to the messaging API, which sends the WhatsApp template.
- Button reply: a webhook tells your store which button the customer tapped, and the order status changes.
- Timer: a scheduled job sends the SMS fallback when an order has waited two hours unconfirmed.
- Courier booking: runs only on confirmed orders, by courier API or by your team.
On WooCommerce, start with our guide to SMS API integration for WooCommerce. For other platforms, ERPs and CRMs, read connecting WhatsApp and SMS to your ERP, CRM or online store. An AI chatbot can also handle replies such as "change my address" outside office hours.

- Show the COD amount and address in the message.
- Use buttons, not "reply YES", so replies are easy to read automatically.
- Send in the customer's language.
- Publish your policy for unconfirmed orders.
- Add discount codes to a Utility template.
- Book the courier before the customer confirms.
- Send several reminders in one day.
- Message numbers that did not opt in to WhatsApp updates.
Metrics to track
| Metric | How to calculate | Why it matters |
|---|---|---|
| Confirmation rate | Confirmed orders ÷ COD orders | Shows how many orders are real |
| Cancel rate | Cancelled at confirmation ÷ COD orders | Orders you avoided shipping |
| No-response rate | Unanswered after fallback ÷ COD orders | Tests your wording and timing |
| Time to confirm | Median minutes from order to confirmation | Faster confirmation means same-day dispatch |
| Delivery success rate | Paid deliveries ÷ shipped orders | The number that protects your margin |
| Cost per confirmed order | Messaging spend ÷ confirmed orders | Keeps the flow's cost in view |
Compare these numbers before and after you start confirming orders. Split them by channel and by language to see where the flow needs work. For a wider look at channels, read WhatsApp vs SMS vs email in Sri Lanka.
Frequently asked questions
How do I confirm cash on delivery orders on WhatsApp?
Send an approved WhatsApp Utility template right after the order, with the order number, COD amount, address and Confirm and Cancel buttons. Book the courier only when the customer taps Confirm.
Is a COD order confirmation a marketing or utility message?
It is a Utility message if it only confirms an order the customer placed and has no promotion. In Sri Lanka a Utility message costs US$0.0020, about LKR 0.66. Adding offers can make Meta class it as Marketing.
How do I stop fake orders in Sri Lanka?
Confirm every COD order before dispatch, use WhatsApp buttons and an SMS fallback, and cancel orders that stay unconfirmed under a published policy. Confirmation will not stop every fake order, but you no longer ship orders that are cancelled or never confirmed.
What if the customer does not use WhatsApp?
Send a transactional SMS with a short confirm link. On Bloomwire a transactional SMS costs LKR 0.50. Keep it under 160 characters in English, or 70 in Sinhala or Tamil, so it goes as one message.
How long should I wait for a confirmation?
A common approach is to send an SMS after about two hours without a reply, then call or send one final reminder the next morning. Test what works for your customers.
Do I need customer consent to send order confirmations?
Meta requires customers to opt in before you send WhatsApp templates. A tick box at checkout for order updates on WhatsApp works well. From 1 January 2027, the core parts of the PDPA are expected to apply too. This is not legal advice.
Sources
- Daily Mirror: Sri Lankan online shoppers stick to cash on delivery
- Meta: WhatsApp Business Platform pricing
- Bloomwire: WhatsApp Business API pricing in Sri Lanka from 1 October 2026
- Twilio: SMS character limit


