A customer pays for an order at 11 pm and expects one thing: proof that something is happening. On WhatsApp that proof has to survive Meta's template review, which is stricter about wording than most store owners expect.
The short answer: WhatsApp order updates are sent as pre-approved utility templates with specific order details and no promotion, to customers who opted in. AI helps with the drafting and with checking drafts against the rules, but it can't approve anything. Meta decides. This post sets out the rules from Meta's own pages (read on 2026-10-09), a small linter I ran, and prompts to draft templates your reviewer-self would approve.
What are the rules for WhatsApp order updates?
From Meta's documentation (the pricing page and template guidelines were read directly; the policy page was read through a summarising fetch, so check exact wording):
- Templates reach customers any time; free-form messages don't. The pricing page says template messages can be delivered at any time. Non-template messages can only be sent in an open 24-hour customer service window, which opens and resets with each user message. Businesses can't use non-template messages to reach out first.
- Three template categories: marketing (promotional), utility (transactional or informational), authentication (identity verification). Meta says only authentication templates can carry one-time passcodes.
- Utility has two tests. It must be non-promotional, and it must be specific to or requested by the user (clearly related to their order, account, services or transactions), or essential to them.
- Order management is a named utility use. Meta's examples cover order confirmed, shipped with tracking, backordered item, and refund processed. Its guidance says these messages should not promote, recommend, upsell or cross-sell, include offers, or try to secure renewals.
- Mixed content becomes marketing. An order update with a promo is marketing. So are templates whose contents are unclear, such as one that is only a variable or "Congratulations!".
- Abandoned-cart reminders are marketing. Meta lists "You left items in your cart" under retargeting, and says retargeting is marketing even if the user requested it.
- Miscategorising has consequences. If you select utility and Meta decides it is marketing, it is approved as marketing (since April 2025, per the guidelines). Repeated misuse can lead to warnings and restrictions, including utility templates being recategorised as marketing and caps on utility volume.
Do customers have to opt in?
Yes. Meta's policy page (as summarised) says businesses may contact people only if they have provided a number and opt-in permission, and that the business is solely responsible for the opt-in method and for the notice and permission requirements of applicable law. It recommends a separate opt-in per message category and clear opt-out instructions, and says opt-outs must be honoured. The pricing page repeats that you can only send messages to users who have opted in.
What that means at checkout, as a suggestion rather than legal advice:
- A tick box that's off by default, worded as "Send my order updates on WhatsApp", stored with a timestamp.
- Marketing consent separate from order-update consent.
- A way to stop: reply STOP, or a link in your account page.
- Honour a stop request for both categories.
For Indian data and consent requirements, read our DPDP checklist for AI app developers as a starting point and ask a professional. I haven't verified how Indian rules apply to your store.
What does it cost?
Meta's pricing page says it charges per delivered message, by category and by the country of the recipient's number, and only for messages from businesses to users. It lists free cases, including all message types in a free entry point window (for example a customer messaging you from a click-to-WhatsApp ad). The page is dated 30 September 2026 and lists changes effective 1 October 2026 under "Charging for messages that were previously free": utility messages sent inside an open customer service window, free since 1 July 2025, are now charged like other utility messages, and service messages (free-form replies in the window) get a free tier of 1,000 per business phone number per month. So do not budget for "free" order updates just because the customer messaged you first. One caution: on 2026-10-09 a plain-text rendering of the same documentation, fetched without a browser user agent, still said utility templates inside an open window are free and carried an older rate-card section. The browser-rendered page dated 30 September 2026 is the one that lists the change, but the two disagree, so confirm in your own account's billing before you budget. The page also lists a fifth category, Meta Business Agent, billed per token; this post does not cover it. India is on the rate card in INR, but the figures are in downloadable CSVs I couldn't read in this session. Download the INR list rates from Meta's pricing page and add your provider's markup before modelling costs. Billing details for India have their own transition dates on that page, so read them if you send directly.
How do you actually send them from a Shopify store?
Meta's Cloud API takes the templates; something has to call it. Typical routes are a business solution provider, a Shopify app that talks to WhatsApp, or your own code. I didn't evaluate any provider or Shopify app for this post, so I'm not recommending one. If you want to build the plumbing yourself, our WhatsApp bot with Claude and Twilio tutorial shows one way to wire an assistant to WhatsApp, and the OpenClaw WhatsApp setup shows another. Neither is a replacement for template approval. If you're still setting up the store side, start with Shopify India payments with Razorpay, UPI and COD.
A template linter you can run
I wrote a small script that checks drafts against the published utility rules: no promotional words, at least one variable, sequential variables, enough fixed text, order or delivery wording. It is a heuristic. It can't predict Meta's decision, and its word list is mine. I ran it on five sample drafts:
ok_confirm: PASS
ok_shipped: PASS
promo_mixed: FLAG
- promotional words: off, code
vague: FLAG
- too little fixed text (Meta treats unclear content as marketing)
- no order/delivery wording
cod_confirm: PASS
The core of it (the full script has a slightly longer word list, and the output above is from running it):
import re
PROMO = ["off", "discount", "sale", "offer", "coupon", "code", "save", "deal",
"recommend", "also like", "buy again", "reorder", "upgrade",
"limited time", "festive", "diwali", "new arrival", "refer", "review us"]
def lint(text):
problems = []
low = text.lower()
hits = [w for w in PROMO if re.search(r"\b" + re.escape(w) + r"\b", low)]
if hits:
problems.append("promotional words: " + ", ".join(hits))
vars_ = re.findall(r"\{\{(\d+)\}\}", text)
if not vars_:
problems.append("no variables")
nums = sorted(int(v) for v in vars_)
if nums != list(range(1, len(nums) + 1)):
problems.append("variables not sequential from {{1}}")
fixed = re.sub(r"\{\{\d+\}\}", "", text).strip()
if len(fixed.split()) < 5:
problems.append("too little fixed text")
if not re.search(r"\border\b|\bpackage\b|\bshipment\b|\bdelivery\b", low):
problems.append("no order/delivery wording")
return problems
Passing the linter means "no obvious rule break", nothing more. The category is Meta's call. Notice that cod_confirm ("please confirm your cash on delivery order... Reply YES") passes my linter, and Meta's order-management category does include "confirm, update, or cancel an order", but I can't know how Meta would categorise a Reply YES/NO message. Submit it and see what category comes back. Our COD vs prepaid messaging post covers what to say in these messages.
Prompts for drafting order-update templates
Both prompts are untested templates. Review the output before you submit anything.
Draft the set.
You are drafting WhatsApp UTILITY message templates for an Indian online
store. Rules, from Meta's published guidelines:
- Non-promotional: no offers, discounts, codes, recommendations, upsell,
cross-sell, review requests or festive greetings.
- Specific to the customer's order: use numbered variables {{1}}, {{2}}...
for order number, courier, tracking ID, delivery date, amount.
- Plain, short, under 60 words, no emoji.
Write templates for these events: order confirmed, shipped with tracking,
out for delivery, delivery attempted and failed, refund processed,
item backordered. For each, list what each variable means and an example
value (clearly fictional).
STORE FACTS: [BRAND NAME, SUPPORT CONTACT, WHAT YOU ACTUALLY DO ON EACH EVENT]
Review a draft as a strict reviewer.
Act as a strict reviewer applying these rules: a utility template must be
non-promotional and must relate to the customer's order, account or
transaction. Mixed content or unclear content counts as marketing.
Review the template below. Say "likely utility" or "likely marketing"
and quote the exact words that decide it. You can't know Meta's actual
decision, so end with the one change most likely to avoid reclassification.
TEMPLATE: [PASTE]
Keep the reviewer prompt's verdict as advice. Meta decides, and your account's history can matter.
Where order updates go wrong
- Promo creep. Marketing asks to add "a 10% code for next time" to the shipped message. That turns it into a marketing template, which has different rules, opt-in expectations and pricing.
- Fake specifics. The model invents a courier name or delivery estimate in the sample values. Replace with your real couriers and check the variable sources in your system.
- Silent opt-in. Imported contact lists with no recorded consent. Don't.
- No human route. Meta's policy says automated replies in the window need a clear escalation path such as a human agent, phone, email or web support. Put your support contact in the template or the reply flow.
- Sensitive details. Don't include more address or payment detail than the customer needs. Meta's policy also says not to share full payment card numbers.
What to do this week
- Add a consent tick box and store the timestamp.
- Write five utility templates with the prompt above, run the linter, then read each one aloud as a customer.
- Submit them and record the category Meta assigns.
- Download the INR rate card and cost a month of orders.
- Keep marketing templates (cart reminders, festive offers) in a separate category with separate consent. The email and SMS prompts post has the flow structure.
When to skip WhatsApp
If your orders are a handful a week, email and SMS from your store platform may be enough. If you can't record consent or offer a human fallback, don't start. And if you can't spare time to monitor delivery failures and template rejections, an unattended channel will annoy customers faster than it helps them.



