The 10 Transactional Messages Your D2C Brand Owes Buyers
- 1. Order confirmation Fires within sixty seconds of order creation.
- You can size this without guessing. Pull ninety days of tickets tagged as order status.
- Email is the record of truth. Full detail, itemised, permanent, and the only channel you actually own.
Most Indian D2C brands treat transactional messaging as plumbing. Something the storefront platform or the courier aggregator emits on its own. Nobody owns it. Then the support queue fills with one question, asked ten thousand different ways: where is my order.
On most brands we work with, order status contacts are the single largest support category. Frequently forty to sixty percent of inbound volume across chat, email and calls. Almost none of it is a real problem. It is a customer who was never told something they were owed.
The fix is not a smarter helpdesk or a better macro library. It is a complete transactional set, fired on time, carrying the right payload. There are ten messages. Most brands send five.
The ten messages a buyer is owed
1. Order confirmation
Fires within sixty seconds of order creation. It must carry the order number, line items with quantity, amount paid or amount payable on delivery, payment method, the shipping address exactly as the customer entered it, and an expected delivery window. That address echo is the cheapest return to origin prevention you will ever deploy. A buyer who fat fingered a pin code catches it here or does not catch it at all. Channel: email for the full record, short SMS for the acknowledgement.
2. Payment confirmation
Separate from order confirmation whenever settlement is asynchronous. UPI collect, netbanking and EMI all resolve after the order object exists. It must carry the transaction reference, amount, instrument and timestamp. Skip this and you generate the second largest ticket type in Indian commerce: money debited, no order visible.
3. Dispatch
Carries the courier name, the tracking number, a tracking link, and a delivery estimate that is either the same as the one promised at checkout or explicitly revised. If dispatch is the first time a date appears, you have already lost the thread.
4. Out for delivery
Sent the morning of the attempt. Carries the amount to keep ready for cash on delivery orders, the rider contact if your partner exposes it, and a reschedule path. This single message moves first attempt success rates more than any courier switch.
5. Delivered
Confirms receipt with a proof reference, and starts the returns clock explicitly. State the window start and end dates in the message. Ambiguity here becomes a dispute later.
6. Delay
Triggered by a service level breach, not by the customer asking. It must state a new expected date and, past a threshold you define, offer cancellation. A proactive delay message costs one send. A reactive one costs a ticket, a refund request, and often the relationship.
7. Failed delivery attempt
Translate the courier reason code into human language. Customer unavailable, address not found, payment not ready. State how many attempts remain and give exactly one action: confirm the address or pick a reattempt date. Silence between attempts is where cash on delivery orders die and return to origin costs are born.
8. Return received
Acknowledges physical receipt at the warehouse or the quality check gate. This is not the same message as a refund. The customer has two separate anxieties, do you have it and did you pay me, and collapsing them into one send doubles your follow up contacts.
9. Refund initiated
Amount, destination instrument, reference number, and an expected credit window with an honest note that bank posting times vary. Give the reference number. Without it the customer cannot ask their bank anything useful, so they ask you instead.
10. Refund completed
Fires on settlement confirmation from the gateway, not on your internal status change. This is the message brands skip most often and the one that generates the highest volume of repeat contacts when missing.
What a missing message actually costs
You can size this without guessing. Pull ninety days of tickets tagged as order status. Map each one to the order stage it was raised at. Divide by the number of orders that passed through that stage in the same period. You now have a contact rate per stage.
Any stage sitting above roughly two percent is a messaging gap, not a service gap. We routinely find failed delivery attempt and refund completed running at five to twelve percent. Those two gaps alone can be a third of your support headcount. The economics are blunt. A transactional send costs paise. A ticket costs a person several minutes plus the resolution.
Channel fit without overthinking it
Email is the record of truth. Full detail, itemised, permanent, and the only channel you actually own. Every one of the ten should exist as an email. SMS is for time critical and short: dispatch, out for delivery, failed attempt, delay. Push only works if the app is installed and notification permission was granted, which is a smaller set than your install count suggests. WhatsApp has its own economics and rules, which we cover separately on this site.
On SMS in India, sender identity, entity registration and template approval sit on the distributed ledger framework operated through the telecom operators. Transactional content follows a different approval path from promotional content, and misclassification gets traffic scrubbed. The rules and the commercial terms change, so confirm current requirements with your provider and your registered operator before you build the template library rather than trusting a blog post, including this one.
Sequencing, suppression and one source of truth
Order state must live in one system. If the courier webhook and your order management system disagree, the customer receives a delay notice and a delivered notice within the same hour and stops trusting all of it. Pick the authoritative source per stage and let the messaging layer read only from it.
Apply basic collapse rules. Never send two status messages inside thirty minutes. Suppress promotional sends entirely while an order is in an unhappy state, meaning delayed, failed, or in refund. Nothing reads worse than a festive offer landing on the day a refund is stuck.
The audit that takes one afternoon
Place real test orders. One prepaid, one cash on delivery, one from a metro pin code, one from a tier three pin code. Trigger a delay by holding a shipment. Force a failed attempt. Run one return end to end. Log every single message you receive, on every channel, with timestamps.
Then map what you received against the ten above. The gaps are your roadmap, ordered by the contact rate you calculated earlier. Most brands close six of ten gaps in a fortnight and watch their largest support category shrink by a third. That is not a growth tactic. It is basic hygiene that most of the market has not done.