Back to Blog Index WABA API & Setup

How to Create, Submit & Get Your First WhatsApp Message Template Approved by Meta

By Patify Engineering • • • 3 min read
TL;DR Executive Summary

Meta requires all outbound broadcast messages to use pre-approved templates. Templates have strict naming rules (lowercase + underscores only), fixed structure (header, body, footer, buttons), and a review window of 2–24 hours.

How to Create, Submit & Get Your First WhatsApp Message Template Approved by Meta

Why Meta Requires Pre-Approved Templates

Unlike email marketing where you can send any content at any time, Meta implements a strict anti-spam gateway for WhatsApp. To initiate a high-volume broadcast or message a customer outside the 24-hour service window, you must use a pre-approved template.

This process protects users from spam and ensures your business maintains a high Quality Rating.

Figure 10.1: Meta Template Variable Rules & Sample Value Matrix
Figure 10.1: Meta Template Variable Rules & Sample Value Matrix

Anatomy of a WhatsApp Template

A template is composed of four distinct sections:

  1. Header (Optional): Can contain text (max 60 characters), an Image, a Video, or a PDF document.
  2. Body (Required): The main message text (max 1024 characters). Supports dynamic placeholders like {{1}}.
  3. Footer (Optional): A short, muted text block at the bottom of the message (max 60 characters). Useful for disclaimers like "T&Cs apply."
  4. Buttons (Optional but Recommended): Interactive Call-To-Action (URL/Phone) or Quick Reply buttons.

Template Naming Rules (Crucial!)

Meta enforces strict formatting for template names. A single mistake will cause an instant rejection:

  • Only lowercase letters are allowed.
  • Only underscores (_) are allowed (no spaces or hyphens).
  • Must be descriptive. summer_sale_promo_v1 is accepted. template_1 will be rejected.

The 3 Template Categories

When submitting, you must categorize your template correctly (this impacts your cost per message):

  1. Marketing: Promotional offers, announcements, re-engagement campaigns.
  2. Utility: Order confirmations, shipping updates, account alerts. (Must not contain any promotional language).
  3. Authentication: OTPs and security codes.

Dynamic Variables & Personalization Engine

Use placeholders like {{1}} and {{2}} in the body of your template to inject dynamic data (e.g., "Hi {{1}}, your account {{2}} is active!").

In Patify's Campaign Builder, template variables are mapped directly using the TemplateVariableSource Backed Enum. You can map parameter {{1}} to CONTACT_NAME, {{2}} to CONTACT_PHONE, or {{3}} to TENANT_NAME. At runtime, Patify's campaign dispatch engine hydrates these variables dynamically per recipient.

Warning: Meta requires you to provide a "Sample Value" for each variable during submission (e.g. Rahul Kumar for {{1}}). Missing sample values result in instant AI submission rejections.

Common Rejection Reasons

  • Category Mismatch: Submitting a promotional message under the "Utility" category to save money.
  • Floating Variables: Placing variables at the very start or end of the message without surrounding context.
  • Missing Opt-Out: Failing to include a clear opt-out path in Marketing templates.

Approval Timeline

Template reviews typically take between 2 to 24 hours. Verified businesses with a Green Quality Rating often receive automatic instant approvals for standard templates.

Create Your First Template in 5 Minutes

Patify's built-in template creator catches Meta naming errors before submission

We value your privacy

We use cookies to analyze site traffic and optimize your platform experience.