GhalaGhalaHelp Center
Back to ghala.ioghala.ioSign in
  • Getting Started
    • Ghala Documentation
    • Send Your First WhatsApp Message via API
    • Receiving Events with Webhooks
  • Commerce
    • Start Selling on WhatsApp
    • Set Up the AI Sales Agent
    • Get Paid with Snippe
  • Ai Automation
    • Configuring AI Auto-Reply for WhatsApp
    • Setting Up Human Handover Protocol
  • Campaigns Messaging
    • WhatsApp Message Templates: Complete Guide
    • Bulk WhatsApp Messaging: Complete Campaign Guide
  • Contacts Crm
    • WhatsApp Contact Management Guide
  • Best Practices
    • WhatsApp Customer Support Best Practices
    • Message Template Best Practices
  • Api Reference
    • Ghala Developer API Reference
    • Ghala API vs Meta Cloud API
    • Supported Capabilities
    • Multiple Numbers and Multi-Tenant Platforms
    • Errors and Retries
    • Limits and Quotas
    • Authentication and Access Tokens
    • Connecting and Onboarding a Number
    • Templates and Media
    • Send One-Time Codes
    • Developer Tooling
    • Versioning and Changelog

Products

  • Ghala
  • Sarufi
  • Snippe
  • Sema

Explore

  • Use Cases
  • Pricing
  • Ghala Academy
  • Blog

Developers

  • Docs
  • API Reference
  • API Quickstart
  • Webhooks Guide

Contact

  • SkyCity Mall, 9th Floor, Dar es Salaam, Tanzania
  • info@ghala.io
  • +255 699 920 009
© 2026 Neurotech Company LimitedTerms of ServicePrivacy PolicySitemap
  1. Help Center
  2. Campaigns Messaging
  3. WhatsApp Message Templates: Complete Guide

WhatsApp Message Templates: Complete Guide

Master WhatsApp message templates. Learn what gets approved, common rejection reasons, and best practices.

WhatsApp lets you reply freely to any customer for 24 hours after their last message. Outside that window, and for any campaign you start, you must use a message template: a pre-written message that Meta has reviewed and approved. This guide covers creating templates in Ghala and getting them approved on the first try.

When You Need a Template

Situation Template needed?
Replying within 24h of the customer's last message No, free-form messages
Following up after the 24h window closed Yes
Bulk campaigns and broadcasts Yes
Order updates initiated by you Yes
Sign-in and verification codes Yes, an Authentication template

Template Anatomy

A template has up to four parts:

  • Header (optional): a short title, image, or document
  • Body: the message itself, with {{1}}-style variables for personalization
  • Footer (optional): a muted line at the bottom, e.g. "Reply STOP to opt out"
  • Buttons (optional): quick replies or links the customer can tap

Variables are placeholders filled in at send time: "Hi {{1}}, your order {{2}} has shipped" becomes "Hi Amina, your order #1042 has shipped." Number them ({{1}}, {{2}}) or name them ({{first_name}}), one style per template, and give each a sample value so Meta's reviewers can read the message.

A header can be text, an image, a video, a document, or a location. Buttons can be quick replies, a website link, or a phone number.

Template Categories

Meta reviews every template under a category, and pricing differs per category, so pick honestly:

  • Marketing: promotions, offers, product announcements, win-backs
  • Utility: order confirmations, delivery updates, appointment reminders; messages triggered by something the customer did
  • Authentication: one-time codes for sign-in and verification, and nothing else

A promotional message submitted as Utility is a near-guaranteed rejection. When a message mixes both, it's Marketing.

Creating a Template in Ghala

  1. Go to Templates in your dashboard and click New template
  2. Name it in lowercase with underscores: order_shipped, august_sale
  3. Pick the category and language
  4. Write the header, body, footer, and buttons; the live preview shows the message as customers will see it
  5. Submit, and Ghala sends it to Meta for review

Review usually takes minutes to a few hours. The Templates page tracks each template's status (pending, approved, rejected, paused, or disabled) and keeps it in step with Meta, so you do not need to press Sync from Meta to see an outcome. Only approved templates can be used in campaigns.

A template made in Meta's WhatsApp Manager appears here after a sync, and can be sent through the API before that.

Authentication Templates

An Authentication template sends a one-time code, such as a sign-in code, with a copy code button. WhatsApp writes the message itself: "482913 is your verification code." in the template's language. You set three things:

  1. Add the security reminder: adds "For your security, do not share this code."
  2. Code expires after: 1 to 90 minutes, which adds "This code expires in N minutes." Or turn on No expiry.
  3. Button text: up to 25 characters, no emoji. Leave it blank and WhatsApp uses its own wording.

Pick Authentication as the category when you create the template, then submit it for review as usual. An Authentication template has no header, and it cannot be edited after it is created, because WhatsApp writes its text.

Once it is approved, open it on the Templates page and click Send test to send a code of your choice to one contact, such as your own number. The code is never kept: the conversation shows Verification code sent.

Codes are sent from your own system through the Ghala API, one customer at a time. An Authentication template cannot be used in a campaign, and the inbox does not offer it. Send One-Time Codes is the developer guide.

Why Templates Get Rejected

The most common rejection reasons, and the fix:

Rejection reason Fix
Wrong category Promotional content must be Marketing, not Utility
Vague variables {{1}} with no context confuses reviewers; make the surrounding text explain it
Floating variables Don't start or end the message with a bare variable
Policy content No prohibited goods, misleading claims, or requests for sensitive data
Formatting issues Broken variable numbering ({{1}}, {{3}} with no {{2}}), excessive caps or emoji

A rejected template can be edited and resubmitted; you don't lose the slot. Editing an approved template sends it back to Meta for review.

Best Practices

  • Write the sample content as a real message, not lorem ipsum; reviewers approve faster when intent is obvious
  • Keep one template per job: order_confirmed, order_shipped, order_delivered beat one do-everything template
  • Add an opt-out line to marketing templates; it protects your quality rating
  • Test an approved template on your own number before sending it to thousands

For deeper guidance on wording that converts without hurting your quality rating, see Message Template Best Practices.

What's Next

  • Use your approved templates at scale: Bulk WhatsApp Messaging
  • Send templates from your own system: Templates and Media
  • Send sign-in codes: Send One-Time Codes
PreviousSetting Up Human Handover ProtocolNextBulk WhatsApp Messaging: Complete Campaign Guide

On this page

  • When You Need a Template
  • Template Anatomy
  • Template Categories
  • Creating a Template in Ghala
  • Authentication Templates
  • Why Templates Get Rejected
  • Best Practices
  • What's Next