Every D2C founder learns the same lesson: the order does not end at checkout. Between payment and doorstep there are five to seven moments when your customer wonders what is happening, and if you do not tell them, they will ask, on every channel at once. Below is the complete order tracking pack for WhatsApp: ten templates you can paste into any Business API platform today, with variable mappings, category labels, timing guidance and the approval tips that get them past Meta review first time.
Why send order updates on WhatsApp instead of SMS or email?
Because that is where your customer already is. India has 596 million-plus WhatsApp users (Statista, 2024) and 80% of Indian SMBs call WhatsApp essential to their business (Meta survey). Order emails fight low open rates, and SMS is one-way and link-hostile; a WhatsApp utility message lands in a thread the customer can actually reply to.
The operational case is WISMO. When every state change reaches the customer before they think to ask, the "where is my order" tickets that clog your support inbox drop sharply: brands running proactive WhatsApp status updates report 40-60% fewer of them. At ₹0.1150 per utility message, the entire five-message journey costs less than one rupee per order, a fraction of what a single support call or agent reply costs you.
Which category do order tracking templates use: utility or marketing?
Utility, for nine of the ten below. Meta's rules are simple: a template about a transaction the customer initiated (their order, their delivery, their payment) is utility, billed at ₹0.1150 in India; anything promotional is marketing at ₹0.8560, roughly 7.4 times more. The one marketing template in this pack is the review request, which is why it carries opt-out language and the others do not.
The trap to avoid: Meta categorises by content, not by the label you pick at submission. One discount code or upsell line inside your "shipped" template and it gets approved as marketing, silently multiplying your per-order messaging cost. Keep status templates strictly transactional; the full rate maths is in our WhatsApp API pricing comparison for India.
The 10-template order tracking pack
Replace the sample brand with yours, submit each with realistic sample values, and keep the wording boring in the best way: clear, transactional, reply-friendly. Every template starts and ends with static text (Meta rejects bodies that begin or end with a variable) and uses sequential {{1}}, {{2}} numbering.
1. Order confirmed
Category: Utility · Send: within two minutes of checkout · Variables: {{1}} first name, {{2}} order ID, {{3}} brand, {{4}} item summary, {{5}} amount, {{6}} payment mode, {{7}} order-status link
Hi {{1}}, thank you for your order!
Order #{{2}} from {{3}} is confirmed.
Items: {{4}}
Total: ₹{{5}} ({{6}})
We will message you here the moment it ships. You can track it anytime at {{7}} or simply reply to this chat.
2. COD order confirmation
Category: Utility · Send: immediately, COD orders only · Variables: {{1}} first name, {{2}} order ID, {{3}} amount, {{4}} delivery address
Hi {{1}}, one quick check before we pack your Cash on Delivery order.
Order #{{2}} | Amount payable: ₹{{3}}
Deliver to: {{4}}
Please reply CONFIRM to approve, or CANCEL if you did not place this order. Confirmed orders ship first.
With India's COD RTO running 25-35%, this single template is the highest-ROI message in the pack. Use quick-reply buttons instead of typed replies where your platform supports them; see our COD verification flow, which cuts RTO 30-45%, and the step-by-step COD guide.
3. Order packed
Category: Utility · Send: on fulfilment, before courier pickup · Variables: {{1}} first name, {{2}} order ID, {{3}} courier partner, {{4}} expected dispatch date
Hi {{1}}, your order #{{2}} is packed and ready for handover to {{3}}.
Expected dispatch: {{4}}
We will send your tracking link here the moment the courier scans it in. Nothing needed from you.
4. Shipped, with tracking link
Category: Utility · Send: on the courier pickup scan · Variables: {{1}} first name, {{2}} order ID, {{3}} courier, {{4}} AWB number, {{5}} expected delivery date, {{6}} live tracking link
Good news, {{1}}! Your order #{{2}} has shipped via {{3}}.
Tracking (AWB): {{4}}
Expected delivery: {{5}}
Track live: {{6}}
We will ping you again when it is out for delivery.
5. Out for delivery
Category: Utility · Send: morning of the delivery day · Variables: {{1}} first name, {{2}} order ID, {{3}} courier, {{4}} expected arrival window
Hi {{1}}, your order #{{2}} is out for delivery today with {{3}} and should reach you by {{4}}.
Please keep your phone reachable. Not available today? Reply RESCHEDULE and we will ask the courier to re-attempt tomorrow.
For COD orders, add a line stating the exact amount payable so the customer keeps cash or UPI ready; it measurably reduces doorstep refusals.
6. Delivered
Category: Utility · Send: within 60 minutes of proof of delivery · Variables: {{1}} first name, {{2}} order ID, {{3}} delivery time, {{4}} brand
Hi {{1}}, your order #{{2}} was delivered today at {{3}}. Thank you for shopping with {{4}}.
If anything is missing, damaged or not what you ordered, reply to this chat within 48 hours and a human will sort it out.
7. Failed delivery attempt (NDR recovery)
Category: Utility · Send: within 30 minutes of the NDR scan · Variables: {{1}} first name, {{2}} courier, {{3}} order ID, {{4}} failure reason, {{5}} hold period in days
Hi {{1}}, our courier partner {{2}} tried to deliver order #{{3}} today but could not complete it.
Reason on file: {{4}}
Reply 1 to re-attempt tomorrow
Reply 2 to update your address or phone number
Reply 3 to talk to our team
We will hold your order for {{5}} days before it returns to us, so one quick reply saves your delivery.
This is the template that rescues revenue. Every failed attempt you recover avoids a return-to-origin: forward shipping, reverse shipping and repacking, all sunk. Put your own numbers through the RTO savings calculator to see what a 30-45% recovery rate is worth monthly.
8. Address confirmation
Category: Utility · Send: before the parcel reaches the last-mile hub, or when the courier flags an incomplete address · Variables: {{1}} first name, {{2}} order ID, {{3}} address on file
Hi {{1}}, a quick check before order #{{2}} reaches your local delivery hub. We have your address as:
{{3}}
Reply YES if this is correct, or send the corrected address and a landmark as a normal message. Thirty seconds now prevents a failed delivery later.
9. Delay notification
Category: Utility · Send: as soon as the promised date slips, never after · Variables: {{1}} first name, {{2}} order ID, {{3}} delay length, {{4}} reason, {{5}} new expected date, {{6}} tracking link
Hi {{1}}, an honest update on order #{{2}}: it is running about {{3}} behind schedule because of {{4}}. The new expected delivery date is {{5}}.
No action is needed from you. Track it live at {{6}} and reply here if you would like to change anything.
10. Review request after delivery
Category: Marketing (opt-out required) · Send: 24-48 hours after delivery · Variables: {{1}} first name, {{2}} product name, {{3}} brand, {{4}} review link
Hi {{1}}, hope the {{2}} is treating you well! Would you rate your experience with {{3}}?
It takes 30 seconds and genuinely helps a small Indian business grow: {{4}}
Reply STOP to stop receiving messages like this.
Worth the marketing rate: WhatsApp review requests see 25-40% response rates versus 5-10% for email. Send once per order, honour STOP instantly.
How do the {{1}} variables map to your order data?
WhatsApp template variables are positional, not named: {{1}} is always the first value you pass at send time, {{2}} the second, and Meta requires realistic sample values when you submit. The practical work is mapping each position to a field in your order system, which the table below spells out for the whole pack.
| Template | Category | Send when | Variable mapping |
|---|---|---|---|
| 1. Order confirmed | Utility | Within 2 min of checkout | {{1}} customer.first_name · {{2}} order.number · {{3}} brand · {{4}} line_items summary · {{5}} order.total · {{6}} payment mode · {{7}} status URL |
| 2. COD confirmation | Utility | Immediately, COD only | {{1}} first_name · {{2}} order.number · {{3}} order.total · {{4}} shipping_address |
| 3. Order packed | Utility | On fulfilment event | {{1}} first_name · {{2}} order.number · {{3}} courier · {{4}} dispatch date |
| 4. Shipped + tracking | Utility | On courier pickup scan | {{1}} first_name · {{2}} order.number · {{3}} courier · {{4}} AWB · {{5}} ETA · {{6}} tracking URL |
| 5. Out for delivery | Utility | Morning of delivery day | {{1}} first_name · {{2}} order.number · {{3}} courier · {{4}} arrival window |
| 6. Delivered | Utility | Within 60 min of POD | {{1}} first_name · {{2}} order.number · {{3}} delivery time · {{4}} brand |
| 7. Failed attempt (NDR) | Utility | Within 30 min of NDR scan | {{1}} first_name · {{2}} courier · {{3}} order.number · {{4}} NDR reason · {{5}} hold days |
| 8. Address confirmation | Utility | Before last-mile hub | {{1}} first_name · {{2}} order.number · {{3}} address on file |
| 9. Delay notice | Utility | The moment the ETA slips | {{1}} first_name · {{2}} order.number · {{3}} delay · {{4}} reason · {{5}} new ETA · {{6}} tracking URL |
| 10. Review request | Marketing | 24-48 h after delivery | {{1}} first_name · {{2}} product · {{3}} brand · {{4}} review URL |
Categories per Meta's template guidelines as of July 2026. India rates (Jan 2026, ex-GST): utility ₹0.1150, marketing ₹0.8560 per message, per Meta's published rate card. Field names shown for a Shopify-style order object; map equivalents from your OMS or cart webhook.
How do I get these templates approved by Meta?
Meta's review typically completes in under 24 hours, and clean utility templates pass first time. The rejections we see almost always trace to one of these:
- Wrong category signals. No discount codes, "sale", upsells or cross-sells in utility templates; Meta recategorises by content and your ₹0.1150 message becomes ₹0.8560.
- Variables at the edges. A body cannot begin or end with a variable; every template above opens and closes with static text for exactly this reason.
- Non-sequential numbering. Use {{1}}, {{2}}, {{3}} in order, with no gaps and no adjacent variables without text between them.
- Missing sample values. Submit each variable with a realistic example ("Priya", "ORD-10482", "₹1,299"), not "test" or "xxx".
- Context-free bodies. Include your brand name so the message makes sense to someone who has forgotten they ordered; it also protects your quality rating.
- Marketing without opt-out. Any promotional template needs a working STOP mechanism; utility templates should not carry one.
What does WhatsApp order tracking cost per order?
Cheaper than any alternative you are using now. The five-message happy path (confirmed, packed, shipped, out for delivery, delivered) costs 5 × ₹0.1150 = about ₹0.58 per order ex-GST at Meta's exact rates. Add COD confirmation and an address check and you are near ₹0.81; the customer's replies inside the 24-hour service window cost you nothing extra.
The number that varies wildly is the markup your platform adds on top of Meta. InboxWA adds none: you top up a prepaid wallet billed at Meta's exact published rates, with no minimum, which is why the maths above is the maths you actually pay. Model your own order volume in the WhatsApp API pricing calculator, and see how we compare on the zero-markup WhatsApp API page.
How do I automate these messages end to end?
Pasting templates is step one; the win is firing them without a human. InboxWA ships an order tracking flow in its no-code builder: connect Shopify (live sync of orders, prices, stock and variants) or your own systems via webhooks and REST API, map each order event to a template, and the whole journey runs itself, including the NDR recovery branch. The same builder powers abandoned cart recovery and COD verification, so one integration covers your pre-purchase and post-purchase messaging.
Replies land in a shared team inbox with assignment, notes and SLA alerts and no per-seat fee, so when a customer answers "Reply 3 to talk to our team", a human actually picks it up with full context. Plans start at ₹999/month with AI included; full details on the pricing page.
Our verdict on order tracking templates
Ship the five core states first (confirmed, packed, shipped, out for delivery, delivered) as utility templates wired to order webhooks; that alone delivers the 40-60% WISMO reduction for about ₹0.58 per order.
Then add the money templates: COD confirmation and NDR recovery. With India's COD RTO at 25-35%, recovering even a fraction of failed attempts pays for your entire messaging stack. Keep the review request separate, marked marketing, with opt-out, and never let promotional copy leak into utility bodies.
Frequently asked questions
Are WhatsApp order tracking messages utility or marketing templates?
Every order status update in this pack (confirmed, packed, shipped, out for delivery, delivered, failed attempt) is a utility template, because it relates to a transaction the customer initiated. At Meta's January 2026 India rates that is ₹0.1150 per message ex-GST, versus ₹0.8560 for marketing. Only add-ons like review requests count as marketing and must carry opt-out language.
How much does WhatsApp order tracking cost per order in India?
The full happy-path journey (confirmed, packed, shipped, out for delivery, delivered) is five utility messages, about ₹0.58 per order at Meta's ₹0.1150 rate, ex-GST. Add a COD confirmation and an address check and you are still around ₹0.81. On InboxWA you pay exactly Meta's published rates with zero markup and no minimum top-up.
Can I send order updates to customers who have not messaged me first?
Yes. An approved utility template can open the conversation, provided the customer has opted in, which for order updates is typically collected at checkout. InboxWA keeps a per-contact opt-in consent ledger, aligned with India's DPDP Act, so you can prove consent if Meta or a customer ever asks.
How long does Meta take to approve order tracking templates?
Meta's template review typically completes in under 24 hours, and correctly categorised utility templates usually pass first time. The common rejection reasons are promotional wording inside a utility template, a variable at the very start or end of the body, non-sequential variable numbering, and missing sample values at submission.
What is WISMO and how much do these templates reduce it?
WISMO, short for 'where is my order', is the single biggest inbound query for most e-commerce support teams, commonly 30-50% of all tickets. Brands that move to proactive WhatsApp status updates at every stage report 40-60% fewer WISMO tickets, because customers see each state change before they think to ask.
Do these templates work with Shopify orders automatically?
Yes. InboxWA syncs with Shopify (orders, prices, stock, variants) and fires each template off order webhooks: order creation sends the confirmation, fulfilment events send the shipped and delivery updates, and courier NDR events trigger the recovery template. The variable mapping is point-and-click, with no code involved.
Why was my utility template rejected or recategorised as marketing?
Meta categorises templates by their content, not the label you pick. If a shipping update contains a discount code, an upsell line or promotional wording, it will be recategorised as marketing and billed at ₹0.8560 instead of ₹0.1150, roughly 7.4 times more. Keep utility templates strictly transactional and put offers in separate marketing templates with opt-out text.
Paste the pack, wire the webhooks, watch WISMO drop
Order tracking on the official API, billed at Meta's exact rates with zero markup. AI, flows and a team inbox from ₹999/month.