Best practices & example templates

Best practices

When creating a new message template, a business must follow the below best practices:

  • Template name - A unique name to identify the template use case for the business. It must be in lower case, with no spaces. You may use an underscore to indicate a space.

  • Template category - Type of information contained in the template (e.g. account update, issue resolution, auto reply). Select the value from a predefined set of categories during registration.

  • Template parameters - A template message must contain at least one parameter, and all message formatting options (e.g. bold, italics) applies. Parameters cannot have new line/tab characters or more than four consecutive spaces. All parameters will be defined within curly open/close braces and listed in chronological order starting at {{1}} (use the '+Variable' button as a shortcut to easily add these)

Template examples

Template name

Template Tag

Template message

Parameter details



Dear {{1}}. You are now subscribed to receive account-related alerts for your account ending in {{2}}.

{{1}} – Name of the recipient, eg. John

{{2}} – Last 4 digits of the account, eg. 1234



Your funds transfer request of {{1}} from account ending in: {{2}} has been initiated.

{{1}} – Total amount, eg. $50

{{2}} – Last 4 digits of the account, eg. 1234

All WhatsApp templates (and WhatsApp as a channel) adhere to the UTF8 character set. If you are utilizing HTML mark-up text that is not recognized within UTF8, it will be rejected.

Select the language of your template. Currently, the following languages are available:

  • Afrikaans

  • Azerbaijani

  • Bengali

  • Chinese (mainland China; both traditional and simple accepted)

  • English

  • English (Great Brittain)

  • English (United States)

  • French

  • German

  • Gujarati

  • Hindi

  • Indonesian

  • Kannada

  • Malay

  • Marathi

  • Polish

  • Portuguese (Brazil)

  • Portuguese (Portugal)

  • Punjabi

  • Spanish

  • Spanish (Argentina)

  • Spanish (Mexico)

  • Spanish (traditional)

  • Tamil

  • Telugu

  • Turkish

Rejection reasons

If your template(s) are rejected, it may be because of one of the following reasons:

  • Template starts or ends with a variable, e.g., {{1}}

  • Variable parameters are missing or have mismatched curly braces. The correct format is {{1}}.

  • Variable parameters are not defined. All parameters must have a known purpose, for example, the type of media you plan to send in a media message. Your template will be rejected if we do not know what goes into a specific parameter. We strongly recommend adding a sample with your submission.

  • Variable parameters contain special characters such as a #, $, or %.

  • Variable parameters are not sequential. For example, {{1}}, {{2}}, {{4}}, {{5}} are defined but {{3}} does not exist.

  • Spelling or grammatical errors. Messages with misspellings or grammatical errors may prompt customers to view these messages as spam or a hoax.

  • Language defined does not match content. For example, Spanish was selected but the content is in English or the content is a mixture of languages containing both Spanish and English.

  • Submission format for testing your API connection is incorrect. The correct format is:

    • Message template name: test

    • Content: Hello {{1}}

  • The URLs for your links are shortened. Short links obscure the intended link destination.

  • The URL domain in your links does not belong to your business.

  • The message template(s) contains content that violates WhatsApp’s Commerce Policy. When you offer goods or services for sale, we consider all messages and media related to your goods or services, including any descriptions, prices, fees, taxes, and/or any required legal disclosures, to constitute transactions. Transactions must comply with the WhatsApp Commerce Policy.

  • The message template(s) contain content that violates WhatsApp’s Business Policy. Do not request sensitive identifiers from users. For example, do not ask people to share full-length individual payment card numbers, financial account numbers, National Identification numbers, or other sensitive identifiers. This also includes not requesting documents from users that might contain sensitive identifiers. Requesting partial identifiers (e.g., the last 4 digits of their Social Security Number) is acceptable.

  • Content contains potentially abusive or threatening content, such as threatening a customer with legal action or threatening to publicly shame them.

  • The message template is a duplicate of an existing template. If a template is submitted with the same wording in the body and footer as an existing template, the duplicate template will be rejected. A rejection notification that includes the rejection reason will appear in Account Quality on WhatsApp Manager and be sent via email. You may refer to the Account Quality notification to see the name and language of the existing template with the same content as the rejected duplicate template. You may also choose to edit the template and resubmit. Please note that this check does not apply to OTP templates.

Additional guidelines to help accelerate the Message Template approval process

  • Make your message template name clear, e.g. instead of using a name like “template_014” rather use “order_update”.

  • Remember that someone outside of your business will be reviewing your templates. Providing more clarity gives reviewers context around how the template will be used.

  • If you need to write a message template to re-open the 24-hour window, we would suggest starting with some mention of the previous conversation thread, e.g. “I’m sorry that I wasn’t able to respond to your concerns yesterday but I’m happy to assist you now. If you’d like to continue this discussion, please reply with ‘yes’.” or “I was able to do some follow-up based on our previous conversation, and I’ve found the answer to your question about our refund policy. If you’d like to continue our conversation, please say ‘yes’.”