COD Order Confirmation SMS Templates That Reduce RTO

Mobile phone showing a COD order confirmation SMS template with reply options

SMS open rates sit near 98%, and 95% of messages are read within three minutes. And yet COD merchants keep blaming couriers, addresses, and customers when return-to-origin rates stay stuck above 25%. The problem isn't the channel — it's that most COD order confirmation SMS templates read like receipts, not commitments.

Most COD confirmation texts read like a receipt. "Order #1041 received. Thank you." That message doesn't ask the customer to do anything, doesn't commit them to the purchase, and doesn't give them a reason to be home when the courier knocks. A good SMS at the right moment can cut your RTO by double digits. A bad one just burns a message credit.

Why SMS Templates Matter More Than You Think

The industry average RTO rate on COD orders runs between 25% and 35%, and in some markets it's higher. Every returned shipment costs you forward shipping, reverse shipping, packaging, and handling — often 2 to 3 times the product's margin. One failed delivery can wipe out the profit from the next four successful ones.

The reason SMS works is simple: 64% of customers say they prefer to get order confirmations by text, and 67% want delivery updates through the same channel. But the template has to pull the customer into the transaction, not just inform them. Confirmation needs to become commitment. (If you're weighing SMS against other channels, we break down the trade-offs in IVR vs SMS vs WhatsApp for COD verification.)

Here are the five messages that matter. Copy them, adapt them to your voice and market, and stop sending generic receipts.

Template 1: Order Placed (Send Immediately)

This is the most important message you'll send. It arrives while purchase intent is still hot, and it's your one chance to lock in commitment before doubt creeps in.

Template:

Hi [Name], your order #[Order ID] from [Brand] is confirmed. Total: [Amount], paid on delivery. Delivery: [ETA]. Reply YES to confirm or CANCEL if you've changed your mind. Thanks for choosing us.

Why it works: The message asks the customer to take a small action — replying YES. That reply is the beginning of commitment. It also gives them an easy out, which sounds counterintuitive but actually drops RTO. A customer who cancels by text is one you didn't just pay to ship to.

Send this within five minutes of the order. Waiting an hour lets second-guessing set in.

Template 2: Confirmation Pending (Send at 2 Hours if No Reply)

If the customer hasn't replied YES or your team hasn't verified the order through another channel, you need a nudge that feels more human and less automated.

Template:

Hi [Name], we're about to ship your order #[Order ID] — [Product]. Just need a quick YES to confirm. If we don't hear back by [Time], we'll hold your order. Reply CANCEL anytime if you've changed your mind.

Why it works: Loss aversion. "We'll hold your order" signals that something is at stake, which is a stronger motivator than "please confirm." It also sets a soft deadline, which forces a decision.

Don't auto-ship unconfirmed orders in high-RTO markets. One unshipped order costs you nothing. One shipped-and-returned order costs you the full round-trip.

Template 3: Out for Delivery (Send the Morning of Delivery)

This is the one most merchants get wrong. They send "Your order is out for delivery" and nothing else. That's useful information — but it's not the full job.

Template:

Hi [Name], your order #[Order ID] is out for delivery today. Our courier will reach you between [Time Window]. Please keep [Amount] cash ready. Driver: [Name], [Phone]. Reply RESCHEDULE if you won't be available.

Why it works: Three things. First, "keep cash ready" tells the customer exactly what to prepare — a surprising number of failed deliveries happen because the customer can't find the exact change. Second, sharing the driver's name and number builds trust and gives the customer a way to communicate. Third, offering reschedule upfront is cheaper than a failed delivery attempt.

If the customer replies RESCHEDULE, that's a win, not a loss. A rescheduled delivery succeeds far more often than a second attempt on the original day.

Template 4: Delivery Attempt Failed (Send Immediately After)

Most merchants let the courier retry blindly and hope for the best. That's how an order dies. You have a short window — often less than 24 hours — before a failed delivery becomes a permanent RTO.

Template:

Hi [Name], we tried to deliver order #[Order ID] today but couldn't reach you. Would you like to reschedule? Reply with a date: TOMORROW, THURSDAY, or CALL to speak to us. We'll hold your order for 3 days before returning it.

Why it works: You're giving three clear reply options instead of an open question. Specific choices get specific answers. Open questions get silence. The three-day holding period is honest — it sets the customer's expectation that inaction has a consequence.

When you get the reply, confirm the new slot with another short SMS. Don't assume the courier will handle it.

Template 5: Reschedule Confirmed (Send When the New Slot Is Set)

A rescheduled delivery is fragile. The customer has already failed once. The second attempt needs to be wrapped in more certainty than the first.

Template:

Hi [Name], your order #[Order ID] is rescheduled for [Day], between [Time]. Please keep [Amount] cash ready and make sure someone is home. Driver will call 30 min before arriving. Reply CHANGE if this won't work.

Why it works: It reaffirms the commitment, repeats the cash amount, and introduces a pre-arrival call. Most second-attempt failures happen because the customer forgot about the reschedule. A 30-minute heads-up call ties the delivery directly to the customer's next 30 minutes, which is much harder to miss.

The Rules That Apply to All Five

Templates are a starting point, not a finish line. A few rules make the difference between a template that works and one that gets ignored:

  • Use the customer's language. In markets where Arabic, Urdu, Hindi, Bahasa, or French is the first language, English templates underperform badly. Translate and localize — don't just run Google Translate and ship.
  • Keep it under 160 characters when possible. Longer messages split into multiple SMS units. You pay more and delivery reliability drops, especially on basic phones in emerging markets.
  • Always include the order number and amount. Customers on multiple platforms need to know which order you're talking about. Vague messages get ignored.
  • Name your brand in the first line. Some carriers strip sender IDs. If the customer doesn't know who you are, they won't read the message.
  • Ask one question per message. A single clear reply path — YES, CANCEL, RESCHEDULE — converts far better than "let us know what works."

Automating the Whole Sequence

Five messages per order sounds like a lot. It is — if you're sending them manually. Most COD merchants who run this playbook automate the full sequence so the right message fires at the right trigger: order placed, no reply at two hours, out for delivery, delivery failed, reschedule set. Merchants who want to push further often pair SMS with WhatsApp — see how to automate COD confirmation with WhatsApp bots for the companion playbook.

If you're running COD through Shopify, EasySell's order form includes built-in SMS and WhatsApp integration for order confirmation and OTP verification, so the first template can fire the moment the order is placed and verification can happen before the order ever ships. That's the moment where most RTO reduction actually happens — before the package leaves your warehouse.

What Happens When You Actually Do This

Merchants running a full five-touch SMS sequence typically see their RTO rate drop by a third within the first month. The bigger win isn't the RTO number itself — it's the margin recovery. If you were profitable at a 30% RTO, you'll be meaningfully more profitable at 20%. Every percentage point of RTO you reclaim goes straight to the bottom line because the shipping, packaging, and handling costs are already sunk.

Pick the template that matches the weakest point in your current flow. If your confirmation message is just a receipt, replace it today with Template 1. If you have no out-for-delivery message, add Template 3 this week. You don't need to implement all five at once. You need to fix the one that's costing you the most.