Back to blog
ContentΒ·Β·3 min readΒ·WillItInbox Team

Spam trigger words: what actually scores (and what doesn't)

The myth of the trigger-word list, the small set of phrases that genuinely matter, and how SpamAssassin actually weights content.

ContentSpamAssassinCopywriting

Every "500 spam words to avoid" listicle is half wrong. SpamAssassin doesn't have a magic word list; it has a few hundred rules that score on patterns, context, and combinations. Knowing how the engine actually thinks lets you write effective subject lines without typing around imaginary tripwires.

How SpamAssassin scores content

Each rule has a name (HTML_IMAGE_ONLY_28, MISSING_HEADERS, etc.) and a numeric weight. A message's total score is the sum of triggered rules. Above 5.0 is typically marked spam; the threshold is configurable per receiver.

CategoryTypical weightExamples
Structural1.0–4.0Image-only, missing headers, broken MIME
Authentication1.0–3.5DKIM fail, SPF fail, DMARC fail
URL/link0.5–3.0URL shorteners, mismatched anchors, raw IPs
Vocabulary0.05–1.5Trigger phrases, all-caps, exclamations
Bayesianβˆ’1.5 to +3.5Learned per-receiver, hardest to predict
Rule categories by weight.

The phrases that actually score

RuleTriggerWeight
UPPERCASE_50_75Subject is mostly UPPERCASE1.4
SUBJECT_EXCESS_QP5+ exclamations or question marks1.0
MONEY_BACK"100% money back" + close keywords1.0
URGENT_ACTION_NEEDED"Act now" + "limited time" + others0.8
FREE_OFFER"Free" near "offer" near "call now"0.8
PYZOR_CHECKBody matches known spam corpus1.5
SpamAssassin rules that fire on common marketing phrases.

Notice the pattern: most content rules require a combination of signals to fire. "Free" alone is fine. "FREE!!! Act now! Limited time!!" stacks five rules.

What the listicles get wrong

  • "Click here" β€” not a trigger. Used in millions of legitimate emails daily.
  • "Buy now" β€” fine in context. Triggers only when stacked with urgency phrases.
  • "Cash" β€” neutral. Spam phrasings are more specific ("cash bonus," "cash prize").
  • "Discount" β€” common in legitimate retail mail. Not scored.
  • "Sale" β€” fine. Subject "50% OFF SALE!!!" is the problem, not "sale."

What you should actually avoid

  1. ALL CAPS subjects. Even partial capitalization (>50%) triggers UPPERCASE_50_75.
  2. Multiple exclamation marks in subject or first paragraph.
  3. Stacked urgency phrases. "Act now," "limited time," "don't miss out" within the same paragraph.
  4. Dollar amounts in the subject when paired with urgency. "$5,000 today!" hits multiple rules.
  5. "You've won" / "You're a winner" β€” strongly weighted as common phishing pattern.

Structural problems you should care about more

RuleTriggerWeight
HTML_IMAGE_ONLY_28HTML body is mostly images2.5
MIME_HTML_ONLYNo plain-text alternative0.7
MISSING_DATENo Date: header1.5
MISSING_MIDNo Message-ID header1.0
HIDDEN_TEXTwhite-on-white or display:none text3.0
URI_HEXURLs encoded with hex2.0
Structural rules with high impact.

Testing without guessing

  1. Send your draft through WillItInbox. The content category breaks out every triggered rule with weights.
  2. For raw SpamAssassin: pipe a test message through spamassassin -t and read the rule output.
  3. Use mail-tester.com for a quick second opinion.
  4. Iterate one variable at a time β€” change subject, re-test, then change body. Combined changes obscure cause and effect.

Frequently asked questions

Keep reading