Table of Contents

WhatsApp's Message Templates

Hajar Updated by Hajar

Prefer watching than reading? No problem, we've got you covered ๐Ÿ‘‡

What is a Message template?

A Message Template is required for proactive/outbound messaging in WhatsApp.

WhatsApp must approve your Message Template before you can start sending them to users.

They are necessary because of the limitations defined by WhatsApp, according to how it accepts the brands to use their API channel.

When to use Message templates for WhatsApp messaging?

If a customer initiates messaging with you, Facebook will not charge you for any WhatsApp messages (including Templated Messages) that you send to that customer for up to 24 hours following the last message that the customer sends to you ("Customer Care Window"). Any message you send to your customers beyond the Customer Care Window must be a Template Message. WhatsApp does not charge for incoming messages from the customer side or outgoing messages from the company side as long as they are sent within the 24-hour time window.

Important: starting in February 1st, 2022, WhatsApp fees will not be related to template messages anymore and will be charged according to the new Conversation-Based model. Further details here.

Guidelines to Request a MessageTemplate

Since Message templates can be either Approved โœ… or Rejected โŒ by WhatsApp, it is important to keep some things in mind.

The first is that all Message Templates are approved case-by-case, so a template that was approved for one company may be rejected for yours.

It might also take a few attempts to get your Message Template approved.

WhatsApp's Guidelines

In order to have a higher chance โœ… to get your Message templates approved, make sure that:

  • your use cases for messaging comply with WhatsApp's Business Policy and WhatsApp Commerce Policy.
  • make sure your Message Template fit the use case you have submitted.
  • make sure you select the template category that best suits your use case.

WhatsApp will very likely reject โŒ your template if :

  • It contains brands asking for reviews or surveys
  • It contains content that violates WhatsAppโ€™s Commerce Policy
  • It contains potentially abusive or threatening content
  • The template is formatted incorrectly

Keep in mind that message templates are intended to provide a better user experience rather than marketing campaigns.

Please click here to check Facebook's official Message Template Guideline documentation to comply with WhatsApp's requirements to approve Templates.

Sample Message Templates

By default, Meta provides 6 sample Message Templates that will appear in your account. These are Templates created by Meta as examples of the kind of Templates allowed on the platform, and you are free to use them in your Testing!

Due to Meta Policies, it is not possible to delete these Templates at this time.

How to request a template

Tip: Check out some examples of Message Templates across industries here ๐Ÿ‘€
Message Templates Section

To manage or request Message Templates, you must access the Message Templates section, available in the WhatsApp Business or WhatsApp Pro channels.

To access it, click on WhatsApp > Your WhatsApp channel > Message Templates:

Go to the Message template section and click the button in the top right corner which says "Request Message Templates"

This will open a window that will ask for all the template details.

Below you'll find an explanation of each field you need to fill out.

Template name

When creating a message template, it is mandatory to give it a name.

It is advised to use a name that reflects the templateโ€™s content.

This name must have no more than 512 characters and may only contain lowercase letters, numbers, and underscores.

No other characters or white space are allowed.ย 

You can't use the same name for more than one template.


order_confirmation123 โœ…

Order_Confirmation123 โŒ

order confirmation 123 โŒ


When submitting a message template, it is required to choose a category.

This makes it easier for WhatsApp to review and approve a template by providing context for how the message template will be used.

The category values are described below:

  • Marketing conversations โ€“ Send promotional offers, product announcements, and more to increase awareness and engagement;
  • Utility conversations - Send account updates, order updates, alerts, and more to share important information.
  • Authentication conversations โ€“ Send codes that allow your customers to securely access their accounts (one-time passwords) -> Not available at the moment


When creating a new message template, you must choose a language code. The language codes are describedย here.

A message template can be created in as many languages as desired. However, when translating the template into multiple languages, please be sure to use the same message template name.

You can also choose to start a Message Template from scratch or edit a pre-existing Template:


When we want to use variables collected from the users, we can use this placeholder to submit them in Templates - {{number_parameter}}

Example: {{1}}, {{2}}...

When using parameters in Message Templates, you'll be able to add a sample text value for each parameter before submitting it:

Once it is approved, when sending the template to your users, you can add the variables to the template by typing @name_of_variable to add dynamic values:

Parameters are available to add in the template's Header section, Body section and in the Buttons' Call-to-action section (only available for Website).

Please bear in mind the following limitations:



The Header field can only have 1 parameter.

{{1}} from Landbot. โœ…

{{1}} from Landbot. {{2}} โŒ

It is not possible to use parameters in the Footer

Alexander Gao from Customer success. โœ…

{{1}} from {{2}}. โŒ

For the Buttons Call-to-action, it is not possible to send variables in the phone number option.

The parameters can only be added to the Website Call-to-action.

The numbers (parameters) have to be added in ascendent order, starting from 1.

Hi {{1}}, I'm {{2}}. Welcome to {{3}}. How are you? Visit our website: {{4}}. โœ…

Hi {{0}}, I'm {{1}}. Welcome to {{2}}. How are you? Visit our website: {{3}}. โŒ

Hi {{1}}, I'm {{3}}. Welcome to {{4}}. How are you? Visit our website: {{5}}. โŒ

It is possible to repeat the same variable in different sections of the template, as long as you follow the ascendent order in each section.

The header is optional and you can choose between these 4 options when adding the header to your Message template:

  • Title (text)
  • Image
  • Documents
  • Video
  • No header

Title (text)

The text header has a limit of 60 characters, including parameters.

For example, this header contains 44 characters not including parameters:

Hello {{1}}, this is an update for your account.ย 

Which means that both parameters combined can only be 16 characters long when sending this template.

If you try to add more characters, the message will fail.

For example:

  • Helloย Johnathan, this is an update on your accountย 8472693. โœ…
  • Helloย Johnathan Smith, this is an update on your accountย 0018472693. โŒ
Image and Documents

You can create a message template with an image/document header.

The image/document must have a size of less than 30MB and must be publicly accessible.


Now it's possible to add Videos in your header!

Only MP4 files are supported and the size must not exceed the 16MB.


The body is mandatory.

The body of a message template should only contain text, parameters, emojis, and formatting (bold, italic, strikethrough, and monospace).

There is no limit to the number of parameters allowed in the body but when sending the message template, the total number of characters can't exceed 1024.

If using parameters in the body, they may contain many characters as long as the total body length does not exceed the aforementioned 1024 characters.

The footer is optional.

When creating a message template, you may include a footer at the end of the message.

A footer may only contain text. No parameters, emojis, or formatting are allowed.

A footer has a limit of 60 characters.


The Buttons are optional.

There are two different kinds of buttons that may be added to a message template:

  • call to action
  • quick reply.

If you wish to send a call to action, you may not send a quick reply in the same template and vice versa.

a) Quick reply (buttons)

A quick reply button can allow the customer to easily respond to a message template with up to 3 predefined answers.

For quick reply buttons, all that is required is the button text (max. 25 characters).

This quick reply can then be used to trigger one or another flow in the bot.

Tip: When sending a Campaign with the Message template with buttons, you may want to redirect the flow of the linked bot depending on the button clicked by the user! You can achieve it by capturing the first user message with our new Collect Intent block (where the user's input is saved in the variable @user_input) Then you can redirect the flow with the Conditions block.

b) Call-to-action

  • A Call-to-action button can allow the customer to call a specific phone number or go to a specific URL.
  • If using a phone number call-to-action, the button text (max. 25 characters), and phone number are required fields for template creation.
  • If using a URL call to action, the button text (max. 25 characters) and URL are required fields for template creation.
    However, when using a URL, it is possible to add a parameter at the end to customize the URL. To add a parameter to the URL, simply add {{1}} to the end.
  • Once set, the call-to-actions can not be changed.
  • Additionally, a single message template can have a maximum of 1 phone and 1 URL call-to-action button each.
Note: The URL in the call-to-action button should start with https://

Hereโ€™s an example of each type:

URL - call-to-action:

URL - with parameter call to action:

Phone - call to action

  • Button text: The text that will appear in CTA (max. 25 characters)
  • Phone Number: Number introduced with country code

This feature is available for 360Dialog channels to avoid complex, with a maximum of 3 buttons per template, and for BSP users, who can have up to 10 buttons per template (subject to Meta's limits).

Meta has also introduced the option to include two URL buttons instead of just one, so this option was added as well to 360 Dialog.

Template's Approval Status

Once you have requested your template it will show up in the list along with its current status.

You'll only be able to contact users with the Templates that have already been Approved.


- Active:ย  Formerly known as Approved

- In Review: Previously known as Requested

- Rejected: Same as before, indicating rejected templates

- Paused: Indicates a template paused by Meta, akin to Rejected status

- Disabled: Indicates a disabled template, similar to Rejected status

- Appealed: Designates a template under appeal after rejection and is in review, sharing the same status as In Review

- Pending Deletion: Reserved for templates being deleted by Meta

Adding a translation

The translation here means to add another template with the same name and under the same category.


From the preview section, you can check how the template will look before you send it

WhatsApp Template Message Tiers and Limits

Messaging limits determine the maximum number ofย business-initiated conversationsย you can initiate using each of your phone numbers in a rolling 24-hour period. A business-initiated conversation begins when the first template message is delivered to a customer and ends 24 hours later.

Unverified businesses are limited to 250 business-initiated conversations in a rolling 24-hour period.

Verified businesses with a business phone number with an approved display name can initiate conversations with the following number of unique customers in a rolling 24-hour period:

  • 1K unique customer
  • 10K unique customers
  • 100K unique customers
  • An unlimited number of unique customers

This amount starts at 1K unique customers and scales automatically based on phone number status, phone number quality rating, and how often the business initiates conversations with unique customers.

Further details here.


Here you'll find all the information related to Message Templates that you have sent, as well as the Error Logs for Templates that did not send correctly for some reason.

You can access this area under the Logs option in the side menu, and then choose whether you want to see the Error Logs or Template Sent details in the dropdown menu at the top of the page.

Template Sent

Here you can:

You can filter by Message Template:

You can filter by dates:

Also, you can export a CSV file with the Message Template Log to the email associated with your Landbot account:

Error Log

Here you will find all the error logs of your Message Templates with the User Name, User Phone Number and the Error Message, explaining why the message failed.


After sending a message template, I received both a "failed" and a "delivered" notification. Does this mean the message failed to display?

Yes, when sending a message template, if it failed to display on the receiving end, you will receive a "failed" status callback with "structure unavailable" in the error object indicating that the message could not be displayed. Depending on the recipient, you may also receive a "delivered" status callback which simply indicates that the message was delivered to the recipient after which the recipient failed to display the message.

Do message templates support emojis?

Yes, message templates support all WhatsApp messaging characters and formatting including emojis, bolding, italics, etc. For emojis, you will need to use the emoji character (copy/paste) rather than its unicode equivalent.

Is there a limit to the number of parameters in a message template?

There is no limit to the number of parameters allowed in a message template.

Is media supported in message templates?

Using media in message templates is not currently supported, but is in development.

Is there a maximum number of message templates allowed per WhatsApp business account?

The maximum is 250 message templates per WhatsApp business account.

What are the reasons message templates might be rejected?

Reasons a message template might be rejected include:

  • Contains potentially abusive content such as abusive language or spam-like content
  • Does not match the selected tag type
  • Formatted incorrectly
What should I know about creating a language pack translation?
The fallback language policy is deprecated beginning with v2.27.8 and the deterministic language policy is now the default policy.

If you create a translation in a new language you need to translate all the elements you use into that language. Otherwise, you might get "structure unavailable" errors since recipient's phone can't find an element it expects for the language it's in. These structure unavailable errors are seen when sending template messages using fallback policy.

If creating language translations is not an option for you at this moment, You can use deterministic policy to avoid these errors.

What's the cache time of a language pack?

It is currently 7 days. If a cache has not been updated for longer than 7 days, it will pull the latest language pack from the server regardless of whether the element already exists in the pack or not.

A link will only be rendered as clickable if the recipient has already saved your business number as contact or you have an Official Business Account.

Why is modifying or deleting message templates not supported?

The device will first load from cache, and if an element exists, it will unpack the message using that message template. So instead of modifying message templates, it's safest to simply add a new one with a different element name. That will guarantee that the language pack gets re-downloaded when it can't find that element. Storage costs of message templates are negligible so there's no absolute need to delete message templates.

See Sending Message Templates โ€” Language for more information.

How did we do?

WhatsApp Campaigns ๐Ÿ’Œ

Send WhatsApp Messages with Landbot API