Core Components
Template structures are built from:
HEADER(optional) — text, image, video, document, or locationBODY(required for most categories) — the main message text with variablesFOOTER(optional) — small text below the bodyBUTTONS(optional) — quick reply, URL, phone, or copy-code actions
Header Formats
Supported header formats:
TEXT— plain text, supports one variableIMAGE— JPEG or PNG imageVIDEO— MP4 videoDOCUMENT— PDF or other document typesLOCATION— when supported by your account/version
For media handling, see Media Messages and Upload, Retrieve & Delete Media.
Variable Rules
Use numbered placeholders: {{1}}, {{2}}, {{3}}, etc.
Best practices:
- Keep variable ordering stable.
- Provide clear example values for review.
- Avoid consecutive placeholders without context text between them.
Text Formatting
Marketing and utility templates support WhatsApp text formatting in the body:
| Format | Syntax | Result |
|---|---|---|
| Bold | *text* | text |
| Italic | _text_ | text |
| Strikethrough | ~text~ | |
| Monospace | ```text``` | text |
Use the formatting toolbar in the template editor to apply styles. Formats can be combined (e.g. *_bold italic_*). Authentication templates do not support text formatting.
Practical Limits
| Element | Limit |
|---|---|
| Header text | Up to 60 characters |
| Body text | Up to 1024 characters |
| Footer text | Up to 60 characters |
| Total buttons | Up to 10 (marketing & utility) |
| URL buttons | Max 2 within the 10 total |
| Phone buttons | Max 1 within the 10 total |
| Quick reply buttons | Remainder up to 10 total |
Quick reply and call-to-action buttons can be mixed in the same template. For example: 2 URL + 1 phone + 7 quick reply = 10 total.
For sending templates with variables, media headers, and buttons, see Sending Template Messages.