Guide
WhatsApp Template Variables and Buttons: The Complete 2026 Guide (Limits, Types, Examples)
How WhatsApp template variables and buttons work in 2026: named vs positional variables, sample values, button types and limits, headers, and examples.
By Abbas Ali, Founder, WatsBerry6 min read

Quick answers
- What are variables in a WhatsApp template?
- Variables, called parameters in Meta's API, are placeholders in a template, such as a customer name or order number, that you fill in each time you send. They can be positional like {{1}} or named like {{order_id}}, and you must provide example values when you create the template.
- Should I use named or positional variables?
- Named variables such as {{customer_name}} are easier to read and less error-prone because values can be passed in any order. Positional variables like {{1}} must be numbered sequentially and filled in order. Meta supports both; positional is the default if you don't specify.
- How many buttons can a WhatsApp template have?
- Up to 10 buttons in total. Within that, up to 10 quick reply buttons, 2 URL buttons, 1 phone number button and 1 copy-code button. If a template has more than three buttons, WhatsApp shows two and puts the rest behind a 'See all options' button.
Short answer
Variables are placeholders you fill at send time. Write them as positional {{1}}, {{2}} or named {{customer_name}} (lowercase and underscores), and add a sample value for each when you submit. A template has a body (required, up to 1,024 characters). It can also have a header (text up to 60 characters with 1 variable, or image, video, document or location), a footer (60 characters) and up to 10 buttons: up to 10 quick replies, 2 URL, 1 phone and 1 copy-code button.
Part 1: Variables (parameters)
Named vs positional
| Positional | Named | |
|---|---|---|
| Looks like | {{1}}, {{2}} |
{{customer_name}}, {{order_id}} |
| Rules | Sequential numbers starting at 1 | Unique, lowercase letters and underscores |
| Order when sending | Must match placeholder order | Any order |
| Default | Yes, if you don't set a format | Set parameter_format: named |
| Best for | Simple, short templates | Teams, multiple languages, fewer mistakes |
Example (named):
Thank you, {{first_name}}! Your order number is {{order_number}}.
When you create this template, you provide examples like "Priya" and "WB-10234". When you send it, you pass the real values.
Variable rules that cause rejections
Meta's template review page lists these formatting failures:
- Missing or mismatched curly braces
- Special characters like
#,$or%inside the variable - Non-sequential positional numbers (
{{1}},{{2}},{{5}}) - Too many variables relative to the message length
- Starting or ending the template with a variable
India tip: keep the currency symbol outside the variable: ₹{{amount}}, not {{₹amount}}. Format numbers the way your customers read them (₹1,499, not 1499.00).
Where variables are allowed
- Header (text): 1 variable
- Body: multiple variables (keep it reasonable)
- Footer: no variables (it's fixed text)
- URL button: 1 variable, at the end of the URL
- Copy-code button: the code is set at send time (up to 20 characters)
- Authentication templates: parameters limited to 15 characters, and no URLs, media or emojis (see Meta's authentication templates guide)
Part 2: Headers
| Header type | Notes |
|---|---|
| Text | Up to 60 characters, 1 variable, no Markdown special characters |
| Image / video / GIF / document | Upload a sample through Meta's Resumable Upload API (your platform does this for you). The sample is reviewed. |
| Location | Generic map, set when sending. Utility or marketing only. Good for store locators and delivery points. |
Practical tips for Indian brands:
- Use document headers for invoices or e-tickets in utility templates.
- Use image headers for product launches in marketing templates.
- Keep text readable on small screens. Many Indian users are on budget Android phones.
A complete example, end to end
Template name: cod_confirm_v2 · Category: Utility · Language: English (en)
- Header (text): Confirm your order
- Body: Hi {{customer_name}}, you placed a cash on delivery order {{order_id}} for ₹{{amount}}. Please confirm so we can dispatch it within 24 hours.
- Footer: Questions? Just reply here.
- Buttons: Confirm order (quick reply) · Cancel order (quick reply) · View order (URL:
https://yourstore.in/orders/{{1}}) - Samples: Priya · WB-10234 · 1,499 · WB-10234
Common mistakes checklist
- Variables named in Hindi or with spaces (
{{customer name}}): usecustomer_name - Sample values missing for header media or URL variable
- Coupon inside a utility template (it becomes marketing)
- Three URL buttons (max is two)
- Footer with a variable (not allowed)
- Authentication template with an emoji or link
Where WatsBerry fits
WatsBerry runs template campaigns and automations on the official WhatsApp Cloud API, triggered by Shopify events (order alerts, cart recovery) or by forms and Google Calendar bookings (reminders). Button replies land in the shared inbox or the next step of an automation. Meta bills WhatsApp usage to your own payment method (0% markup on Meta's per-message rates), and WatsBerry charges a separate platform plan (₹1,599 / ₹2,999 / ₹5,999 per month + GST).
Next step
If you're unsure how to map your store or booking data into variables, message me from watsberry.com with one template and I'll show you the cleanest structure. You can also join the waitlist for the 14-day free plan.
Abbas Ali, Founder, WatsBerry
Frequently asked questions
What are variables in a WhatsApp template?
Variables, called parameters in Meta's API, are placeholders in a template, such as a customer name or order number, that you fill in each time you send. They can be positional like {{1}} or named like {{order_id}}, and you must provide example values when you create the template.
Should I use named or positional variables?
Named variables such as {{customer_name}} are easier to read and less error-prone because values can be passed in any order. Positional variables like {{1}} must be numbered sequentially and filled in order. Meta supports both; positional is the default if you don't specify.
How many buttons can a WhatsApp template have?
Up to 10 buttons in total. Within that, up to 10 quick reply buttons, 2 URL buttons, 1 phone number button and 1 copy-code button. If a template has more than three buttons, WhatsApp shows two and puts the rest behind a 'See all options' button.
Can a URL button have a variable?
Yes. A URL button supports one variable, appended to the end of the URL, for example https://example.in/track/{{1}}. You provide an example value at creation and the real value when sending.
Why does WhatsApp reject templates with variables at the start?
Meta's review rules don't allow a template to start or end with a parameter (a dangling parameter). Add fixed text before and after, for example 'Hi {{customer_name}}, ...' and end with a full sentence.
Sources
Related guides

Guide
WhatsApp Template Rejected? 12 Reasons and How to Fix Each One (2026)
WhatsApp template rejected? The 12 most common reasons (variables, policy, duplicates, wrong category) with fixes, appeal steps and India examples.
Read
Guide
WhatsApp Template Examples for Indian Businesses (2026): 25 Copy-Ready Messages by Industry
25 WhatsApp template examples for Indian businesses: D2C, clinics, salons, coaching, real estate. Correct category, variables and buttons for each, 2026 rules.
Read
Guide
WhatsApp Carousel Template: How to Create One, Image Size Tips and Examples (2026)
WhatsApp carousel templates explained: 2 to 10 swipeable cards, media and product carousels, button rules, image tips, cost in India and examples.
Read
Guide
WhatsApp Flows Explained: Forms, Bookings and Lead Capture Inside WhatsApp (2026 Guide)
What WhatsApp Flows are, how they work (screens, endpoints, templates), 6 India use cases from bookings to lead forms, pricing, best practices and limits.
Read
Guide
What is WhatsApp Business API? The definitive guide for Indian SMBs (2026)
The WhatsApp Business API (Meta’s WhatsApp Business Platform, delivered through Cloud API) connects WhatsApp to software: approved templates, chatbots, many agents on one number, and integrations. How it differs from the Business App, Cloud API vs BSPs, 2026 India pricing, and a 10-step setup.
Read