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.

Template Section Character Limits

  • 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 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.)

  • Body (Required):

    • The body text can be up to 1024 characters and up to 10 emojis

    • 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 1024-character limit. Newlines are generally not allowed (or at most one line break); avoid any tabs or more than 4 conTwo secutive 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

  • 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.

Emojis and Formatting

  • Emojis:

    • Emojis are allowed in the body text (they count toward the 1024‐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 1024‐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?