Back to Blog
Personalization Guide

WhatsApp Template Message Variables Complete Guide India 2026: Dynamic Content That Converts

July 22, 2026 14 min read

WhatsApp template variables let you send personalized messages at scale. Instead of sending "Hi customer, your order is confirmed" to everyone, you send "Hi Priya, your order #12345 is confirmed for ₹1,299" — using a single approved template with dynamic placeholders. Personalized messages get 35% higher open rates and 28% higher CTR. This complete guide covers everything you need to know about WhatsApp template variables in India for 2026.

What You'll Learn

  • • How WhatsApp template variables work ({{1}}, {{2}}, {{3}})
  • • Variable limits and Meta approval rules
  • • 20+ ready-to-use template examples with variables
  • • Personalization best practices for Indian audiences
  • • Common mistakes that cause template rejection
  • • How to test variables before sending to thousands

What Are WhatsApp Template Variables?

WhatsApp template variables (also called placeholders or dynamic parameters) are special markers you add to approved message templates. The most common format is:

Hi {{1}}, your order {{2}} is confirmed for ₹{{3}}. Delivery on {{4}}. Track here: {{5}}

When you send the message, you replace each numbered variable with actual data from your system:

  • {{1}} → Customer name (Priya)
  • {{2}} → Order ID (#12345)
  • {{3}} → Amount (1,299)
  • {{4}} → Delivery date (July 25)
  • {{5}} → Tracking link

The customer receives:

Hi Priya, your order #12345 is confirmed for ₹1,299. Delivery on July 25. Track here: https://track.example.com/12345

One approved template with variables can send millions of unique personalized messages — each tailored to the recipient's data.

Variable Syntax and Rules

Variable Numbering

Variables are numbered sequentially starting from 1: {{1}}, {{2}}, {{3}}, etc. The numbering is independent for each section (header, body, buttons).

Example template structure:

Header: Order Confirmation for {{1}}
Body: Hi {{1}}, your order {{2}} has been confirmed. Total: ₹{{3}}. Expected delivery: {{4}}.
Button 1: Track Order [URL: https://track.example.com/{{1}}]

Notice {{1}} appears 3 times (header, body start, button URL) — when sending, you provide the value once and it auto-fills everywhere {{1}} appears.

Maximum Variables Per Template

  • Header: 1 variable maximum (text header only; media headers don't support variables)
  • Body: Technically unlimited, but Meta recommends 3-5 max for readability
  • Buttons: 1 variable per button (usually for dynamic URLs)
  • Total per template: 10 variables maximum (across all sections combined)

What Can Go Inside Variables?

Variables accept plain text only. Allowed content:

  • Text: Names, addresses, product names, descriptions
  • Numbers: Phone numbers, order IDs, amounts, quantities
  • Dates: Any date format (July 22, 2026 or 22-07-2026 or 22/07/2026)
  • URLs: Full links (https://example.com/page)
  • Alphanumeric codes: OTPs, tracking IDs, coupon codes

NOT allowed in variables:

  • Emojis (put emojis in the template text, not in variables)
  • Formatting (bold, italic, strikethrough)
  • Line breaks within a variable
  • HTML or special characters beyond basic punctuation

Variable Length Limits

Each variable value can be up to 1,024 characters, but practical limits for readability:

  • Names: 50 characters max
  • Amounts/IDs: 20 characters max
  • Dates: 30 characters max
  • URLs: 200 characters max (use link shorteners for longer)
  • Descriptions: 150 characters max

Templates with variables exceeding 200 characters each have higher rejection rates during Meta approval.

20+ WhatsApp Template Examples with Variables (Ready to Use)

1. E-commerce Order Confirmation

Body: Hi {{1}}, your order {{2}} is confirmed! 🎉 Total: ₹{{3}}. Expected delivery: {{4}}. Track your order anytime.
Button 1: Track Order [URL: {{5}}]
Variables: (1) Customer name, (2) Order ID, (3) Amount, (4) Delivery date, (5) Tracking link

2. Abandoned Cart Recovery

Body: Hi {{1}}, you left {{2}} in your cart. Complete your order now and get ₹{{3}} off! Offer valid for {{4}} hours only.
Button 1: Complete Order [URL: {{5}}]
Variables: (1) Name, (2) Product name, (3) Discount amount, (4) Hours remaining, (5) Cart link

3. Payment Confirmation

Body: Payment received! ₹{{1}} paid via {{2}} on {{3}}. Transaction ID: {{4}}. Your receipt is ready.
Button 1: Download Receipt [URL: {{5}}]
Variables: (1) Amount, (2) Payment method, (3) Date, (4) Transaction ID, (5) Receipt link

4. Appointment Reminder

Body: Hi {{1}}, this is a reminder for your appointment on {{2}} at {{3}}. Location: {{4}}. Please arrive 10 minutes early.
Button 1: View Details
Button 2: Reschedule [URL: {{5}}]
Variables: (1) Name, (2) Date, (3) Time, (4) Location, (5) Reschedule link

5. OTP Verification

Body: Your OTP is {{1}}. Valid for {{2}} minutes. Do not share this code with anyone. — {{3}}
Variables: (1) OTP code, (2) Validity minutes, (3) Company name

6. Shipping Update

Body: Great news, {{1}}! Your order {{2}} has been shipped and will arrive by {{3}}. Courier: {{4}}.
Button 1: Track Shipment [URL: {{5}}]
Variables: (1) Name, (2) Order ID, (3) Delivery date, (4) Courier name, (5) Tracking link

7. Low Stock Alert

Body: Hi {{1}}, {{2}} is running low! Only {{3}} units left at ₹{{4}}. Grab yours before it's gone.
Button 1: Buy Now [URL: {{5}}]
Variables: (1) Name, (2) Product name, (3) Stock count, (4) Price, (5) Product link

8. Subscription Renewal Reminder

Body: Hi {{1}}, your {{2}} subscription expires on {{3}}. Renew now for ₹{{4}}/month and continue enjoying premium benefits.
Button 1: Renew Now [URL: {{5}}]
Variables: (1) Name, (2) Plan name, (3) Expiry date, (4) Price, (5) Renewal link

9. Event Registration Confirmation

Body: You're registered for {{1}} on {{2}} at {{3}}! Registration ID: {{4}}. See you there, {{5}}!
Button 1: Add to Calendar [URL: {{6}}]
Variables: (1) Event name, (2) Date, (3) Time, (4) Registration ID, (5) Attendee name, (6) Calendar link

10. Feedback Request

Body: Hi {{1}}, how was your recent purchase of {{2}}? Your feedback helps us improve. Take 30 seconds to rate your experience.
Button 1: Leave Feedback [URL: {{3}}]
Variables: (1) Name, (2) Product name, (3) Survey link

Personalization Best Practices for Indian Audiences

1. Always Use First Name (Not Full Name)

Indian users respond better to "Hi Priya" than "Hi Priya Sharma" or "Dear Customer". First name feels personal without being overly formal.

Good: Hi {{1}}, your order is ready (where {{1}} = Priya)

Bad: Hi {{1}}, your order is ready (where {{1}} = Priya Sharma) — too formal

2. Include Order/Transaction ID for Trust

Indian customers are wary of WhatsApp scams. Including a specific order ID or transaction reference builds trust and confirms the message is genuine.

Good: Your order {{1}} is confirmed (where {{1}} = #12345)

Bad: Your order is confirmed (no ID — looks like spam)

3. Show Amount in INR with ₹ Symbol

Always prefix amounts with ₹ and format with commas for Indian readability.

Good: Total: ₹{{1}} (where {{1}} = 1,299)

Bad: Total: {{1}} rupees (awkward phrasing)

4. Use Familiar Date Formats

Most Indian users prefer DD-MM-YYYY or "22 July 2026" format. Avoid MM-DD-YYYY (American format).

Good: Delivery on {{1}} (where {{1}} = 25 July 2026)

Bad: Delivery on {{1}} (where {{1}} = 07/25/2026 — confusing)

5. Keep Variables Short for Mobile Screens

80%+ of Indian WhatsApp users are on mobile. Long variable values break formatting and hurt readability.

Good: Product: {{1}} (where {{1}} = Nike Air Max 270)

Bad: Product: {{1}} (where {{1}} = Nike Air Max 270 Black/White Men's Running Shoes Size 9 UK) — too long

Common Mistakes That Cause Template Rejection

1. Too Many Variables

Templates with 6+ variables have 40% higher rejection rates. Meta reviewers flag them as "overly complex" or "promotional".

Bad template:

Hi {{1}}, {{2}} is {{3}} off at {{4}} until {{5}} for {{6}} customers only. Code: {{7}}.

This will likely get rejected. Combine some variables into fixed text:

Good template:

Hi {{1}}, {{2}} is {{3}} off! Use code {{4}} at checkout. Offer valid until {{5}}.

2. Variables in Prohibited Positions

Meta rejects templates with variables in certain positions:

  • Start of message: Don't start body with a variable. Always start with fixed text or greeting.
  • Footer section: Footer doesn't support variables
  • Media captions: Image/video captions can't have variables

Bad: {{1}}, your order is ready (starts with variable — rejected)

Good: Hi {{1}}, your order is ready (starts with "Hi" — approved)

3. Ambiguous Variable Purpose

During approval, Meta reviewers must understand what each variable represents. If it's unclear, the template gets rejected.

Bad: Your {{1}} is {{2}} — what is {{1}}? What is {{2}}? Unclear.

Good: Your order {{1}} is confirmed — clear that {{1}} is an order ID

4. Using Variables for Entire Sentences

Variables should be short data points, not full sentences. Meta rejects templates that look like they're trying to bypass content review by hiding promotional text in variables.

Bad: {{1}} (where {{1}} = "Get 50% off all products today only click here now!")

Good: Get {{1}} off all products! (where {{1}} = 50%)

How to Test Variables Before Sending

Step 1: Create Test Template

Submit your template with variables to Meta for approval. Once approved, create a test campaign before sending to your full list.

Step 2: Send Test Message to Yourself

Most WhatsApp Business API tools (including WhatSender) have a "Send test message" feature. Fill in sample variable values and send to your own WhatsApp number.

Check for:

  • Proper variable replacement (no {{1}} or {{2}} showing in final message)
  • Formatting (line breaks, spacing)
  • Mobile display (how it looks on small screens)
  • Link functionality (if using variable URLs)

Step 3: Send to Small Test Group (10-20 Contacts)

Before broadcasting to thousands, send to 10-20 real contacts with real variable data from your database. Check delivery rates and responses.

Step 4: Monitor for Errors

Common variable errors when sending at scale:

  • Missing data: Variable value is empty/null (shows blank space in message)
  • Wrong data type: Expecting number, got text (e.g., amount field has "N/A" instead of price)
  • Encoding issues: Special characters break (₹ symbol or Hindi text not displaying)

Send Personalized WhatsApp Messages with WhatSender

WhatSender makes it easy to send WhatsApp messages with variables. Upload your contact list (CSV with name, phone, order ID, amount, etc.), map columns to variables, and send thousands of personalized messages in minutes. Start free — 50 messages/day forever.

Try WhatSender Free

Advanced Variable Techniques

1. Conditional Logic with Variables (Using API)

Some advanced WhatsApp API tools support conditional variable replacement:

Hi {{1}}, your order is {{order_status}}.

Your code checks the status and sends different variable values:

  • If status = "confirmed", send "confirmed and will ship soon"
  • If status = "shipped", send "shipped and arriving in 2 days"
  • If status = "delivered", send "delivered. Enjoy your purchase!"

2. Dynamic URL Parameters in Button Variables

Button URLs can include multiple parameters using a single variable:

Track Order [URL: https://track.example.com?order={{1}}&phone={{2}}]

When sending, combine order ID and phone into one variable value:

{{1}} = 12345&phone=919876543210

Final URL: https://track.example.com?order=12345&phone=919876543210

3. Fallback Values for Missing Data

In your sending logic, always have fallback values for variables in case data is missing:

  • Name missing? Use "Customer" or "there"
  • Amount missing? Use "--" or skip variable entirely
  • Date missing? Use "soon" or "within 7 days"

Example:

Template: Hi {{1}}, your order is ready.

If name is null/empty in database, send: Hi there, your order is ready. (fallback = "there")

Variable Limits by Platform

PlatformMax VariablesNotes
WhatsApp Business App0Does not support variables
WhatsApp Business API10Across header + body + buttons
Web-based tools (WhatSender)10Same as API (uses API backend)

FAQ: WhatsApp Template Variables

Can I use emojis in variables?

No. Emojis in variables cause template rejection. Put emojis in the template text itself, not in variable values.

What happens if I send a message with missing variable data?

If a variable value is empty/null, the message will show a blank space where the variable should be. Always validate your data before sending to avoid this.

Can I edit a template after it's approved?

No. Any edit to an approved template (including variable count or position) requires re-submission and re-approval. Create a new version instead.

How do I know if my variables are the right length?

Test on mobile before sending at scale. If variable values wrap to 3+ lines on a standard phone screen (5-6 inch), they're too long.

Related Articles