Do spam trigger words still matter?
Spam trigger words are terms said to send mail to the spam folder — free, guarantee, act now. They mattered when filters were mostly keyword rules. Modern filters weigh sender reputation, authentication and recipient engagement far above vocabulary, so word choice is now a small factor with a large reputation.
Written by the SieveGuard team from the checks our own free tools run. Last reviewed .
Where the lists came from
Early content filters were largely keyword-driven: a message was scored by matching it against a rule set, and words like FREE and Viagra carried real weight because they were most of what the filter could see.
The published "500 spam trigger words" lists date to that period, and most circulating today are copies of copies of a handful of originals. They are not maintained against any current filter, because there is no current filter they could be maintained against — the rules are not public, and they are not primarily lexical any more.
What replaced them is a model over sender behaviour. Whether your last thousand messages were opened, complained about, or deleted unread tells a filter far more than any word in this one does.
What actually decides it, in order
| Factor | Weight | Covered in |
|---|---|---|
| Authentication passing | Gate — failing costs you outright | SPF, DKIM, DMARC |
| Complaint rate | Heaviest ongoing signal | Sender reputation |
| Recipient engagement | Very high, especially at Gmail | Spam placement |
| List quality and bounces | High | Bounce rate |
| Sending pattern and volume | Moderate | Warmup |
| Message structure | Low but real | Below |
| Individual word choice | Lowest of everything here | Below |
Read the last two rows together with the first. A domain that authenticates cleanly and has engaged recipients can write "free" as often as it likes. A domain with a complaint problem cannot write its way out of it — and rewriting the copy while the real cause is untouched is how people spend a fortnight learning nothing.
What still gets flagged
Structure rather than vocabulary. These are patterns a filter can see without understanding a word of your message, which is exactly why they survived:
- One large image and almost no text. A classic technique for defeating text analysis, and still read as one.
- Link shorteners. They hide the destination from the filter, which is the entire objection. Use your own domain.
- Link domains unrelated to the sending domain. Mail from your domain that points everywhere except your domain looks like a compromised account.
- Missing or broken unsubscribe. Above 5,000 messages a day to Gmail or Yahoo, a one-click unsubscribe header is a stated requirement, not a courtesy.
- HTML no mail client would produce. Hidden text, white-on-white, absurd nesting. All read as attempts to show the filter something different from the reader.
- Sudden style change on an established domain. Not about the words themselves — a plain-text B2B sender abruptly emitting heavy promotional HTML is a change in pattern, and pattern changes get attention.
Notice none of those is a word. Every one is a property of how the message is built.
So why keep a word checker at all?
A fair question to ask of our own tool, and there are two honest answers.
Vocabulary is a symptom worth reading
A subject line stacking free, guarantee, act now and limited time is not going to spam because of those words. It is going to spam because that combination is what mail people complain about tends to look like — and the complaints are the mechanism. The words are correlated with the outcome without causing it, which still makes them a useful thing to notice.
It is the cheapest check you can run
Thirty seconds, before you send, on copy you have already written. That is a reasonable use of a checker. What is not reasonable is running it after placement has already gone wrong and treating the output as the diagnosis — at that point the answer is almost always further up the table above.
Our checker shows the weighted matches inline, and the spam-score tool scores structure alongside vocabulary — which is the more useful half.
What to do instead of rewriting
- Confirm authentication passes. Read
Authentication-Resultson a message you actually sent. If any of the three is notpass, stop here — you have found it. - Check your complaint rate. Gmail states 0.3% as the ceiling. Above it, nothing about your copy matters.
- Suppress disengaged recipients. Counter-intuitive and effective: sending to fewer, more engaged people raises the rate the filter reads.
- Then look at structure — image-to-text ratio, link domains, unsubscribe.
- Then, last, the words. And change one thing at a time, or the result tells you nothing.
Sources
FAQ
Do spam trigger words still matter?+
Far less than the published lists suggest. Modern filters weigh authentication, complaint rate and recipient engagement well above vocabulary. Word choice is the smallest factor in a list where the top three are much larger.
Will using the word "free" send my email to spam?+
No. Retailers use it constantly and reach the inbox because their authentication passes and their recipients engage. The word is correlated with mail people complain about, and it is the complaints doing the work, not the word.
Where did the spam trigger word lists come from?+
Early filters were largely keyword rule sets, so vocabulary genuinely carried weight. The circulating lists date from that period and are mostly copies of a few originals. They are not maintained against any current filter, because current filters are not primarily lexical.
What actually gets a message flagged on content?+
Structure rather than words: a single large image with almost no text, link shorteners that hide the destination, link domains unrelated to the sending domain, a missing one-click unsubscribe above 5,000/day, and HTML no mail client would generate.
Should I still run a spam-words checker?+
Yes, as a thirty-second pre-send sanity pass — it is cheap and vocabulary is a useful symptom even when it is not a cause. What does not work is running it after placement has gone wrong and treating the output as the diagnosis.
My placement got worse and I did not change the copy. Why?+
Because the copy was probably never the variable. Check authentication first, then complaint rate, then whether your list or sending volume changed. Something moved; content that stayed the same is unlikely to be it.
Check it on a real domain
Free, no signup, DNS-only. Nothing you type leaves the lookup.