Skip to Content
FeaturesWhatsappWhatsApp Message Templates

WhatsApp Message Templates

Manage WhatsApp message templates approved by Meta. Templates define the exact structure, dynamic variables, and interactive elements of your outbound messages — and are required for any proactive (business-initiated) communication.

Overview

WhatsApp Business API requires businesses to use pre-approved message templates for initiating conversations with customers. Each template defines:

  • Header (optional) — Text, image, video, or document at the top of the message.
  • Body — The main message text with {{placeholder variables}} for personalization.
  • Footer (optional) — Static text at the bottom of the message.
  • Buttons (optional) — Quick reply buttons or call-to-action buttons (URL, phone number).
  • Category — Marketing, Utility, or Authentication (determines Meta’s review criteria).

Voxvaani syncs templates from your connected WABA and surfaces them in the campaign builder, automation rule builder, and template management page.

ℹ️ Template vs Free-Form Messages

Templates are only required for proactive (business-initiated) messages. If a customer messages you first, you have a 24-hour window to reply with any free-form text (no template needed). After the 24-hour window closes, you must use an approved template to resume the conversation.

⚠️ Template Changes Require Re-Approval

Any modification to an approved template — even a minor text change — resets its status to “Pending” and requires Meta to re-review and re-approve it. The template is unavailable for use during the re-review period. Plan template edits carefully and keep a backup of your original approved template text.

Template Categories with Use Cases

Meta classifies templates into three categories. Each category has different review criteria and use-case expectations.

Marketing

Purpose: Promotional content, offers, product announcements, and engagement campaigns that are not prompted by a specific customer action.

Review Criteria: Meta checks for clear brand identity, value proposition, and opt-out language. Marketing templates are scrutinized for compliance more closely than utility templates.

Use cases:

  • Flash sale announcements
  • Seasonal offers and coupon codes
  • New product or feature launches
  • Event invitations and reminders
  • Loyalty program updates
  • Re-engagement campaigns for inactive customers

Sample Template:

Header: [Image: Product Banner] Body: Hi {{1}}, our annual sale is here! Get up to {{2}}% off on all {{3}} products. Use code {{4}} at checkout. Offer valid till {{5}}. Reply STOP to unsubscribe. Footer: Voxvaani Communications Buttons: Shop Now [URL], Contact Us [Phone]
💡

Marketing templates must include an opt-out mechanism. Add “Reply STOP to unsubscribe” or equivalent language in the body or footer. Templates without opt-out instructions are frequently rejected by Meta.

Utility

Purpose: Transactional, account-related, or service updates that are triggered by or relevant to a customer’s recent activity with your business.

Review Criteria: Meta expects utility templates to deliver essential information. The message should be concise and directly related to a transaction or account event.

Use cases:

  • Order confirmation and e-receipts
  • Shipping status and tracking number delivery
  • Appointment booking confirmation and reminders
  • Payment confirmation and invoice links
  • Account change alerts (email change, password reset notification)
  • Ticket/case updates for support interactions
  • Back-in-stock alerts (with prior customer request)

Sample Template:

Header: ORDER CONFIRMED Body: Thank you, {{1}}! Your order #{{2}} for {{3}} has been confirmed. Estimated delivery: {{4}}. Track your order: {{5}} Footer: Voxvaani Team Buttons: Track Order [URL], View Invoice [URL]

Utility templates typically have the highest delivery and read rates because recipients expect and value the information.

Authentication

Purpose: One-time passcodes (OTPs) for account verification, login, and transaction authorization.

Review Criteria: Meta enforces strict rules for authentication templates — the message must be solely for sending a verification code, contain no marketing content, and the code must expire after a short period.

Use cases:

  • Account login verification (2FA)
  • New device or browser authorization
  • Password reset verification codes
  • High-value transaction confirmation codes
  • Account registration phone verification

Sample Template:

Header: VERIFICATION CODE Body: {{1}} is your Voxvaani verification code. This code expires in 10 minutes. Do not share this code with anyone. Footer: Voxvaani Security Buttons: None (or Copy Code)
🚫

Never include promotional text, URLs, or secondary calls-to-action in authentication templates. Meta may reject the template or flag your WABA for audit. Authentication templates have the strictest enforcement of any category.

Syncing Templates

Templates must be synced manually from your connected Meta WABA. There is no automatic sync — you must trigger it yourself.

Manual Sync

🖼
[Screenshot: Templates page showing synced templates with status and actions]
Highlight: Sync button and template list
  1. Navigate to WhatsApp → Templates.
  2. Click Sync Templates.
  3. The system fetches all templates from your connected WABA and updates the list with current statuses. Sync typically completes within 60 seconds.
💡 Approval Timelines

Meta typically takes 24–48 hours to review a template submission. During peak periods (holiday seasons, major sales events), review times can extend to 72 hours or more. Submit templates well in advance of your planned campaign date. If a template has been pending for more than 5 days, check its status in Meta Business Manager and consider re-submitting if it was returned with feedback.

Template Status

StatusDescription
ApprovedTemplate has passed Meta’s review. It can be used in campaigns, automation rules, and manual sends.
PendingTemplate is under review by Meta. It cannot be used until approved. Newly created or re-submitted templates go to this status.
RejectedMeta found the template non-compliant. A rejection reason is usually provided in Meta Business Manager. You must address the issue and re-submit.
PausedTemplate was approved but has been temporarily disabled, often due to quality issues or policy updates from Meta. Review account health.
⚠️

A rejected template does not disappear from Voxvaani — it remains visible with the “Rejected” badge so you can identify which templates need attention. You cannot use a rejected template in campaigns. Correct the issue in Meta Business Manager and re-submit for review.

Template Details

Each template card or row in Voxvaani displays:

  • Name — The template identifier as set in Meta Business Manager. Names are case-sensitive and unique within a WABA.
  • Category — Marketing, Utility, or Authentication.
  • Status — Current approval state with color-coded badge (green = Approved, yellow = Pending, red = Rejected, orange = Paused).
  • Language — The language code the template was created for (e.g., en, en_IN, hi).
  • Body Content — The full message text with {{variable}} placeholders highlighted.
  • Components — Header type (text/image/video/document/none), button count and types, footer text.
  • Last Updated — Date and time the template was last modified in Meta.

Creating Templates from Meta Business Manager

Templates are created and managed in Meta’s platform, not in Voxvaani. To create a new template:

  1. Go to Meta Business Manager  and navigate to WhatsApp → Template Manager.
  2. Click Create Template.
  3. Select the Category: Marketing, Utility, or Authentication.
  4. Choose the Language for the template.
  5. Name your template — Use a clear, descriptive name that reflects its purpose (e.g., order_confirmation_en, diwali_offer_2026). Template names must be lowercase with underscores and cannot contain spaces.
  6. Build the message:
    • Header (optional): Choose text or media type. For text headers, keep it under 60 characters.
    • Body: Write the message text. Use double curly braces for variables: {{1}}, {{customer_name}}, etc. See character limits below.
    • Footer (optional): Add static text (max 256 characters).
    • Buttons (optional): Add up to 2 buttons for URL links or phone number call-to-actions.
  7. Preview the template on a simulated phone screen.
  8. Click Submit to send the template for Meta’s review.

After submission, monitor the template status in Meta. Once approved, sync it to Voxvaani using the Sync Templates button.

💡

Use Meta’s template preview feature to see exactly how your message renders on a mobile device before submitting. Check for variable placement, button alignment, and overall readability. Templates that look cluttered or confusing on mobile are more likely to be rejected.

Template Best Practices

Character Limits

ComponentMax Characters
Template Name512 characters (lowercase, underscores only)
Header Text60 characters
Body Text1,024 characters
Footer Text256 characters
Button Text25 characters per button

Variable Naming

  • Use descriptive variable names that indicate the content: {{customer_name}}, {{order_id}}, {{tracking_url}}.
  • If using positional variables, ensure the numbering matches across all language variants of the same template.
  • Do not use the same variable name twice in a single template unless both instances should have the same value.

CTA Buttons

  • URL Button — Links to a webpage. The URL must belong to your verified business domain. Use dynamic URL variables for tracking: https://example.com/track/{{order_id}}.
  • Phone Button — Dials a phone number. Use this for “Call Us” CTAs.
  • Quick Reply Buttons — Pre-filled responses the user can tap. Up to 3 quick reply buttons. Useful for surveys, confirmations, and branching flows.

Button best practices:

  • Keep button text short and action-oriented: “Track Order”, “Shop Now”, “Confirm Appointment”.
  • Place the most important action first (left-most button on mobile).
  • Do not overload with buttons — one or two well-chosen CTAs outperform three vague options.

Content Guidelines

  • Be concise. WhatsApp is a personal messaging space. Long messages are less likely to be read.
  • Front-load key information. The most important detail should appear in the first line or header.
  • Include your brand name in the header or body so recipients immediately recognize the sender.
  • Test across devices. Preview your template in Meta’s simulator for both iOS and Android.
  • Avoid spam triggers. Excessive capitalization, multiple exclamation marks, urgency phrases (“ACT NOW!”), and repeated special characters can trigger automated rejection.

Common Template Rejection Reasons

ReasonWhat It MeansHow to Fix
Promotional content in UtilityA Utility template contains marketing language.Remove all promotional text and resubmit under Marketing if applicable.
Missing opt-outA Marketing template lacks an unsubscribe mechanism.Add “Reply STOP to unsubscribe” in the body or footer.
Misleading contentThe template promises something that is not delivered.Ensure the message accurately reflects what the recipient receives.
Poor grammar or typosSpelling or grammatical errors in the template.Proofread carefully and re-submit.
Invalid variable formattingVariables are formatted incorrectly (e.g., {1} instead of {{1}}).Use double curly braces {{ }} for all variables.
URL in body textRaw URLs are placed directly in the body instead of using URL buttons.Move links to CTA buttons and use descriptive text.
Non-compliant mediaHeader image/video violates Meta’s content policy.Replace with policy-compliant media.
Privacy concernsTemplate requests sensitive information (passwords, credit card numbers) inside WhatsApp.Remove any request for sensitive data from the template.

Using Templates in Campaigns

When creating a WhatsApp Campaign or setting an automation response:

  1. Select a template from the dropdown (only approved templates are listed).
  2. Fill in the required variables for each dynamic placeholder. The system validates your input against the template schema — missing or malformed variables trigger a warning.
  3. Preview the rendered message before launching the campaign.

For bulk sending with per-contact variable values, prepare a CSV or use your Voxvaani contact list with the appropriate fields mapped to template variables.

Troubleshooting

Template Sync Fails

Symptom: Clicking “Sync Templates” produces an error or no templates appear.

Possible Causes and Solutions:

  • WABA Connection Issue: Your Meta token may have expired or the connection may be broken. Go to WhatsApp Suite → WhatsApp Settings in the sidebar and reconnect your Meta account.
  • No Templates in WABA: Your WABA may have zero templates, or all templates may be in Pending/Rejected status. Create and submit at least one template in Meta Business Manager.
  • Permission Scope: Ensure the connected Meta account has whatsapp_business_management permission. Re-authenticate if permissions have changed.
  • Rate Limit on Meta API: If you have a very large number of templates (hundreds), Meta may throttle the fetch. Wait a few minutes and try again.

Template Not Appearing in Campaign Dropdown

Symptom: A template is visible on the Templates page but does not appear as a selection option in the campaign builder.

Possible Causes and Solutions:

  • Template Status: Only “Approved” templates appear in the campaign dropdown. Check the template status on the Templates page.
  • Language Mismatch: The template language may not be supported. Confirm the template language code is one that your WABA supports.
  • Stale Sync: The templates page may show a cached version. Click Sync Templates to refresh the data.
  • Component Issues: Templates with rejected components (e.g., a header image that was later flagged) may be partially disabled. Check the template details in Meta Business Manager.

Template Rejected by Meta

Symptom: Template shows “Rejected” status.

Possible Causes and Solutions:

  • Review Meta’s Rejection Reason: Log into Meta Business Manager → Template Manager and click on the rejected template to see the specific rejection reason.
  • Address the Issue: Fix the content, category, or formatting based on the rejection reason (see the “Common Template Rejection Reasons” table above).
  • Re-submit: Edit the template in Meta and re-submit for review. Rejection does not prevent re-submission.
  • Alternative Approach: If a specific template keeps getting rejected, consider creating a new template with different wording rather than repeatedly editing the same one.

Template Works But Variables Render Incorrectly

Symptom: Messages in a campaign display {{customer_name}} as literal text instead of the actual value.

Possible Causes and Solutions:

  • Variable Not Filled: The campaign form must have a value for every variable in the template. Empty variables render as their placeholder text.
  • Variable Name Mismatch: The variable name in your template (e.g., {{customer_name}}) must exactly match the field name in your contact data. Check for case sensitivity and spelling.
  • Nested Variables: Avoid using variables within variables (e.g., {{order_{{id}}}}). Meta does not support nested variable syntax.