Use spin text to vary your wording
Spin text uses single braces with a pipe: {Hi|Hello|Hey} picks one option at random for each send, so no two messages are byte-identical. Groups can be nested, and they combine with double-brace variables like {{name}}. Spin the greeting, connectors and closing line rather than the substance — the goal is natural variation, not scrambled text.
The syntax
A spin group is single braces with options separated by pipes. One option is chosen at random each time a message is sent:
{Hi|Hello|Hey} there
sends as "Hi there", "Hello there" or "Hey there".
| You write | Behaviour |
|---|---|
{Hi|Hello|Hey} | One option chosen at random |
{Hi|{Hello|Hey}} | Nested — innermost resolves first |
{{name}} | A variable, not spin text — double braces |
{name} | No pipe, so left untouched and sent literally |
A single-brace token with no pipe is deliberately left alone. That is what keeps {name} from being mistaken for either feature — but it also means a mistyped variable sends visibly as {name}. See Personalise messages with variables.
Why it matters
Byte-identical text delivered to hundreds of recipients is trivially easy to fingerprint, and identical content is one of the signals WhatsApp weighs when deciding whether an account is broadcasting. Spin text breaks that pattern cheaply.
It is worth being realistic about the size of the effect. Varying your greeting will not save a campaign sent to people who never opted in — report rate dominates everything else. Spin text is a useful second-order protection on top of a consented list, not a substitute for one. See How to avoid a WhatsApp ban.
What to spin
Vary the connective tissue, not the substance. The offer, the price and the call to action should stay exactly as written; everything around them can move.
| Part of the message | Spin it? |
|---|---|
| Greeting | Yes — the easiest win |
| Opening phrase | Yes |
| Connectors and transitions | Yes |
| Closing line or question | Yes |
| Sign-off | Yes |
| The offer or price | No — must be exact |
| Product names | No |
| Dates, times, links | No |
A worked example
{Hi|Hello|Hey} {{name}},
{Quick note|Just a heads-up|Wanted to let you know} — your
{{product}} renews on {{renewal}}.
{Happy to answer any questions.|Let me know if you'd like to review it.|Any questions, just reply.}
{Thanks|Cheers},
Ashok — BuzzRelay
Four spin groups of three options each give 81 wording combinations, before personalisation. Across a few hundred recipients, essentially no two messages are identical.
Writing good options
- Every option must read naturally on its own. Read the message once per option before you use it.
- Keep options the same register. Mixing "Hey" with "Dear Sir" produces messages that read as though two people wrote them.
- Two or three options is plenty. Ten near-identical synonyms add combinations but not credibility, and one of them will read oddly.
- Watch the punctuation. If options end differently, put the punctuation inside the group:
{Thanks!|Cheers.} - Mind grammar around the group.
{a|an} {{product}}will get it wrong half the time.
Do not spin into nonsense. Heavily spun text of the "{cheap|affordable|low-cost} {deal|offer|bargain}" kind reads exactly like the spam it resembles, and gets reported faster than the plain version would have. Natural variation is the aim.
Testing before you send
The template editor previews a rendered message, and each preview picks fresh options, so refresh it a few times to see different combinations. Then send a real test to your own number — that is the only way to see exactly what a recipient gets, including line breaks and emoji.
Check your longest combination. If every group happens to choose its longest option, does the message still read well and stay a sensible length? That is the case worth checking, and the preview will not always show it to you.
Frequently asked questions
What is the spin text syntax in BuzzRelay?
Single braces with options separated by pipes, such as {Hi|Hello|Hey}. One option is chosen at random for each send. Groups can be nested, and a single-brace token without a pipe is left untouched and sent literally.
What is the difference between spin text and variables?
Spin text uses single braces with a pipe and varies the wording, for example {Hi|Hello}. Variables use double braces and insert per-recipient data, for example {{name}}. The brace counts differ deliberately so the two never collide.
Does spin text prevent a WhatsApp ban?
It helps but does not prevent one. Identical content is one signal WhatsApp weighs, and spin text breaks that pattern. Report rate from recipients who did not consent is a far stronger signal, and no amount of wording variation offsets it.
How many spin options should I use?
Two or three per group is usually enough. Four groups of three options already give 81 combinations. Long lists of near-identical synonyms add little and increase the chance that one option reads unnaturally.
Last updated: