📣 WhatsApp Broadcasts

Personalizing WhatsApp Broadcasts with Variables

Give every recipient their own name, order number or city — and a safe fallback when a value is missing.

A message that opens with the customer's name reads like a conversation, not a blast. Personalization binds each template placeholder to a per-contact value so a single broadcast produces thousands of individually-tailored messages.

How template variables work

Template placeholders look like {{1}}, {{2}}, and so on. When you build a broadcast, you decide what fills each one. For every placeholder you pick a source:

Fallbacks: never send a blank

WhatsApp rejects a template message if a body variable resolves to an empty value — so every attribute-backed variable needs a fallback. If a contact is missing first_name, the fallback ("there", "friend", your brand name) is used instead. ConvoFly blocks you from launching if any variable could resolve blank, so a missing value never fails a send mid-broadcast.

Where personalization is resolved

Use your own fields

Beyond the fields that come from Shopify, you can personalize with fields you create yourself — a plan name, a loyalty tier, a booking reference. Create the field in Settings → Contact Attributes, then fill it either automatically from your store (an Update Customer Attribute step in the automation builder) or by pushing it from your own tool via the account API key in Settings. Once a field has a value, it's available as a personalization variable. Full steps are in building audiences with segments.

Tips for clean personalization

Frequently asked questions

What happens if a contact is missing a personalization value?

The fallback value you set for that variable is used instead. WhatsApp rejects empty template variables, so ConvoFly requires a fallback and blocks launch if any variable could resolve blank — protecting the whole broadcast from a mid-send failure.

Can different recipients get different values in the same broadcast?

Yes — that's the point. When a variable's source is a contact attribute, each recipient's own value is resolved at send time, so one broadcast produces thousands of individually personalized messages.

Does personalization work with CSV uploads?

Yes. With a CSV audience, variable values are read directly from the columns in your uploaded file rather than from stored contact attributes.