Skip to content

Template Variables

WhatsApp templates can contain numbered placeholders — {{1}}, {{2}} — that are filled in per recipient when a campaign sends. In the wizard's Template step you map each placeholder to a variable.


Available Variables

Category Variable Value at send time
Campaign Campaign Name (campaign.name) The campaign's internal name
Campaign Campaign Description (campaign.description) The campaign's description
Campaign Campaign Body (campaign.body) Text you enter in the Template step — see below
Recipient Recipient Name (recipient.name) The contact's name (from your conversation history or CSV)
Recipient Recipient Phone (recipient.phone) The contact's phone number
Business Business Name (business.name) Your business name
Date & Time Current Date / Time / Year (current.date / current.time / current.year) The date/time the message is sent

Every placeholder in the template must be mapped before you can continue.


The Campaign Body Pattern

Campaign Body is the key to reusing one template across many campaigns.

Getting a new template approved by Meta for every promotion is slow. Instead, get one generic template approved — for example:

Hi {{1}}, {{2}}

Then for each campaign, map {{1}} → Recipient Name and {{2}} → Campaign Body, and type that campaign's message in the Campaign Body field. Same approved template, different message every time.

How the Campaign Body field works

  • The field appears in the Template step only when at least one placeholder is mapped to Campaign Body — if nothing references it, you're never asked for it.
  • While a placeholder references it, the field is required.
  • The text is inserted into the mapped placeholder(s) of the approved template. It is never sent as a standalone message.
  • The live preview shows your body text in place, so you see the finished message as you type.
graph LR
    T["Approved template<br/>Hi {{1}}, {{2}}"] --> M{Placeholder mapping}
    M -->|"{{1}} → recipient.name"| R[Per-recipient name]
    M -->|"{{2}} → campaign.body"| B[Campaign Body text]
    R --> OUT["Hi Priya, 20% off all services this week!"]
    B --> OUT

Image Header Templates

If your template declares an image header, the template itself doesn't contain the image — the campaign supplies it. Pick an asset from your Media Library (it must have Public visibility) in the Template step. Every recipient receives that image as the message header.


Fixed-Content Templates

A template with no placeholders sends its approved text exactly as-is to every recipient. In that case no variables are mapped, no Campaign Body is collected, and the campaign's name and description remain internal-only — they never appear in any message.