Meta Tech Provider

Template components: header, body, footer and buttons

A template is built from up to four components: a header, a body, a footer and buttons. Only the header and body accept variables, and each component has limits that decide what the message can say before Meta ever reviews it.

1024

Characters allowed in a template body.

60

Characters allowed in a template footer.

10

Buttons allowed on one template, with type limits inside that.

Header

Optional, and one of four kinds: text, image, video or document. A text header is capped at sixty characters and accepts a single variable. A media header carries a file supplied at send time, which is how a receipt or a ticket is attached.

  • Text header: 60 characters, at most one variable.
  • Media header: image, video or document, supplied per send.
  • Only one header per template.
  • A location header is available for some categories.

Body

The required part, up to 1024 characters, and the only component that accepts several variables. Variables are positional and written as numbered placeholders, so the first one is filled by the first parameter you send.

Meta rejects bodies that are mostly variable with little fixed text, because a template that says almost nothing on its own is indistinguishable from an open field for arbitrary content. Write a real sentence around the placeholders.

Footer

Optional, sixty characters, fixed text with no variables at all. It renders smaller and greyer than the body, which makes it right for a standing note and wrong for anything the message depends on.

A common use is an opt-out line on marketing templates, which also helps the template's standing with recipients.

Buttons

Up to ten in total, in three kinds, and the mix decides a lot about approval.

  • Quick reply: sends a fixed text reply back to you when tapped.
  • Call to action: opens a URL or dials a phone number.
  • URL buttons accept one variable, appended to a fixed base URL.
  • Copy code: gives the recipient a code to copy, used for authentication.

Why the structure matters before review

Meta reviews the template as a whole, and most rejections are structural rather than about wording.

A body that is almost entirely variables, a URL button pointing somewhere unrelated to the business, or a marketing message submitted under a utility category are all rejected on structure. Getting the shape right first makes the wording review straightforward, and a template rejected on policy returns error 132007 rather than anything that names the real cause.

Common mistakes

  • Writing a body that is mostly placeholders. Meta rejects templates with too little fixed text.
  • Expecting variables in the footer. It is fixed text with no exceptions.
  • Submitting a marketing message under a utility category. Wording will not rescue the wrong category.
Doing this with EasyCoexistence

EasyCoexistence forwards template status webhooks to your endpoint, so an approval, a rejection or a later edit arrives as an event rather than as a send that fails in production.

Frequently asked questions

Which parts accept variables?

The header, at most one, and the body, several. Footers never do, and URL buttons accept one appended value.

How long can the body be?

1024 characters, which is the longest component by a wide margin.

How many buttons are allowed?

Up to ten in total, with limits within each type.

Why was my template rejected?

Most often structure rather than wording: too few fixed words, or the wrong category. That returns error 132007.

Keep reading

Ready to get started?

Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.

Start Free Trial

Verified on

WhatsApp Template Components