Deliverability

Spintax for Instagram Cold DMs: Why 19,683 Variations Can Still Look Like One Message

We tested five ways to vary one cold DM across 19,900 message pairs. Word-level spintax still overlapped 42%. Sentence-level rewrites with 100x fewer combos hit 19%. Here is how to build them.

Your tool says your template has 19,683 unique variations. That sounds safe. It is not. When we ran that exact kind of template through a standard near-duplicate check, any two messages still shared 42% of their phrasing on average. Nearly one pair in five crossed 50%.

Meanwhile a template with only 192 variations scored 19%.

Combination count is the number vendors put on the box. Overlap is the number a spam classifier actually sees. This post is about closing the gap between the two, so your cold DMs stop looking like one message sent 400 times.

19,683
combinations in a word-level spintax template
0.42
average overlap between two of its messages
0.19
overlap with sentence-level variants, only 192 combos
0.8
a common near-duplicate cutoff in similarity systems

Why identical DMs get caught

Meta does not publish how its DM spam models work, so treat anything more specific than this as guesswork. What is public: Meta's spam policy says it may restrict accounts acting at lower frequencies when other spam signals are present, and it names repetitive content as one of those signals. Operator reports in 2026 line up with that. The patterns that get flagged most often are identical messages sent to many people, links in the first cold DM, and sends fired in bursts instead of spread across the day. An identical first message with a link, sent at volume, is the classic recipe for landing in the hidden Spam tab.

So volume alone is not the trigger. Volume plus sameness is. Your daily cap buys you room. Repetitive copy spends that room fast.

How similarity checks usually work

You do not need Meta's internals to write safer copy. You need to understand how near-duplicate detection works in general, because it is a well-documented technique used across the web.

  1. Shingling. The message is cut into overlapping word sequences. "I run a small team" becomes "I run a", "run a small", "a small team".
  2. Set comparison. Two messages are compared by how many of those sequences they share, divided by how many they have in total. That ratio is called Jaccard similarity. 1.0 means identical, 0 means nothing in common.
  3. A threshold. Systems built on this, often using a fast approximation called MinHash, commonly treat pairs above roughly 0.8 as near-duplicates.

The key insight: swapping one word breaks only the few shingles that touch it. Every other three-word run stays identical. That is why word-level spintax produces huge combination counts and still leaves messages that look like each other.

The test: five ways to vary one DM

We took one realistic cold DM for a coaching-niche offer and built five versions of it, from zero variation to full rewrites with a personalized opener. For each version we rendered 200 messages and compared every pair (19,900 pairs) using three-word shingles.

This is our own simulation, not Meta data. It measures how similar your messages look to any text-similarity check. It does not tell you the exact line Instagram draws.

Average overlap between two messages (Jaccard, 3-word shingles) 200 messages per method, 19,900 pairs each. Lower is safer. 0.8 near-duplicate line Identical template 1.00 Greeting swap only 0.96 Word-level spintax 0.42 Sentence-level spintax 0.19 Sentences + unique opener 0.16

Here is what each version actually was:

  • Identical template. One message, word for word, to everyone.
  • Greeting swap only. "Hey", "Hi" or "Hello" at the front. Everything else identical. This is what a lot of operators call "using spintax".
  • Word-level spintax. Nine slots with three synonyms each. 19,683 possible combinations.
  • Sentence-level spintax. Three greetings, then four fully rewritten versions of each of the three sentences: the who, the proof, the ask. 192 combinations.
  • Sentences plus unique opener. The sentence-level version, with the greeting replaced by the prospect's name and a one-line reference to their content.

The full results

Method Combinations Avg overlap Pairs above 0.5 Pairs above 0.8
Identical template 1 1.00 100% 100%
Greeting swap only 3 0.96 100% 100%
Word-level spintax 19,683 0.42 21% 0%
Sentence-level spintax 192 0.19 6% 2%
Sentences + unique opener effectively unique 0.16 7% 1%

Three things jump out.

A greeting swap does nothing. Two of your messages are 96% the same. If you are running "{Hey|Hi|Hello}" and calling that variation, you are sending an identical template.

Word spintax gets you under the hard line but leaves you in the grey. Zero pairs crossed 0.8, but more than one in five pairs still shared over half their phrasing. And synonym-swapped copy has a second cost: "I lead a tiny team that fills intro calls via Instagram" reads like a thesaurus wrote it. Humans notice before classifiers do.

Sentence-level rewrites win with 100 times fewer combinations. Four natural ways to say each idea beat nine synonym slots by a wide margin. The small tail of pairs above 0.8 comes from the same sentence variant landing in all three slots for two recipients. More variants per slot shrinks that tail.

How to build a sentence-level template

A cold DM is usually three or four jobs: open, credibility, proof, ask. Write each job four to six ways, as whole sentences, in different structures. Not the same sentence with synonyms. Different sentences that do the same job.

A practical checklist:

  1. Split the DM into its jobs. If a sentence does not have a job, cut it.
  2. Write 4 to 6 variants per job. Change the sentence shape: a question, a statement, a fragment, a number-first line.
  3. Vary the length. One variant short, one longer. Length patterns are a signal too.
  4. Keep the offer and numbers identical in meaning. Variation is for phrasing. Your claim does not change between recipients.
  5. Read ten random renders out loud. If any combination sounds odd, fix the variant, not the render.
  6. Check your overlap. Render 100 messages, compare them in pairs, and aim for an average under 0.25 with almost nothing above 0.5. Any script or spreadsheet that counts shared three-word runs will do.

Vendor guidance for cold email and messaging usually says to aim for at least 20 to 30 unique combinations per template and to rotate templates every two to four weeks. Treat that as a floor, not a target. As the test shows, it is the structure of your variants that matters, not the count.

The unique opener does double duty

Adding a personalized first line only moved average overlap from 0.19 to 0.16. On similarity alone, it is a small gain.

It earns its place for another reason: it is the part of the message that gets the reply. Operator guides in 2026 commonly report that fully generic messages cut response rates roughly in half compared with personalized ones. That is operator consensus, not a controlled study, but it matches what most teams see when they A/B it. We covered what each research layer costs and returns in our post on personalization economics.

So the right mental model is:

Layer Main job Effect on similarity Effect on replies
Greeting swap None really Almost none None
Word synonyms Cosmetic Moderate Can hurt if it reads awkwardly
Sentence variants Break shingle overlap Large Neutral if well written
Unique opener Relevance Small Large
Link removed from first DM Lower spam risk None Usually positive, it reads less salesy

What variation will not fix

Spintax is a supporting measure. The cold email world learned this the hard way. Email vendors report meaningful inbox placement gains from spintax, but the same vendors are clear that it does not repair a damaged sender reputation. On Instagram the equivalent levers are:

  • Account age and warmup. A day-three account with perfect variation still looks like a day-three account.
  • Send pacing. Spread sends through the day. Bursts are flagged on their own.
  • Links in first touch. Save the link for after the reply.
  • Recipient reactions. Ignores, deletes and "report" taps on your messages feed the model. Bad targeting cannot be spun away.
  • Profile trust. The prospect checks your profile before replying. So, plausibly, does the classifier.

If your reply rate is falling and your block rate is climbing, check those first. Variation is the cheap insurance you add once the fundamentals are in place.

The 30-minute upgrade

If you only do one thing this week: open your live template, delete the word-level synonym brackets, and rewrite each sentence four ways as whole sentences. Add a first line that references the prospect's content. Remove the link from touch one. Then render 100 messages and check that no two of them share more than half their phrasing.

That is the difference between 19,683 variations that all look alike and 192 that actually do not.

spintaxdeliverabilitymessage variationspam filterscold dm
Start free trial →