What are WhatsApp message templates?
WhatsApp message templates are pre-approved, reusable message formats that businesses must use when initiating conversations with customers. They're the foundation of all business-to-customer WhatsApp messaging at scale — every promotional campaign, transactional notification, OTP, and automated message is built on a template.
Templates are not the actual message text — they're the approved format. Once approved, the same template can be used thousands of times with different variable values filled in for each recipient. For example, a shipping template approved once can be personalised with each customer's name, order number, and tracking link.
When are templates required? Any time your business sends the first message in a conversation, or any message more than 24 hours after the customer's last message. Templates are not required when replying to a customer who messaged you within the last 24 hours — that's a service conversation where you can reply with any text.
Why does WhatsApp require pre-approved templates?
Template approval exists to protect users from spam. Without it, businesses could send any message to any opted-in number at any time — which would quickly erode the trust and open rates that make WhatsApp valuable as a business channel.
By requiring templates to be pre-approved by Meta, WhatsApp ensures:
- Businesses can't send prohibited content (misleading claims, adult content, etc.)
- Bulk messaging is structured and reviewable before it reaches customers
- Users have a baseline expectation of message quality from verified businesses
The tradeoff: you can't improvise messages in campaigns. But the system isn't onerous — most templates are approved in minutes, and once approved they can be used indefinitely.
Need help creating and submitting templates?WA.Expert manages template submission for all customers — typical approval in hours.
Contact Us →
Template categories and when to use each
Meta divides templates into four categories, each with different pricing and use cases:
- Marketing: Promotional messages — product launches, sales, offers, re-engagement campaigns. Highest conversation charge (~₹0.58 in India). Requires explicit opt-in from recipients.
- Utility: Transactional notifications triggered by a customer action — order confirmation, shipping update, appointment reminder, payment receipt. Lower charge (~₹0.14). Approved more easily than Marketing.
- Authentication: OTPs and verification codes only. Lowest charge (~₹0.12). Dedicated OTP format with copy-code button.
- Service: Replies to customer-initiated conversations within the 24-hour window. No template required. Cheapest rate (~₹0.29). Free for first 1,000 per month.
Category accuracy matters: Submitting a promotional message as Utility to get the lower charge is a policy violation. Meta's review system is designed to catch this. Repeated mislabelling leads to template suspension or account restrictions.
What is the structure of a WhatsApp message template?
Every template is composed of these optional and required elements:
- Header (optional): Appears at the top of the message. Can be text, image, video, or document. Text headers are limited to 60 characters. Media headers can include a sample file for Meta's review.
- Body (required): The main message text. Up to 1,024 characters. Can include variable placeholders ({1}, {2}, etc.), bold formatting (*text*), and italic formatting (_text_).
- Footer (optional): A small text note below the body — commonly used for "Reply STOP to unsubscribe" or business name. Limited to 60 characters.
- Buttons (optional): Up to 3 buttons. See button types below.
The body is the only required element. A valid template can be just body text with no header, footer, or buttons — though adding structure typically improves engagement.
How do template variables work?
Variables are placeholders in a template that get replaced with actual values when the template is sent. They're written as {1}, {2}, {3}, and so on, in the order they appear in the body.
Example template body: "Hi {1}, your order #{2} has been shipped via {3}. Track your delivery: {4}"
When sent to a customer: "Hi Priya, your order #45678 has been shipped via Delhivery. Track your delivery: [link]"
You provide the variable values via the API when sending the template — one set of values per recipient. This allows you to personalise a single approved template for thousands of recipients in the same campaign.
Variable rules:
- Variables must be filled in when the template is used — you cannot send a template with empty variables
- Variable content is not reviewed at approval time — Meta reviews the template structure; you supply actual values at send time
- Variable content must match the context suggested by the template — filling a "customer name" variable with promotional text violates policy
Templates support up to 3 buttons, of two types:
- Call-to-action buttons: Link to a URL or dial a phone number. URL buttons can include variables (e.g. a tracking link with a dynamic order number). Phone buttons dial a fixed number. Up to 2 CTA buttons per template.
- Quick reply buttons: Pre-set text replies that customers tap to send. The reply comes back to your inbox as a customer message. Used for confirmations ("Yes, confirm"), feedback collection, or flow navigation. Up to 3 quick reply buttons.
You cannot mix more than one URL button type with quick reply buttons in most template configurations — plan your button layout based on the primary action you want customers to take.
How do you write a template that gets approved?
Most rejections happen because of avoidable issues. Here's what Meta looks for in a good template:
- Clear purpose: Meta should be able to understand immediately what this template is for. Vague or ambiguous body text raises flags.
- Category match: The content genuinely fits the stated category. A Marketing template should be promotional. A Utility template should be triggered by a customer action.
- No prohibited content: No adult content, no weapons, no gambling, no misleading claims, no content that would violate WhatsApp's Business Policy.
- Realistic variables: When you submit sample values for variables, make them realistic — don't fill a customer name variable with "TEST123".
- Grammatically correct: Templates with obvious typos or grammatical errors are more likely to be reviewed manually and slower to approve.
- Professional tone: Templates that read like aggressive spam copy ("CLICK NOW URGENT LIMITED!!!") get additional scrutiny.
How do you submit a template for approval?
Through WA.Expert, template submission is handled in the Template Manager:
- Go to Templates in your WA.Expert dashboard
- Click "Create Template" and choose the category (Marketing, Utility, Authentication)
- Select the language(s) for the template
- Build the template — add header, body, footer, and buttons
- Fill in sample values for all variables
- Submit for Meta approval
- Wait for the approval status — typically minutes to a few hours for Utility and Authentication; Marketing templates may take slightly longer
Once approved, the template appears in your approved templates list and can be used immediately in campaigns and automated flows.
Why do templates get rejected and what should you do?
The most common rejection reasons:
- Category mismatch: Submitting a promotional message as Utility. Fix: resubmit as Marketing.
- Prohibited content category: Template mentions a product or service WhatsApp doesn't allow (adult content, gambling, certain financial products). Fix: review WhatsApp's Business Policy and revise the template.
- Too vague: "Hi {1}, here's the information you requested" with no context. Fix: make the template more specific to a real use case.
- Promotional language in Utility: A shipping update template that also includes an upsell offer. Fix: keep Utility templates strictly transactional; create a separate Marketing template for the upsell.
- Variable context mismatch: Sample values for variables don't make sense in the context of the template. Fix: use realistic, contextually appropriate sample values.
When a template is rejected, Meta provides a reason. Address the specific issue and resubmit. There's no cooldown period for resubmission — you can fix and resubmit immediately.
How do you manage templates at scale?
As your WhatsApp messaging scales, you'll accumulate many templates across different use cases, campaigns, and languages. Best practices for template management:
- Name templates systematically: Use a naming convention that indicates category, use case, and version — e.g. UTIL_ORDER_CONFIRM_v2. This makes templates searchable and prevents duplication.
- Audit templates regularly: Inactive templates clutter your template library. Archive templates that are no longer in use.
- Track approval rates by category: If your Marketing templates have a high rejection rate, review your writing approach. If Utility templates are being rejected, check for promotional language.
- Version management: When you need to change an approved template, you must create a new version and get it approved. You can't edit an already-approved template.
- Multilingual templates: If you serve customers in multiple languages, create the same template in each language separately. Meta reviews each language version independently.
Get your first templates approved today.
WA.Expert creates and submits templates for you. Most approved within hours. Free trial.