Tutorial

WhatsApp Template Variables: Advanced Personalisation That Still Passes Meta Approval

A template variable is a placeholder WhatsApp fills with one customer's real detail, such as a name or order number, at send time. Advanced WhatsApp template personalisation without breaking approval: where variables can sit, why sample values matter, and dynamic URL buttons.

Arjun Mehta Published 5 May 2026 Updated 2 Sept 2026 12 min read

WhatsApp Template Variables: green cover card with the Tutorial label, two chat bubbles and a 12 min read tag

WhatsApp template variables in brief

WhatsApp template variables are placeholders such as {{1}}, or named ones like {{first_name}}, that Meta fills with one customer's real detail at send time, and placement mistakes with them are the most common reason WappBlaster users see a template rejected. The reviewer approves the template with the placeholders still in it, so the fixed words around them must carry the meaning alone. Variables can sit in three places: the body, a text header that takes a single variable, and a dynamic URL button that keeps a fixed base URL and appends a per-recipient ending. The rules are firm: never start or end the body with one, never let two touch, and never let them outnumber the text, since a short template with 4 variables reads like a blank form. Every variable needs a realistic sample at submission, never x or test. Long details like an order link belong in the button, and the campaign preview fills templates from real contacts so blank fields show up before the send.

How do you use WhatsApp template variables without getting rejected?

Never start or end the body with a variable or place two side by side, give each a realistic sample and keep enough fixed text to read without them.

WappBlaster supports dynamic URL buttons, so long details like an order link go in the button rather than the body.

  • One or two meaningful variables beat five fields.
  • Sample values are part of what Meta reviews.
  • Bad source data breaks even a good template.

WhatsApp template variables benefits

  • First-time approvals

    Following the placement rules removes the main reason templates come back rejected.

  • Messages that read personal, not merged

    One or two meaningful details make a bulk send feel written for a single customer.

  • Shorter bodies with URL buttons

    Order links and invoice paths go in a dynamic button, which keeps the text itself brief.

  • Easier template upkeep

    Named placeholders spare the team from remembering what a numbered slot was meant to hold.

  • Blank fields caught before sending

    A preview built from real contacts reveals a missing name before any customer sees 'Hi ,'.

A template variable is a promise that something true about this customer will appear in that spot. Kept to one or two meaningful details, variables make a bulk message read like it was written for one person. Stretched across five fields, they make it read like a mail merge, and they are the single most common reason WappBlaster users see a template come back rejected.

Quick answer: Never start or end the body with a variable, never put two variables side by side, give every variable a realistic sample value at submission, and keep enough fixed text around them that the template still makes sense with the variables removed. Personalise the URL button instead of the body when the detail is long, like an order link.

How a WhatsApp template variable actually works

In a template body, {{1}}, {{2}} and so on are placeholders filled at send time. Meta also accepts named placeholders such as {{first_name}}, which make long templates easier to maintain because nobody has to remember what {{3}} meant. Either way the reviewer approves the template with the placeholders in it, so the fixed words around them have to carry the meaning on their own.

Variables can appear in three places, and each has its own rules:

  • Body: as many as the text can carry, within the placement rules below.
  • Header: a text header takes a single variable; a media header takes an image, video or document supplied per send.
  • URL button: a dynamic button keeps a fixed base URL and appends a per-recipient ending.

The variable placement rules behind most template rejections

  1. Not at the start or end. "{{1}}, your order has shipped" is rejected; "Hi {{1}}, your order has shipped" is not. The same applies to the last word of the body.
  2. Not touching another variable. "{{1}} {{2}}" gives a reviewer no idea what will be sent. Put words between them: "{{1}} for {{2}}".
  3. Not outnumbering the text. A short template with four variables is read as a blank form that could carry anything, and is rejected as too many parameters for its length. Add context or cut variables.

Variable sample values are part of the template

When you submit, Meta asks for an example value for every variable, and the reviewer reads the template with those examples filled in. "Hi x, your xx is ready" looks like spam. "Hi Priya, your blue cotton kurta (size M) is ready for pickup" looks like what it is. Use real-looking samples from your own data, never "test".

Which details are worth a template variable

Personalisation earns its place when it changes what the customer does next. A useful test: would the message still be accurate with this detail left out? If yes, it probably does not need a variable.

Worth a variableUsually not
Order number, pickup time, amount dueCompany name repeated from the header
Product the customer actually viewedDay of the week
Nearest branch or assigned agentCustomer's city when the offer is national

Dynamic URL button variables in WhatsApp templates

Long or ugly details belong in the button, not the body. A dynamic website button with a base such as https://yourstore.com/orders/ and a per-recipient ending sends each customer straight to their own order, city page or invoice. The base URL must work at review time, so point it at a real page rather than a placeholder domain.

Bad data breaks good template variables

Approval is only half of it. A template that passed review still reads broken when the data behind it is empty: "Hi , your appointment is at" is worse than no personalisation. Before a bulk send, check the fields you map for blanks, all-caps names imported from old systems, and numbers stored as text with stray spaces. In WappBlaster the campaign preview fills the template from real contacts, so a missing field shows up before the send rather than in a customer's chat.

The campaign composer maps contact fields to variables and previews the result per contact. WappBlaster also helps draft and resubmit templates when one is rejected, as part of the flat ₹7999 a year platform fee ($200 outside India). Meta's per-message charge is passed through at cost. More on the sending side is on the bulk WhatsApp sender page.

For more personalisation, see personalised images and PDFs, sending a WhatsApp blast from Excel and ways to tailor the after-call WhatsApp message.

When WhatsApp template variables are the wrong choice

  • When the detail you want to insert is long, such as a full order link, put it in a dynamic URL button rather than in the message body.
  • If your contact fields are often blank, send a plain template with no variables until the data is cleaned up.
  • A message that needs more than one or two personal details reads like a mail merge, so a short reply written by a person in the open window may serve better.

WhatsApp Template Variables: questions

Where can variables be placed in a template?

Anywhere except the very start or the very end of the body, and never immediately adjacent to another variable. Those two rules cause most variable-related rejections.

Link to this answer

Why do sample values matter so much?

Reviewers judge the template by the sample, not by your intent. A sample of "x" or "test" invites rejection where a realistic value does not.

Link to this answer

How many variables is too many?

Beyond three or four the template becomes fragile at approval and starts reading as a mail merge. Personalisation that names one meaningful detail beats personalisation that names five.

Link to this answer

Can a button URL be personalised?

Yes, with a dynamic website button whose path is completed per recipient, so the link lands on their order or their city page. The base URL still has to be valid at review time.

Link to this answer

Can I use named variables like {{first_name}} in WhatsApp templates?

Yes. Meta accepts named placeholders as well as numbered ones, and they make long templates easier to maintain because nobody has to remember what {{3}} meant.

Link to this answer

How many variables can a WhatsApp template header have?

A text header takes a single variable. A media header takes an image, video or document supplied with each send instead.

Link to this answer

Which customer details are worth a template variable?

Ones that change what the customer does next: an order number, pickup time, amount due, the product they viewed or their nearest branch. If the message stays accurate without the detail, skip the variable.

Link to this answer

What happens if a WhatsApp template variable is empty at send time?

The message reads broken, for example 'Hi , your appointment is at'. Before a bulk send, check mapped fields for blanks, all-caps names and numbers stored with stray spaces.

Link to this answer

Can I preview personalised WhatsApp templates before sending?

Yes. WappBlaster's campaign preview fills the template from real contacts, so a missing field shows up before the send rather than in a customer's chat.

Link to this answer

Does WappBlaster help when a template with variables is rejected?

Yes. Help drafting and resubmitting rejected templates is included in the ₹7999 ($200) yearly WappBlaster fee, so a fix costs nothing extra.

Link to this answer

Still not answered?

Ask a real person. We reply on WhatsApp, usually within the hour.

Ask on WhatsApp

Arjun Mehta

Head of WhatsApp Business API, WappBlaster

Arjun Mehta leads WappBlaster’s official Meta WhatsApp Business Platform practice, bulk campaigns, chatbot, shared inbox and BSP migrations for 1,000+ India, UAE, USA and UK brands.

Ready to automate post-call follow-up?

Join 3,500+ businesses on Auto WhatsApp After Call, ₹2499 ($22.99)/yr per user.