ZupiChat
Product
Home Features Pricing
Solutions
Real Estate Healthcare Education E-commerce Agency Program
Resources
Blog Free Tools Case Studies Help Center Developer API Changelog
Compare
vs WATI vs AiSensy vs Interakt
Start Free Login to Dashboard Refer & Earn 20% Commission

WhatsApp Message Templates

  • 06 Sep, 2026

WhatsApp Message Templates

On the WhatsApp Business API, any message your business starts outside the 24-hour customer service window has to use a pre-approved template. You write the template, pick a category (marketing, utility or authentication), add sample values for every variable, and submit it to Meta for review. Most rejections are not mysterious — they come from the wrong category, missing or vague examples, or promotional wording inside a utility template. This guide shows you how to write templates that pass the first time, and how to fix the ones that do not.

Key takeaways
  • Templates are only needed for business-initiated messages. Inside the 24-hour window opened by a customer reply, you can send free-form messages without a template.
  • Category is the single biggest cause of rejection and re-categorisation. If the message would still be sent when the customer had bought nothing, it is marketing — not utility.
  • Every variable needs a realistic sample value. “Rahul” and “#ZC-4821” get approved; “xyz” and “text” get rejected.
  • Never start or end the body with a variable, never stack two variables together, and never use ALL CAPS or “!!!” to create urgency.
  • A rejected template is not dead — edit it and resubmit. But repeated violations and low-quality sends drag down your number’s quality rating.

Why templates exist at all

WhatsApp is not email. Meta built the Business API around one core idea: the customer controls the conversation. When a customer messages you, a 24-hour customer service window opens and you can reply with anything — plain text, images, documents, voice notes, whatever your agent types in a shared inbox. No approval, no template.

The moment you want to reach out first — a delivery update, an abandoned cart nudge, a Diwali offer, a login code — you are outside that window, and Meta requires a template that a reviewer has already seen and approved. This is the mechanism that keeps WhatsApp from turning into SMS spam, and it is why WhatsApp open rates in India still sit far above every other channel. The friction is the feature.

Practically, this means every business running WhatsApp at scale maintains a small library of approved templates: order confirmations, shipping updates, appointment reminders, payment links, OTPs, and a handful of promotional formats. In ZupiChat you build and submit these from the dashboard, and approved templates then become available to your broadcasts, chatbot flows and agent replies. If you are still working out how broadcasting itself works, our guide to WhatsApp broadcast messaging covers the sending side; this article is about getting the message approved in the first place.

The three template categories

Meta classifies every template into one of three categories. Getting this right matters twice: once for approval, and again for your bill, because categories are priced differently. Authentication and utility conversations are cheaper than marketing in India, so mislabelling a promo as a utility message is treated as a pricing issue, not just a content one — which is exactly why reviewers look at it closely.

CategoryWhat it is forExample messageWatch out for
MarketingOffers, product launches, festive campaigns, re-engagement, newsletters, anything designed to create demand.“Hi {{1}}, our monsoon sale is live — flat 25% off on all footwear till Sunday. Tap below to shop.”Needs opt-in, costs the most per conversation, and is the first thing users block or report if overused.
UtilityMessages tied to a specific transaction or existing order: confirmations, dispatch and delivery updates, payment status, appointment and renewal reminders.“Hi {{1}}, your order {{2}} has been dispatched and will reach you by {{3}}. Track it here.”One promotional line — even “check out our new arrivals” — can flip the whole template to marketing.
AuthenticationOne-time passcodes and verification codes for login, signup, password reset or transaction approval.“{{1}} is your verification code. For your security, do not share this code.”Strictly the code and standard security wording. No branding pitch, no links, no extra offers alongside the OTP.

A simple test settles most category arguments: would this message still be sent if the customer had never bought anything? If yes, it is marketing. A delivery update only exists because an order exists — that is utility. A “we miss you, here is 10% off” message exists regardless of any order — that is marketing, no matter how politely it is written.

Also worth knowing: Meta can re-categorise a template after approval if the content clearly belongs elsewhere. Deliberately dressing up promotions as utility to save money is a short-lived trick, and it is much cheaper to simply understand what each category costs. We break the numbers down in our explainer on WhatsApp Business API pricing in India.

Anatomy of a template

A template is not just a paragraph of text. It has structured parts, and using them well is what makes the difference between a message that looks like a system notification and one that looks like it came from a real business.

Header (optional)

A short line of text, or a media header — image, video or document. Text headers can carry a variable, which is useful for order IDs or event names. Media headers work well for catalogue drops, invoices and tickets. Keep text headers short; they are a label, not a sentence.

Body (required)

This is the actual message. Supports variables written as {{1}}, {{2}}, and so on, plus basic formatting like bold and italics. This is where almost every rejection happens, so treat it as the part that deserves real editing time.

Footer (optional)

A small grey line under the body. Use it for the boring-but-necessary things: “Reply STOP to opt out”, “This is an automated message”, or your business name. Footers cannot contain variables.

Buttons (optional)

Two families. Quick reply buttons send a predefined text back to you — perfect for “Yes, confirm” / “Reschedule” / “Talk to an agent”, and they pair beautifully with a chatbot flow that catches the reply. Call-to-action buttons open a URL or dial a phone number. Buttons dramatically lift response rates because the customer does not have to type anything, and in ZupiChat a quick-reply tap can route the conversation straight into your shared team inbox.

Formatting rules that actually get enforced

  • Do not start or end the body with a variable. A message that begins with {{1}} gives the reviewer no context about what the message says. Wrap it: “Hi {{1}}, ...”.
  • Do not place two variables next to each other, like {{1}} {{2}}. Put real words between them so the sentence reads naturally.
  • Number variables in order, starting at {{1}}, with no gaps. Skipping from {{1}} to {{3}} is an instant error.
  • Give every variable a sample value. This is mandatory and it is the most common lazy mistake. Samples should look like real data.
  • Avoid ALL CAPS and repeated punctuation. “HURRY!!! LAST CHANCE!!!” reads as spam to a reviewer and to a customer.
  • Never ask for sensitive data. No card numbers, no CVV, no passwords, no OTP asked back from the user, no full ID numbers in the message body.
  • Keep the body tight. Long templates are harder to approve and much harder to read on a phone. Two to four short lines is the sweet spot.
  • Match language to content. If you submit a Hindi template, tag it as Hindi. Mixed Hinglish is fine in practice, but pick the language that reflects the majority of the text.

How to create and submit a template in 6 steps

  1. Decide the trigger first, then write. Before you type a word, name the exact event: “order shipped”, “payment failed”, “demo booked”. Templates written for a specific moment are always more natural than generic ones.
  2. Pick the category honestly. Apply the test above. If the message contains both a transactional update and an offer, split it into two templates rather than gambling on one.
  3. Write the body in plain language. Write it as if you were a person messaging a customer, then insert variables where the data changes. Say the specific thing — “your table for 4 at 8:30 PM” beats “your booking”.
  4. Add the header, footer and buttons you actually need. Do not add a media header just because the field exists. Every extra element is another thing a reviewer can question.
  5. Fill in realistic sample values. Use a real-looking name, a real-looking order ID, a real date format. Make sure the sample values make the full message read as a coherent sentence when substituted in.
  6. Submit and track the status. In ZupiChat you create and submit the template from the dashboard and watch its status move from pending to approved or rejected. Review is typically quick, but do not build a campaign launch around the assumption that it will be instant — submit a day or two ahead of a festive push.

Once approved, the template becomes a reusable asset. You feed it a contact list and variable values, and it goes out at scale. That workflow — template library, contact segments, broadcast, then replies landing in one shared inbox — is the core of what a WhatsApp CRM does, and it is worth comparing how different tools handle it before you commit. Our roundup of the best WhatsApp CRM software for Indian businesses goes through the trade-offs.

Common rejection reasons and how to fix them

Rejections are almost always fixable, and the reason is usually one of a handful of recurring patterns. Here is what actually goes wrong and what to change.

Rejection reasonWhat it looks likeHow to fix it
Wrong categoryA discount announcement submitted as utility, or a re-engagement message filed under transactional updates.Resubmit as marketing, or strip every promotional word so the message is purely about an existing order.
Missing or meaningless sample valuesVariables left blank, or filled with “abc”, “test”, “123”, “name”.Use production-realistic data: “Priya”, “ORD-90214”, “18 Aug, 6 PM”, “₹1,499”.
Variable placement errorsBody starts or ends with a variable, two variables sit side by side, or numbering has gaps.Rewrite the sentence so text surrounds every variable, and renumber sequentially from {{1}}.
Vague or generic wording“Hi {{1}}, click here for details.” The reviewer cannot tell what the message is about.State the purpose explicitly in the body — what happened, what the customer should do, and why now.
Spammy or misleading copyALL CAPS, “!!!”, fake urgency, unverifiable claims like “guaranteed returns” or “you have won”.Use sentence case, drop the exclamation marks, and make every claim something you could defend in writing.
Requesting sensitive informationAsking for card details, CVV, passwords, OTPs or full identity documents over chat.Remove the request entirely. Send a secure link to your own verified page instead of collecting data in chat.
Prohibited contentCategories WhatsApp does not permit, or claims that fall foul of commerce and health policies.Check the message against WhatsApp’s commerce policy before resubmitting — some content cannot be templated at all.
Broken or mismatched buttonsA CTA button pointing to a dead URL, or button text that does not match where it leads.Test every link before submitting and label buttons for what they actually do: “Track order”, not “Click here”.

Rewriting a rejected template: a worked example

Submitted as utility, rejected: “{{1}} HURRY!!! Your order is out for delivery and we have a SPECIAL OFFER just for you — click now!!!”

Four problems in one line: it opens with a variable, it uses caps and stacked exclamation marks, it mixes a delivery update with a promotion, and “click now” tells the reviewer nothing about the destination.

Rewritten as utility, approved: “Hi {{1}}, your order {{2}} is out for delivery and should arrive today by {{3}}. Our delivery partner will call you on the registered number.” Footer: “Sent by Zupi Traders”. Button: Track order.

The offer does not disappear — it becomes a separate marketing template sent to customers who have opted in, at a time when they are not waiting on a delivery. Two clean templates outperform one confused one, and both get approved.

Quality rating: the thing nobody thinks about until it bites

Approval is only the first gate. After a template starts sending, WhatsApp watches how people respond to it. Blocks and “report” taps push your number’s quality rating down, and a persistently low rating restricts how many people you can message. Repeated policy violations compound the problem.

The defences are unglamorous but effective: send to people who genuinely opted in, keep marketing frequency low, make opting out easy and honour it immediately, and retire templates that consistently underperform. Watch delivery and read data per template rather than in aggregate — one badly-worded promo can quietly poison the number that also carries your OTPs and delivery updates.

Where ZupiChat fits

ZupiChat is a CRM built in India by Codelith Lab on the official WhatsApp Business API. You create templates, add variables and sample values, and submit them for approval directly from the dashboard — then use the approved ones in broadcasts, chatbot flows and agent conversations without switching tools.

Paid plans start at ₹999/month for Growth, which includes three WhatsApp numbers, three agents, a no-code chatbot builder, broadcasts and a shared team inbox. Enterprise is ₹2,499/month with unlimited agents. There is a free Starter plan, setup usually completes in under 24 hours, pricing is in INR, and support is available in Hindi and English — which matters more than it sounds when you are trying to work out why a template got rejected at 9 PM before a campaign.

Frequently Asked Questions

Do I need a template for every WhatsApp message I send?

No. Templates are only required for business-initiated messages sent outside the 24-hour customer service window. When a customer messages you first, that window opens and your agents can reply freely with text, images or documents for the next 24 hours. Templates are what let you start a conversation, not continue one.

How long does WhatsApp template approval take?

Review is usually fast, and many templates come back within a short time of submission. But there is no guarantee attached to any single submission, and volume or content sensitivity can slow things down. The practical advice is to submit templates a day or two before you need them, especially ahead of festive campaigns when everyone is submitting at once.

Can I edit a template after it is approved?

Templates can be edited, and any edit sends the template back through review. Rejected templates can also be corrected and resubmitted rather than rebuilt from scratch. Keep in mind that heavy editing of a live template affects anything already referencing it, so for a significantly different message it is usually cleaner to create a new template.

Why was my utility template changed to marketing?

Because the content read as promotional. Adding a discount code, a cross-sell line, or a nudge to browse new products inside an order update moves it into marketing, even if the message also contains real transactional information. The fix is to keep utility templates strictly about the transaction and send anything promotional as a separate marketing template.

What sample values should I use for variables?

Use values that look exactly like your real production data. A name should be a name, an order ID should follow your actual format, a date should be a real date, an amount should include the currency. Placeholders like abc, test or 123 signal that you have not thought about the message, and are a frequent reason for rejection.

Build, submit and send templates from one dashboard

Official WhatsApp Business API, Indian pricing, setup in under 24 hours.

Start free on the Starter plan

Behind ZupiChat is Codelith Lab, a Pune-based product and services company building web, mobile and automation tools for Indian businesses.

More Blogs

WhatsApp Shared Team Inbox

Run WhatsApp support with many agents on one number: queues, routing, SLAs and the 24-hour window. P...

  • 06 Sep, 2026
Common WhatsApp API Errors and How to Fix Them

Template rejected, message not delivered, 24-hour window closed, error 131047 and 132000 explained i...

  • 07 Sep, 2026
How to Switch WhatsApp CRM Providers

Migrating your WhatsApp Business API number to another platform: what actually moves, what does not,...

  • 08 Sep, 2026
WhatsApp Chatbot vs Live Agent

The handover rule is what separates a chatbot that saves money from one that loses customers. Six tr...

  • 09 Sep, 2026
WhatsApp CRM for Furniture and Decor Stores

Long consideration cycles, catalogue sharing, showroom follow-ups and delivery updates. How furnitur...

  • 10 Sep, 2026
WhatsApp CRM for Recruitment and HR Teams

Candidates ignore calls and emails but reply on WhatsApp. How recruiters use a WhatsApp CRM for scre...

  • 11 Sep, 2026

We may utilize cookies when you access our website, including any related media platforms or mobile applications. These technologies are employed to enhance site functionality and optimize your interactions with our services.