How to personalize messages on the WhatsApp Business API
Generic broadcasts feel like spam and quietly erode your WhatsApp quality rating. A personalized message — the customer's name, their order number, their delivery date, a link that resolves to their own account — reads like a one-to-one conversation and drives far higher open and reply rates. On the official WhatsApp Business API, personalization is done through template variables (placeholders like {{1}} and {{2}}) that you populate at send time from your CRM, a spreadsheet, or an automation. This tutorial walks you through it end to end in InfiQ: building a template with variables, mapping your data, previewing, testing on your own number, and going live — plus the mistakes that get templates rejected or messages billed as the wrong category.
What you'll do
Personalize WhatsApp API messages by adding variable placeholders ({{1}}, {{2}}, or named variables) to an approved template, mapping each to a data field, previewing with real values, testing on your own number, then sending. Get opt-in and category right so templates approve fast and bill correctly.Before you start: what you need ready
Personalization is only as good as the data behind it, so gather everything before you open the template editor. Confirm your WhatsApp Business API account is active and verified with InfiQ, and that you have documented opt-in for every contact you plan to message. Then decide exactly which pieces of information you want to insert into each message and where that data lives — a name column in a spreadsheet, an order field in your CRM, or a value your app can send through the API. Personalization on the API is not free-text editing of each message; it is filling predefined slots in an approved template, so the slots you design now must match the columns you can actually supply at send time.
- An active, verified WhatsApp Business API number on InfiQ
- Recorded opt-in for the audience you intend to message
- A clean data source (spreadsheet or CRM) with one column per variable
- A shortlist of the exact fields to insert — name, order ID, date, amount, link
Step 1 — Build a template with variable placeholders
In InfiQ's template editor, create your message and drop a placeholder wherever a value should change per recipient. Placeholders appear as numbered tokens — {{1}}, {{2}}, {{3}} — or as named variables that are easier to keep track of. Write real, human copy around each placeholder rather than stringing variables together; a body that reads “Hi {{1}}, your order {{2}} ships on {{3}}” approves far more reliably than one that is mostly tokens. Choose the category that matches the intent, because category, not personalization, determines billing: Utility for order and account updates, Authentication for one-time codes, Marketing for offers and promotions.
- Add a placeholder for every value that differs between recipients
- Keep at least one variable to a handful — avoid a wall of consecutive tokens
- Provide a realistic sample value for each variable so Meta can review it
- Pick Utility, Authentication, or Marketing to match the message's real purpose
- Submit for approval; most templates clear review quickly when copy and samples are clean
Step 2 — Map each variable to your data
Once the template is approved, connect each placeholder to the column or field that fills it. In a spreadsheet upload, that means matching {{1}} to your Name column, {{2}} to Order ID, and so on; in an automation or API call, it means passing the values in the same order the template expects. This mapping step is where personalization actually happens, so accuracy matters: a shifted column will greet every customer by the wrong name. Always set a fallback for optional fields — a friendly generic greeting when a first name is blank — so a missing value never produces an empty gap or a stalled send.
- Match every placeholder to exactly one data field in the correct order
- Set fallback values for fields that may be empty for some contacts
- De-duplicate and clean your list so no row maps to garbled data
- For API sends, pass parameters in the sequence the template defines
Step 3 — Preview, then test on your own number
Never trust a template you have only seen with placeholders. Use InfiQ's live preview to render the message with real sample values and read it exactly as the customer will, checking spacing, punctuation, and how the name and any links look on a phone screen. Then send a genuine test to your own WhatsApp number — not just an on-screen preview — and tap every button and link on the device to confirm they open the right page. This is the single step that catches the most embarrassing mistakes: a stray comma before a name, a broken personalized URL, or a number formatted as ₹ with no decimal.
- Render the template with realistic values, not the raw {{1}} tokens
- Send a real test message to your own number and open it on a phone
- Tap personalized links and CTA buttons to confirm they resolve correctly
- Check formatting of names, dates, amounts, and currency for every variant
Step 4 — Go live and monitor delivery
When the preview and test look right, send to your audience — a scheduled broadcast to a list, or an automated trigger firing personalized messages as events happen in your system. If the number is new, ramp volume gradually rather than blasting your entire list on day one, so WhatsApp can build trust in the sender. After launch, watch delivery and read status, replies, and your quality rating in the dashboard. Relevant personalization usually lifts reply rates, which supports your rating; a spike in blocks or opt-outs is a signal to revisit your targeting, timing, or how promotional the message really is.
- Broadcast to a list or trigger sends automatically from live events
- Warm up new numbers by increasing volume in stages
- Track delivered, read, and reply metrics plus your quality rating
- Treat rising blocks or opt-outs as a prompt to refine content and targeting
Common mistakes to avoid
Most personalization problems trace back to a handful of avoidable errors, and each one has a cheap fix. Messaging contacts who never opted in damages your quality rating and risks restrictions regardless of how polished the copy is. Choosing a Marketing category for what is genuinely a transactional update is both a rejection risk and a billing mismatch. Leaving variables unmapped or fed by dirty data produces broken, impersonal messages that undercut the entire point of personalizing. And skipping the on-device test means small formatting flaws reach thousands of customers at once.
- Sending without documented opt-in for the audience
- Picking the wrong template category for the message's real intent
- Cramming a template with back-to-back variables and little real copy
- Leaving fields unmapped or fed by messy, duplicated data
- Not warming up a new number before a high-volume send
- Skipping a real on-device test before going live
Frequently asked questions
What is the difference between a variable and a template on WhatsApp?+
Can I personalize free-form messages instead of templates?+
Why did my personalized template get rejected?+
Does personalization change how much a message costs?+
What happens if a variable value is missing for some contacts?+
Can I put personalized links or buttons in a template?+
Do I need a developer to personalize messages?+
How do I keep a good quality rating while personalizing at scale?+
Send messages that read like a conversation, not a broadcast
Talk to InfiQ's India-based team and we'll help you build, approve, and test your first personalized WhatsApp template — from opt-in to go-live.