Skip to main content
This page lists the building blocks of a WhatsApp template and the limits Flowella applies: categories, statuses, headers, body, footer, buttons, special template types and quality. To build and test a template step by step, see Templates. For header files, see Media headers.

Categories

Every template has one category. The category decides what content is allowed and how Meta prices each message. Meta’s prices also vary by country. See Pricing and categories. If Meta thinks the content doesn’t match the category you chose, it can reject the template or change its category. This is common when marketing content is submitted as Utility. Meta can also change a template’s category later, based on how it is used, which changes what you pay.

Template statuses

Flowella shows six template statuses. For a diagram of how a template moves between statuses, see Templates. For the pause types, see Pacing pauses and quality pauses.

Header formats

A header is optional. When present, it is one of these types: For media headers, the file you upload becomes the template’s sample, and sends use that file unless you give a different one. See Media headers. For Document headers, give the file a clear name in Document filename, for example Acme-Order-12345-Receipt.pdf. Recipients see this name on the WhatsApp document bubble.

Body and variables

The body is the main message text, up to 1,024 characters. Variables use double curly braces with a number:
  • Flowella’s editor creates numbered (positional) variables, starting at {{1}}. The numbers must be sequential: you can’t skip from {{1}} to {{3}}.
  • Every variable needs a Fallback value. Meta reviews it as the sample, and Flowella sends it when a contact’s value is empty. See Template variables.
  • Keep variables to short, predictable values. Long pasted blocks are a common rejection reason.
The same {{n}} syntax works in text headers and at the end of URL buttons.

Formatting in the body

WhatsApp supports a small set of inline formatting in template bodies. The editor toolbar adds it for you:
  • Bold with *asterisks*
  • Italic with _underscores_
  • Strikethrough with ~tildes~
  • Monospace with triple backticks
Use formatting sparingly. Heavily formatted templates are often rejected as looking like spam. Optional plain text shown after the body, up to 60 characters. No variables or formatting. During the free trial, the footer is fixed to Reply STOP to opt out. Powered by Flowella.io.

Buttons

Flowella’s editor can add these button types:
  • A template can have up to 10 buttons in total.
  • Button text can be up to 25 characters. Flowella sets the text of a coupon button for you.
  • Quick Reply buttons must sit together. Flowella places them after your other buttons.
  • A tap on a Quick Reply button sends its text as the customer’s message. Text that is exactly an opt-out keyword, such as Stop or Cancel, opts the contact out. See How keyword opt-outs work.
  • Copy coupon code buttons are for Marketing templates only.
  • The editor doesn’t offer one-time passcode (OTP) buttons.
  • Meta supports other button types, such as catalogue, multi-product and voice call buttons. Flowella’s editor can’t build them.
Quick reply buttons give you structured responses. URL and phone buttons take recipients from WhatsApp to your website or phone line. Flow buttons open the WhatsApp Flows you build from HubSpot forms. See Flows.

Specialised template types

Meta has several template types that add features to the basic structure. A carousel template (Meta calls it a media card carousel) sends a message bubble followed by up to 10 cards in a horizontal scroll. Each card has its own media, optional body text and buttons. Use carousels to show products from your catalogue, several offers or a feature comparison.
  • Marketing only. Carousel templates can only use the Marketing category.
  • 2 to 10 cards per template.
  • No header or footer on the message. The message has a body only. Each card carries its own media header instead, and the message itself can’t have buttons.
  • One media type per template. Every card uses an image header, or every card uses a video header. You can’t mix them.
  • Card body is optional, up to 160 characters. If one card has body text, every card needs body text.
  • Up to 2 buttons per card (Quick reply, URL or Phone number).
  • Same button structure on every card. Every card has the same number of buttons, with the same types in the same order. Button labels, URLs and phone numbers can differ per card.
Meta approves the whole template, not each card, so every card must suit the Marketing category. See Meta’s media card carousel templates documentation for the full specification. To build one in Flowella, see Build a carousel template.

Limited-time offer templates

Limited-time offer templates are Marketing templates that show an offer’s expiry date and a countdown timer for an offer code. They can’t have a footer. Flowella’s editor can’t build them. See Meta’s limited-time offer templates page.

Coupon code templates

A coupon code template has a Copy coupon code button that copies a code with one tap.
  • Coupon buttons are for Marketing templates only.
  • The code can be up to 20 characters, using letters and numbers only.
  • The code you enter in the editor is a sample for Meta’s review. It isn’t sent. Enter the real code under Coupon code buttons when you send a test or send from the inbox, or pass it through the API.

Authentication templates

Authentication templates deliver one-time passcodes. Meta offers three types:
  • One-tap autofill: uses Android’s autofill to fill in the code when the user taps the button.
  • Copy code: shows a copy button. The user pastes the code into your app. Works everywhere.
  • Zero-tap: for trusted senders, the code reaches your app without a tap. Strict eligibility rules apply.
Authentication templates have the strictest content rules: no marketing content and no extra body copy beyond the code. Flowella’s editor doesn’t add passcode buttons, so create authentication templates with those buttons in WhatsApp Manager.

Location templates

A location header shows a map pin that the recipient can open in their maps app with one tap. Use it for store visits, deliveries or event venues. Location headers are available for Utility and Marketing templates. Meta doesn’t store coordinates on the template, so you give them each time you send:
  • Test send: fill in Location latitude and Location longitude. Place name (optional) and Address (optional) can stay empty.
  • HubSpot workflow: map the latitude and longitude to the Template Variable slots after your body variables. See Template variables.
  • Bulk send can’t set a location, so don’t use it for location templates.

Quality rating

Once approved, each template builds up its own quality rating, separate from your phone number’s quality rating. The template rating uses the same Green, Yellow and Red scale and depends mostly on:
  • The block rate among recipients
  • How often recipients use Report in WhatsApp
  • Sustained low engagement, such as no replies or link clicks
A Red rating can lead WhatsApp to pause the template, even if your phone number’s rating is Green. See Meta’s template pausing page. In Flowella, the templates list shows a Quality: Red pill or a Quality: Yellow badge. See Delivery-health pills.

Time-to-live (TTL)

Time-to-live is how long WhatsApp keeps trying to deliver a message, for example while the recipient’s phone is offline. If WhatsApp can’t deliver the message in that time, it drops it. Flowella has no TTL setting, so your templates use Meta’s defaults: See Meta’s message time-to-live page.

Common rejection reasons

  • Promotional content submitted as Utility. Resubmit it as Marketing.
  • Variable samples that don’t match the body, for example samples that contain links the body doesn’t explain.
  • Body or header text that looks like spam, such as excessive capital letters, “Click here” or several exclamation marks in a row.
  • Broken or unreachable media header URLs.
  • Footer text that contradicts the body.
  • Generic templates that any business could send. Hi {{1}}, special offer for you is too vague for marketing approval.
  • Variables in the wrong place, such as a variable where Meta doesn’t allow one, for example in some button types.
  • A display name that doesn’t match the brand in the template. If your WhatsApp display name is “Acme” and the template promotes “Beta Co”, Meta rejects it.
To change an approved template and keep a working version, click Clone on the Templates page. Edit the copy and publish it while the original stays live. Clone copies the header media (image, video or document) and the Document filename to the new draft. If Flowella can’t copy the media, the editor shows a warning and you need to upload the file again before you publish.
Last modified on October 24, 2026