Articles on: MyOperator

What are the major components of a WhatsApp template?

WhatsApp Message Template Components


A WhatsApp message template is made up of four components.


  • The Body is mandatory (required in every template).
  • The Header, Footer, and Buttons are optional, but if used, they must follow Meta’s strict guidelines.


These parts determine how your message looks and whether it passes Meta’s approval process.



🧱 1. HEADER (Optional)


  • Appears at the top of the message.
  • Can be Text, Image, Video, or Document.
  • Used to grab attention or preview content.
  • Limitations: Text headers β†’ max 60 characters, no variables.
  • Example: Your order has shipped!



πŸ“ 2. BODY (Mandatory)


  • The main content of the template.
  • Max 1024 characters.
  • Supports bold, italic, strikethrough, emojis, and up to 25 variables ({{1}}, {{2}}, ...).
  • Must contain meaningful information and provide clear value.
  • Example: Hi {{1}}, your order has shipped! Track it here: {{2}}




  • Small static text at the bottom.
  • Max 60 characters.
  • No variables, formatting, or media.
  • Best for disclaimers, notes, or support info.
  • Example: Thanks for shopping with us!



πŸ”˜ 4. BUTTONS (Optional)


Buttons add interactivity to your template.


Allowed types:


  • Quick Reply β†’ Up to 3 buttons, in-app predefined responses (e.g., β€œConfirm”, β€œCancel”).
  • Call-to-Action (CTA):
  • πŸ“ž Call Button β†’ Opens phone dialer.
  • 🌐 URL Button β†’ Opens a browser link (static or dynamic).
  • Limit: Max 2 CTA buttons (1 Call + 1 URL).


Warning : You must choose either Quick Replies or CTAs β€” they cannot be mixed in the same template.



πŸ“Š Comparison Table of Template Components


Component

Mandatory?

Limitations

Variables Allowed?

Example Use Case

🧱 Header

Optional

Text: 60 chars, no variables; Image: 5MB JPG/PNG; Video: 10MB MP4; Document: 10MB PDF

❌ No (text)

Order confirmation header or product image

πŸ“ Body

βœ… Yes

Max 1024 chars

βœ… Up to 25

Hi {{1}}, your order has shipped!

🧾 Footer

Optional

Max 60 chars, static only

❌ No

Thanks for shopping with us!

πŸ”˜ Buttons

Optional

Quick Reply: Max 3; CTA: Max 2 (1 Call + 1 URL); Cannot mix types

⚠️ Limited (URL buttons can contain variables)

Confirm/Cancel (Quick Replies), Call Support (CTA)



πŸ§ͺ Sample Template Structure (JSON)


{
"name": "order_update",
"components": [
{ "type": "HEADER", "format": "TEXT", "text": "Your order has shipped!" },
{ "type": "BODY", "text": "Hi {{1}}, your order has shipped! Track here: {{2}}" },
{ "type": "FOOTER", "text": "Thank you for shopping with us!" },
{
"type": "BUTTONS",
"buttons": [
{ "type": "URL", "text": "Track Package", "url": "https://track.com/{{1}}" },
{ "type": "PHONE_NUMBER", "text": "Call Support", "phone_number": "+1234567890" }
]
}
]
}






Tip : Keep the Body focused and personalized with variables, while using Headers and Buttons strategically for attention and action. Footers should remain simple and static.

Updated on: 22/09/2025