Home WhatsApp | Connection, templates and sending WhatsApp Templates: Structure Rules, Categorization (Authentication, Utility, and Marketing), and How to Avoid Rejection

WhatsApp Templates: Structure Rules, Categorization (Authentication, Utility, and Marketing), and How to Avoid Rejection

Last updated on Feb 25, 2026

📌 This article is about Meta's rules

This guide explains Meta's official rules that impact template approval:

  • Structure (Header, Body, Footer, Buttons)

  • Proper use of variables (placeholders)

  • Difference between Authentication, Utility, and Marketing

  • Main reasons for rejection

  • Checklist to increase approval chances

If you want to learn how to create, edit, or delete templates within Cloud Chat, access:

WhatsApp Templates Guide in Cloud Chat: Creation, Editing, and Approval


🧩 What is a template

Pre-approved messages by Meta for messages initiated by the company (e.g.: notifications, transactional updates, authentication, and campaigns), usually used when you need to send messages after the 24-hour window.

We also include official references from Meta documentation on template categorization:
https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-categorization


🧱 Template structure (components) A template consists of up to 4 main blocks: Header, Body, Footer, and Buttons.


🧷 Header (optional)
Text: up to 60 characters and supports 1 variable.

Media: can be configured as image, video, or document (see details in “Attachments”).


📝 Body (mandatory)
Main text of the template.

Supports variables.

Limit: up to 1024 characters.


🧾 Footer (optional)
Short notes (e.g.: “Do not reply to this message”).

Limit: up to 60 characters.


🔘 Buttons (optional)
Templates can have up to 10 buttons (depending on type/category).

⚠️ Display caution: if there are more than 3 buttons, WhatsApp may show only some and group the rest under “See all options”.


🔢 Variables (placeholders): rules that most lead to rejection

Variables allow personalization (e.g.: customer name, ticket number, status).

✅ Mandatory rules (Meta validation)

  1. Cannot start or end with a variable
    Meta blocks creation when the template begins or ends with a placeholder.

✔ Correct:
Hello {{name}}, your ticket {{ticket}} has been updated.

❌ Incorrect:
{{name}} your ticket has been updated.
Your ticket has been updated: {{update}}

  1. Variable cannot be “left alone” (without context)
    Avoid templates that are just a placeholder (e.g.: {{test}}) or with overly generic text. This greatly increases rejection risk due to low quality or ambiguous use.

  2. Variable name pattern
    Must be within {{ }} and cannot contain accents or spaces.
    If you need to separate words, use an underscore:
    ✔ {{reference_month}}
    ❌ {{mês de referência}}


🧭 Categories (according to official Meta documentation)

When creating the template, you choose the category: Authentication / Utility / Marketing.

⚠️ However, Meta analyzes both content and message intent. It may:

  • Reclassify automatically

  • Reject the template if the category is not compatible

Official documentation:
https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-categorization


🔐 Authentication
Use for verification codes (OTP) and authentication flows.

✔ Should include:

  • Verification code

  • Expiration information

  • Login or security context

❌ Cannot contain:

  • Promotion

  • Offer

  • Upsell

Example:
Your verification code is {{code}}. It expires in {{time}} minutes.


🧾 Utility (Utility / Transactional)

According to Meta documentation, Utility should:

  • Be related to a previous user action

  • Be operational or informational

  • Not contain promotional content

  • Lack persuasive language

  • Not aim to generate new conversion

🔎 Main reasons for rejection as Utility

  1. Vague language
    ❌ “We have news for you”
    ❌ “Check out this special update”

  2. Disguised promotional language
    ❌ “Enjoy your next purchase”
    ❌ “Don’t miss this opportunity”

  3. Lack of transactional context
    If it's not clear what action the user performed, Meta tends to classify as Marketing.


✅ Best practices for approval as Utility

✔ Clearly mention the context:

  • Order

  • Protocol

  • Ticket

  • Appointment

  • Subscription

  • Payment

  • Delivery

✔ Include a clear identifier:

  • Order number

  • Ticket number

  • Protocol

  • Transaction ID

✔ Use objective and neutral language

✔ Focus on informing, not persuading


✔ Correct example (Utility with higher approval chance):

Hello {{name}}!
Your order {{order_id}} has been shipped and is on its way.
Estimated delivery: {{delivery_date}}.

✔ Correct example (Support):

Hello {{name}}, your ticket {{ticket}} has been updated:
{{update_text}}.
If you need to add information, reply here.


❌ Example that could be reclassified as Marketing:

Hello {{name}}!
Your order is ready. Take a look at our new offers!


📣 Marketing

Includes:

  • Promotions

  • Offers

  • Coupons

  • Re-engagement

  • Launches

  • Cross-sell / Upsell

Practical rule:
If the message tries to generate new revenue or conversion → it's Marketing.


📎 Attachments in the template (Media Header)

🖼️ Image: JPEG or PNG up to 2MB

🎞️ Video: MP4 or 3GP (H.264/AAC) up to 2MB

📄 Document: PDF up to 2MB

🎬 GIF: treated as MP4 (approximate limit of 3.5MB; larger might turn into video).


✅ Quick checklist before submission

  • Context-specific and tailored Body

  • Neutral language if Utility

  • Transactional identifier included

  • No promotional terms (for Utility)

  • Header text: up to 60 characters and 1 variable

  • Check media format and size

  • Create per language/locale

  • Validate placeholders (do not start/end with a variable)


❓ Frequently asked questions

Why did Meta change my category?
Because categorization is based on content + intent.
If there is any indication of promotion, persuasion, or conversion attempt, the message may be classified as Marketing, even if you select Utility.

My template was rejected as Utility. What to check first?

  1. Remove any commercial tone

  2. Include clear user action context

  3. Add transactional identifier

  4. Make the text more objective and less generic


For more details on managing templates in Cloud Chat:
https://cloudchat.cloudhumans.com/hc/cloud-chat/articles/1754505671-gestao-de-templates-whats_app