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.
{{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
Footer
Optional plain text shown after the body, up to 60 characters. No variables or formatting. During the free trial, the footer is fixed toReply 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
StoporCancel, 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.
Specialised template types
Meta has several template types that add features to the basic structure.Carousel templates
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.
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.
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
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 youis 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.
Related guides
- Templates: build, test and manage templates
- Template variables: variables, samples and fallback values
- Media headers: the files you can use in a header
- Template rejected: diagnose rejections
- Template errors when you publish: errors Meta returns as soon as you publish or save a template
- Quality score: how phone number quality relates to template quality
- Messaging limits: how many people Meta lets you message in 24 hours

