- Use spintax for sentence-level variety with three to five options per slot, and read every expanded version before launch.
- Give every merge field a fallback, so a missing first name never produces a greeting that reads 'Hi {first_name}' to a real person.
- Vary the structure and the point of a sentence rather than its synonyms, because filters respond more to what a message says than to how it is worded.
A cold email arrives that reads: “Hi {Dana|there}, I {noticed|saw|came across} that {your team|your company} {is growing|has been hiring}.” The recipient sees the braces and the odd word choices and knows, in a second, that a template produced the message. Spintax has a bad reputation for exactly this reason. It has been used to churn out copy that reads like a machine trying to sound human, and filters have learned to recognize the output.
The tool itself is not the problem. Spintax is a way of writing a template with alternatives at specific points, so that each recipient gets a slightly different version. Used with care, it is a reasonable way to vary wording across a large send. Used carelessly, it produces gibberish, and it helps far less with deliverability than people hope. Understanding what it actually does, and what filters actually look at, is the difference between a useful tool and a liability.
What spintax does, and how it earned a bad name
Spintax uses a simple syntax. Curly braces enclose a set of options separated by pipes, and the sending tool picks one option at random each time it sends. A greeting written as {Hi|Hey|Hello} becomes one of three greetings. Some tools support nested groups, so an option can contain another set of alternatives, and some support escaping for literal braces. The exact rules depend on the tool, so check its documentation for nesting and escaping before you write a large template.
The bad reputation comes from how spintax is usually written. A template built by synonym swapping, where each word has three or four near-equivalents, produces sentences that drift from natural to strange. “Hi Dana, I came across that your squad is progressing” is grammatical, and no human writes it. Multiply that across a dozen slots and the result is a message that sounds like nobody in particular. Recipients notice, and some filters are tuned to the patterns that bad spintax produces.
Good spintax is written differently. It varies the sentence’s point, its structure, and its opening, and it uses the synonyms only where they genuinely mean the same thing. The output is harder to write, and it is much easier to defend.
The arithmetic of variation
The number of versions a spintax template can produce grows quickly, and that growth looks impressive in a demo. Three slots with three options each produce 27 distinct messages. Five slots with four options each produce 1,024. A ten-slot template with three options per slot produces 59,049.
Those numbers are real, and they are also the wrong thing to be impressed by. The count measures how many strings you can generate. It does not measure how different those strings are to a machine that reads them. Two messages that differ only in one word out of thirty are, for a filter, nearly the same message, and the count of permutations tells you nothing about that similarity.
The useful question is how much of each message is identical across versions. If most of the sentences are the same and only a single word changes, the variants are close to duplicates. If the points, structures and openings differ, the variants are genuinely different, even if the total number of permutations is smaller.
Why filters don’t care about your permutation count
Spam filters and mailbox providers do not read messages the way a person does. They break content into features they can compare, and one common approach is to split a message into overlapping runs of words and measure how many of those runs appear in other messages. This technique, often described in terms of shingles, is good at spotting near-duplicates even when the text has been lightly shuffled.
Consider two versions of a message. Version A is “Hey Dana, noticed your team is growing. Worth a quick look?” Version B is “Hi Dana, saw your team is expanding. Worth a quick look?” The second half of both messages is identical, and the phrase “your team is” appears in both. Compare the overlapping runs of words and most of them match. A system tuned for similarity will see two versions of one message, and the thirty-permutation template has produced one piece of content with thirty coats of paint.
The lesson is that the variation has to reach the level of content, not the level of wording. Change the point of the sentence, change the structure of the message, and change which fact you lead with. Those changes alter the word sequences in ways that matter to a comparison system, and they also make the message read as if a person chose it.
Merge fields with fallbacks: personalization that holds up
Spintax varies wording. Merge fields insert data about the recipient, such as a first name, a company, a role, or a recent event. Real personalization comes from merge fields that carry a fact about the person or the company, not from a first name alone. A first name in a greeting is a courtesy. A specific detail, like the company’s recent product launch or a hiring pattern visible on its careers page, is evidence that someone did their homework.
Merge fields have one common failure, and it is embarrassing. When the data is missing, the field either goes out as a literal placeholder or it produces a broken sentence. A greeting that reads “Hi {first_name},” or “Hi ,” tells the recipient immediately that the sender did not check the message. The fix is a fallback: a default value that is used when the field is empty. Most tools let you define one, and the syntax varies, so check yours. The fallback should be neutral. A greeting that falls back to “Hi there” is fine. A fallback that invents a name is not.
Fallbacks also need to be designed into the sentence, not just the field. A sentence that needs a company name should read sensibly when the name is missing. “Saw the news about {company}” becomes awkward without a company. Write the sentence so that the fallback produces something a person would plausibly say, or split the template so that records without the field use a different version.
Test the empty record: before every launch, send a test version built from a contact with the fields blank. A missing first name going out as a literal placeholder is one of the most common and most avoidable mistakes in cold email.
Vary the structure, not the synonyms
The most effective use of spintax is to vary the structure of a message. A template can have three openers, each making a different point, rather than one opener with three words swapped. An observation-led opener, a problem-led opener, and a reference-led opener produce messages that differ in their content, not just their vocabulary.
Here is how that looks in practice. The observation-led version might say that the company has been hiring several roles in one function, and ask whether that’s a priority this quarter. The problem-led version might name a common friction in that function and ask whether it shows up on the team. The reference-led version might mention a specific piece of the company’s public material and ask a question about it. Each opener is a complete thought with a different point, and the spintax selects among them.
Within each opener, keep the core of the message stable. The call to action, the offer, and the claim should be the same across versions, or varied deliberately as part of a test. Spintax should change the frame around a stable message, not produce a different message every time. That keeps the substance consistent, which is what the recipient remembers, and it keeps your testing clean.
A template that holds up, worked through
Here is what a well-built template looks like, reduced to its essentials. The greeting uses a neutral fallback, so a missing name doesn’t break the message. The opener varies in its point: one option notices a hiring pattern, one refers to a public announcement, and one names a common friction in the function. Each option makes a different claim about the company, so the expanded versions differ in substance rather than wording. The closing question stays the same across versions, so the call to action is consistent and easy to test. The one-sentence offer is written once and doesn’t vary at all.
Expanded, the template produces messages a reader would find plausible on their own. Greeting, opener and question each make sense in any combination, and no sentence depends on a word order set by another. That is the test to apply to your own template. Read each combination of options and ask whether a careful human sender would plausibly have written it. If the answer is only sometimes yes, cut the options that cause the failures rather than adding more of them.
Vary the point, then count the options: pick the three to five framings that each make a different claim, and resist adding a sixth just to raise the permutation count.
A QA process for any template with variables
Any template with variables needs a short quality check before it goes out. The check takes less time than the damage from skipping it.
- Expand a sample of versions and read them, ideally aloud. Look for sentences that don’t parse, awkward phrasing, and pairs of options that don’t fit the surrounding text.
- Check grammar across the joins. Articles are a common problem: “a” versus “an” changes depending on the word that follows, and a spintax option may create a mismatch. Check pluralization and capitalization after each option too.
- Test the fallbacks with a contact that has every merge field empty, then with one that has only some fields filled.
- Confirm the call to action is identical across versions, unless you are testing it on purpose.
- Limit the options per slot. Three to five is usually enough to create real variety. Beyond that, the options become harder to check and easier to get wrong.
- Send a seed test to a small set of mailboxes you control before the full send, and check how the versions render in each one.
The check is not glamorous. It is the part that separates a template that looks human from one that looks generated, and it is the part most teams rush.
When not to use spintax
Spintax is a good tool for a specific job, which is varying the wording of a message whose substance is the same across the list. It is the wrong tool for several other jobs.
When each message needs real research about the recipient, spintax is not enough. Per-contact personalization built from a verified, specific fact about the company is more effective than any permutation of a generic template. AI-assisted lines can help with that, but only when they are grounded in real facts you have checked and reviewed. A generated line that sounds specific but rests on an invented detail is worse than no personalization at all.
When the list is small, spintax adds complexity without much benefit. A list of fifty contacts can be written as fifty versions in an afternoon, and the quality will be higher.
When the message needs a single careful voice, such as a sensitive outreach or a high-value account, a human-written message beats any template. The point of variation is to avoid the look of a mass send, and a message written for one person doesn’t have that look in the first place.
A simple way to compare your options
The table below sets out the common approaches to variation, with the trade-offs that matter.
| Approach | Real variety | Main risk | Effort |
|---|---|---|---|
| One fixed template | None | Recipients and filters see the same message every time | Low |
| Spintax with synonym swaps | Large count, little real difference | Gibberish, and near-duplicate content | Low, but the output is weak |
| Spintax across openers and structure | Moderate, and genuine | Needs careful QA | Medium |
| Merge fields with fallbacks | Specific facts about each contact | Broken output when data is missing | Medium |
| Written line for each contact | Highest | Time-consuming to produce at scale | High |
The most practical combination for most teams is the third and fourth rows together: structural spintax for the frame, and merge fields with sound fallbacks for the facts. That gives a message that varies in substance and carries real, checked detail, and it stays manageable to produce and review.
The short version
Spintax is a tool for varying wording, and its value comes from varying what a message says, not just how it’s phrased. Count permutations as a curiosity, not as a benchmark. Use merge fields for facts and give every one a fallback. Read the output before you send it. And remember that the reader is a person first, and any filter is a comparison system that cares about similarity more than cleverness.
For the personalization side of this, the guide to personalization at scale covers which facts are worth using and how to find them, and the spam folder guide covers the other reasons a message lands out of sight. OutboundLeadPro’s features include AI sequences that handle variation inside a campaign, and you can start a campaign from your browser at OutboundLeadPro.