FastLinkIt

Spam-score check

Contacts & Mailingmailing3 min read

Available on Starter and above

An on-demand pre-send check that scores your subject + HTML body 0–10 for spam-trigger patterns and gives concrete fixes. Pure local heuristics — no third-party API call, no rate limit, runs in milliseconds.

Score is advice, not a gate. It never blocks sending. The point is to surface obvious issues (caps-lock subject, classic spam phrases, missing personalization, third-party URL shorteners) before you commit a 5,000-recipient send.

How to use

  1. Compose your mailing at /mailing/compose.
  2. Click Check spam score above the Send button.
  3. The badge appears next to the button:
    • 0–3 — green, no obvious issues
    • 4–6 — amber, review the flag list
    • 7–10 — red, fix before sending
  4. The flag list below the score names each problem with a concrete fix.
  5. Edit your subject / body, click Check spam score again to re-run.

What it checks

Subject line

  • Caps-lock ratio — subjects that are mostly uppercase trigger filters.
  • Exclamation marks — more than two looks pushy.
  • Classic spam phrases — "FREE", "WIN", "!!!", "AMAZING", "limited time", "act now", etc. (~50 entries.)
  • Currency markers in the subject — "$", "£", "€" — especially with numbers.
  • Length — under 30 chars looks like a phishing attempt; over 80 gets truncated by clients.

Body

  • Caps-lock ratio — body-wide UPPERCASE.
  • Exclamation density — one per paragraph max.
  • Spam-trigger phrases — another ~80 entries scoped to body context.
  • Image-to-text balance — image-only emails (no real text) are classic spam.
  • Link density — more than ~10 links per 200 words is suspicious.
  • Third-party URL shorteners — bit.ly, tinyurl, t.co etc. land in spam filters at higher rates than your own short links.
  • Missing personalization placeholder{{FirstName}} / {{Email}} / {{Name}} in either subject or body, even unused, signals "this isn't a mass blast".

Worked example — rescue a borderline subject

Original subject: LIMITED TIME!!! GET YOUR FREE 50% OFF NOW

Score: 9 / 10. Flags:

  • Subject is mostly uppercase
  • Subject contains 3 spam-trigger phrases ("LIMITED TIME", "FREE", "NOW")
  • Subject contains 3 exclamation marks
  • No personalization placeholder anywhere

Rewritten: Hi {{FirstName}}, your 50% spring discount

Re-score: 1 / 10. Same offer, same urgency-by-context ("spring"), but Gmail lands it in Primary instead of Promotions.

What it doesn't check

  • DNS authentication — SPF / DKIM / DMARC are checked at the Sender domain level, not per-mailing.
  • Reputation — sender reputation is built over time by receiver feedback; there's no static analysis that can tell you what your IP / domain reputation looks like at Gmail. The throttling and warmup features protect that reputation while you build it.
  • Per-receiver rules — Gmail and Outlook each have their own opaque filters; this is a baseline check, not a guarantee of inbox placement.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.