WhatsApp Business Template Guidelines and Restrictions
WhatsApp Business message templates must fit one of three approved categories: Marketing (Promotional), Utility (Transactional), or Authentication. Marketing templates cover promotional offers and announcements, while Utility/Transactional templates convey agreed-upon updates (order confirmations, reminders, alerts, etc.) . Authentication templates carry fixed one-time passcodes, but have special constraints.
Choose the correct category to match the content, since a mix of promotional and transactional content will be treated as a marketing template.
Sending Restrictions
WhatsApp Marketing templates can no longer be sent to the US (+1) recipients.
Template Section Character Limits
550 Character Limit:
The maximum number of characters allowed in the body of a marketing and utility template is now 550.
This applies to both marketing and utility templates created via Cloud API, MM Lite API, and WhatsApp Manager.
Templates exceeding this limit will be rejected at creation time, and businesses will receive a clear error message and code ([2388040]) explaining the violation.
This change was rolled out to improve click-through rates (CTR) and overall user experience, based on extensive experimentation and data analysis.
Emoji Limit:
There is also a cap of 10 emojis in the body component of marketing and utility templates. Exceeding this will result in template rejection.
Text Header (Optional):
If present as text, the header is limited to 60 characters (including any variable).
Only one variable is allowed in the header. Header cannot begin or end with a variable.
Header text is automatically displayed in bold, and it must be plain text – no emojis or formatting (bold/italic) are allowed in the header. (Alternatively, the header may contain an image, video or document instead of text.)
Text Body (Required):
The body text can be up to 550 characters and up to 10 emojis for Marketing and Utility templates
It may include letters, numbers, standard punctuation, emojis, and simple formatting: bold, italics, strikethrough, or code blocks.
Variables (placeholders) of the form
{{1}},{{2}}, etc. may be used. All variables count toward the 550-character limit. Newlines are generally not allowed (or at most one line break); avoid any tabs or more than 4 consecutive spaces in the body.Body text cannot begin with a variable
Body text cannot end with a variables
Two variables cannot be together in the text
Text Footer (Optional): Footer text is limited to 60 characters. It must be plain text: no variables, emojis, or rich formatting are permitted in the footer.
Buttons (Optional):
Marketing and Utility templates can include up to two CTA buttons (one “Call phone number” and one “Visit website”) or up to three quick-reply buttons.
Each button label (text) can be up to 25 characters.
Phone-number buttons accept one phone number (full country code, no spaces) and a label
Website buttons require a full
https://URL (up to 2000 characters)Quick-reply buttons (text replies) also use up to 25-character labels, but cannot contain any variables, emojis, or formatting.
Why Are Some Templates Still Exceeding the Limit?
A/B Testing and Gradual Rollout:
The enforcement was initially rolled out as an experiment (50/50 split) and is now being expanded globally. Some businesses may still be able to create longer templates if they are not yet in the enforced group, or if they are using template types/formats not yet covered by the new limits
Grandfathered Templates:
Existing templates created before the enforcement are not retroactively rejected. Only new templates (or those edited/migrated) are subject to the new limits.
Format/Tag Exceptions:
Certain template formats (e.g., carousel media cards) and tags may have different limits. For carousel templates, the body text is limited to 160 characters or bytes.
Emojis and Formatting
Emojis:
Emojis are allowed in the body text (they count toward the 550‐char limit) Use them sparingly – WhatsApp suggests “selective use” (under about 10 per template) to improve engagement
Do not use emojis in headers or footers.
Text styling:
In the body you may apply bold (
*text*), italics (_text_), strikethrough (~text~), or code formatting (`code`) to text.Do not use HTML, Markdown (beyond these), or any other markup.
Headers and footers must be unformatted plain text (the header is auto‐bolded by WhatsApp)
Note: any formatting tags (e.g.
*or_) in a header will cause rejection.
Links:
Full URLs may appear in the message body or as “Visit Website” CTAs.
Always use full, static
https://links (no URL shorteners)Do not include direct WhatsApp links (e.g.
https://wa.me/...).For a website CTA button, include the complete
https://address (up to 2000 chars)
Dynamic Variables
Variable syntax: Insert dynamic content using variables of the format
{{1}},{{2}}, etc. Each variables will be replaced by a real value at send-time.Limits: There is no hard limit on the number of variables in the body (subject to the 550‐char limit). In contrast, the header allows at most one variable and the footer allows none.
Placement:
Never place a variables as the very first or last character of the body (no leading or trailing
{{1}}) doing so will cause automatic rejection.Also avoid placing variables back-to-back without intervening text or punctuation.
Formatting rules: Variables may only contain digits and curly braces – no special characters (# $ % etc.) inside the braces. Mismatched or missing braces, non-sequential numbering (e.g. skipping
{{3}}), or “dangling” variables/placeholders will trigger a format error. When submitting a template that uses variables, you typically must provide example values for each variable to help reviewers understand the message.
Common Template Rejection Reasons
WhatsApp enforces strict review of templates. Common causes for rejection include:
Formatting errors: Missing or malformed variables (
{{…}}), non-sequential numbering, or using variables in disallowed ways (e.g. in headers/footers). Even subtle mistakes (extra spaces, wrong braces, variables at ends) will fail review.Policy violations: Any content that conflicts with WhatsApp’s Commerce or Business policies will be rejected. For example, unsolicited promotions disguised as transactional messages, or requests for sensitive personal data (payment details, ID numbers, etc.). Abusive or threatening language, hate speech, or disallowed verticals (like gambling, adult, political campaign content) are also rejected. Templates must be customer-focused and relevant (generic spammy content is disallowed).
Category mismatch: If the template’s content doesn’t match the chosen category (e.g. marketing content marked as utility) it can be rejected as a tag/content mismatch. Remember, any mix of marketing + transactional content will be classified as Marketing and Marketing templates must include a “Stop promotions” opt-out (auto-appended footer) to comply with policy.
Duplicate content: Templates that are identical (in body and footer text) to existing approved templates will be rejected as duplicates. Even paraphrased copy should be sufficiently distinct to avoid duplication rules.
Other violations: Including multiple languages in one template, excessive use of uppercase or emojis, or any content flagged by WhatsApp’s machine filters can also trigger rejections.
Always review the exact rejection reason provided (in Facebook Business Manager or your API provider console) and revise accordingly. Note: Once a template is submitted, it cannot be edited; if it’s rejected you must create a new template version with corrections.
Approval Process and Timeline
After submission, most templates are auto-reviewed and often approved within minutes. However, if a template cannot be automatically triaged (due to complexity or policy checks), it will go to manual review. In practice, review can take up to 48 hours. (If your template is still pending after 48 hours, contact support or resubmit.)
Pending: Under review (can last up to ~48h).
Approved: Template passed review and is ready to send.
Rejected: Template was disapproved; review the provided reason and resubmit a corrected version.
Paused/Disabled: If end users repeatedly block or report messages from a template (negative feedback), WhatsApp will pause or disable that template. Paused templates cannot be used until issues are addressed, and disabled templates are permanently inactive. To avoid this, always include an easy opt-out (e.g. replying “STOP”) and follow policy.
Practical tips: Use clear, concise language. Insert variables only where needed and surround them with context. Avoid ambiguity, spelling errors, or slang. Provide sample texts/links when submitting for approval. Align the tone to your brand and use appropriate salutations. Remember to test your templates with sample variable values before sending.
Last updated
Was this helpful?

