Skip to main content

WhatsApp message template components

What goes into a WhatsApp Business message template: header, body, footer and buttons, how variables are counted, media file rules and how to fix common send errors.

Written by Mohamed Elbadwihi

WhatsApp Business message templates are built from up to four parts: a header, a body, a footer and buttons. This article explains each part, the formats and variables WhatsApp requires, and how to fix the two most common send errors: a media upload error and a parameter mismatch.

Important: Octopods' built-in template editor creates body-only templates (a name, body text, language and category). Templates with a header, footer or buttons are created in Meta Business Manager's template editor and then sync into Octopods. This article covers every part Meta supports, so you can recognise them in synced templates and build them on Meta's side.

Body (required)

The body is the only required part. It carries the main message.

  • Length: up to 1,024 characters.

  • Variables: use {{1}}, {{2}}, {{3}} and so on for content that changes per customer. Number them in order, starting at 1, and give Meta an example value for each when you submit the template.

  • Formatting: WhatsApp supports bold (*text*), italic (_text_), strikethrough (~text~) and monospace (three backticks around the text). Use it sparingly; plain text reads best.

Header (optional)

The header sits above the body. A template can have one header, in one of four formats:

  • Text: a short line, up to 60 characters, with at most one variable.

  • Image: a JPEG or PNG at the top of the message, for product photos or announcements.

  • Video: an MP4 video.

  • Document: a PDF, such as an invoice or a ticket.

For image, video and document headers, Meta approves the format, not the file. You choose the actual file each time you send.

Media header file rules

The file you send must match the approved header format and stay under Meta's size limit:

Header format

File type

Meta's size limit

Image

JPEG or PNG

5 MB

Video

MP4 (H.264 video, AAC audio)

16 MB

Document

PDF

100 MB

Footer (optional)

The footer is one short line, up to 60 characters, shown below the body in smaller grey text. Use it for opt-out instructions ("Reply STOP to unsubscribe"), fine print or a tagline. The footer can't contain variables.

Buttons (optional)

Buttons appear under the message. A template can have up to 10 buttons in total. WhatsApp supports these types:

  • Quick reply: sends a set reply back to your WhatsApp number when tapped, for simple choices such as "Yes" or "No". The button label is the reply, so whatever the customer taps arrives in your inbox as their message.

  • URL: opens a web page. The link can be the same for everyone, or end with a variable so each customer gets their own link, for example an order page. A template can have up to two URL buttons.

  • Call phone number: starts a phone call to a number you set. One per template.

  • Copy code: copies a short code, usually a one-time password, to the customer's clipboard. Authentication templates only.

  • Flow: opens a WhatsApp Flow, a step-by-step form inside the chat, for example to book an appointment. You build the Flow in Meta.

How variables are counted

Every variable in the template counts separately, wherever it is. Before you write the template:

  1. Count each {{N}} in the body.

  2. Add one if the text header has a variable.

  3. Add one for each URL button that ends with a variable.

  4. Give an example value for every one of them when you submit the template to Meta.

Filling in variables when you send

When you send an approved template from the inbox or as a proactive message, or in a broadcast (broadcasts are available on Intercom only), Octopods shows a field for every variable in the template. Fill each one with the value for that customer; Octopods puts the values in when it sends.

Note: Order matters. {{1}} is always the first field, {{2}} the second, and so on. Octopods shows the fields in that order.

Fixing template send errors

Media upload error

Meta returns a media upload error (Meta error code 131053) when it can't fetch or accept the header file. Check that:

  • The file type matches the header format. For example, an image header needs a JPEG or PNG, not a PDF or a WebP.

  • The file is under Meta's size limit for that format (see the table above).

  • The file is public. Meta must be able to download it without signing in. Links that need a login, have expired or open a preview page instead of the file will fail.

  • The link points straight to the file, not to a web page that shows it.

If you send through the API, see Sending WhatsApp Template Messages via API for how to pass the header file.

Number of parameters doesn't match

Meta rejects a send when the number of values doesn't match the number of variables in the approved template (Meta error code 132000). To fix it:

  1. Count the variables using the steps in "How variables are counted": the body, a text header with a variable, and each URL button that ends with a variable.

  2. Fill in every field Octopods shows. Don't leave any blank; Meta rejects empty values.

  3. If you changed the template in Meta Business Manager, check that the approved version in Octopods is the one you expect. See Template Approval and Status.

Creating a template with an image header and quick-reply buttons

Octopods' built-in editor creates body-only templates. For a template with an image header and quick-reply buttons:

  1. Open the template editor in Meta Business Manager. Choose Image as the header format, write the body and add your quick-reply buttons.

  2. Give an example value for every variable, then submit the template for review.

  3. When Meta approves it, the template syncs into Octopods. See Template Approval and Status.

  4. Send it like any other approved template, and fill in each variable.

When a customer taps a quick-reply button, the button text arrives in your inbox as their reply.

FAQ

What are the parts of a WhatsApp message template? A body (required), plus an optional header (text, image, video or document), an optional footer and optional buttons.

How long can a WhatsApp template body be? Up to 1,024 characters. A text header and the footer can each be up to 60 characters.

Why does my image template fail with a media upload error? Usually the file isn't public, doesn't match the header format, or is over Meta's size limit. See "Media upload error" above.

Why does WhatsApp say the number of parameters doesn't match? You sent more or fewer values than the template has variables, or left one blank. Count the body, header and URL-button variables, then fill in all of them.

Can I add a header, footer or buttons in Octopods' template editor? No. Octopods' editor creates body-only templates. Build the template in Meta Business Manager; it syncs into Octopods once Meta approves it.

Can I use variables in the footer? No. WhatsApp doesn't allow variables in the footer.

What's next

Did this answer your question?