What email content practices improve deliverability?

Warm-Up & Sending Strategy
email content best practices, email deliverability content tips, spam filter content triggers, text to image ratio email, email HTML best practices, how to avoid spam folder
Quick Answer
Clear value in the first two lines, consistent branding, one primary CTA, descriptive links, balanced text-to-image ratio, clean HTML, and a visible unsubscribe. Avoid image-only layouts, aggressive claims, link farms, shortened URLs, and messy markup — these are the content signals spam filters weigh alongside authentication and sender reputation.

Email content matters for deliverability because inbox providers and spam filters evaluate what you say and how you format it alongside authentication (SPF/DKIM/DMARC), sender reputation, and recipient engagement. Great copy won’t fix a bad domain, but when those fundamentals are in place, content is often the deciding factor between Inbox, Promotions, and Spam.

This guide focuses on the biggest content-based levers that move deliverability outcomes fast:

  • Spam-filter patterns (not just spam trigger words—also repetition, urgency stacks, and risky phrasing)
  • Text-to-image balance (why image-heavy emails get flagged or clipped)
  • Link + tracking hygiene (too many links, mismatched anchors, shared tracking domains)
  • HTML quality (clean structure, inline CSS, accessible formatting)
  • Personalization signals (segmentation and dynamic relevance beyond {{first_name}})
  • Compliant unsubscribes (including one-click requirements that reduce complaints)

Send: clear value in the first 2 lines, consistent branding, one primary CTA, descriptive links, readable text, and a visible unsubscribe.
Avoid: image-only promos, “guaranteed”/aggressive claims, link farms, broken or shortened URLs, messy HTML, and hidden opt-outs.

Before you hit your full list, run your content through the free Email Spam Checker or Email Content Tester to catch issues early. For scoring context, see How SpamAssassin Scoring Works. Also make sure your list is clean with email list verification.

How modern spam filters evaluate email content (beyond “spam words”)

Modern email spam filters don’t flag messages just because they contain a few “bad” words. Mailbox providers and filtering layers score content using patterns, ratios, and context—then combine that with sender reputation and recipient behavior.

How content gets scored: patterns, ratios, and context

Filters look for signals that correlate with unwanted mail, including:

  • Keyword clusters (not single words): Certain topics become risky when combined—e.g., urgency + money + guarantees. One “discount” is normal; repeated “limited time,” “act now,” “risk-free,” and “cash” in the same email is not.
  • Frequency and density: Repeating the same phrase in the subject, preheader, headline, and CTA can look like templated promotion rather than genuine communication.
  • Formatting anomalies:
    • Excessive punctuation (e.g., “!!!”), ALL CAPS, or aggressive styling (multiple font sizes/colors).
    • Image-heavy layouts with minimal text (often used to hide keywords).
    • Broken HTML, messy code, or copy-pasted templates that render inconsistently.
  • Template fingerprints: Filters can recognize reused structures (same blocks, same CTA placement, same phrasing) across many sends—especially when paired with low engagement.
  • User feedback signals: Complaints, deletes-without-reading, low replies, and low “read time” can amplify minor content issues. Positive engagement can do the opposite.

Before you send, use the free Email Spam Checker to catch content and formatting risks early.

“What words or phrases trigger spam filters?”

There isn’t a universal banned-word list, but these commonly contribute to higher risk—especially in combination or repeated:

  • Urgency: “act now,” “limited time,” “don’t miss out,” “urgent”
  • Money/claims: “guaranteed,” “no risk,” “100% free,” “earn extra cash,” “get paid”
  • Overhyped promos: “best price,” “winner,” “exclusive deal,” “once in a lifetime”
  • Formatting cues: “FREE!!!”, “READ NOW”, “$$$”

Context matters: “Free shipping on your order” in a normal sentence is typically fine. “FREE $$$ ACT NOW!!!” plus multiple links and heavy styling is a pattern filters associate with spam.

SpamAssassin (high-level): rule-based scoring and thresholds

SpamAssassin is a classic rule-based content filter. Each rule adds or subtracts points based on what it detects (e.g., suspicious phrases, HTML patterns, link characteristics). The total becomes a spam score. If the score crosses a configured threshold, the message is more likely to be flagged or routed to spam. For a deeper breakdown, see How SpamAssassin Scoring Works.

Content filters vs provider ML models (Gmail/Microsoft)

Rule-based systems evaluate what’s in the email. Provider machine-learning models evaluate how recipients react at scale—opens, reads, replies, moves to inbox, and spam complaints—alongside sender history. That’s why improving engagement (and validating content with the free Email Spam Checker) can often override minor content issues that would otherwise drag down deliverability.

Text-to-image ratio and formatting that keeps emails readable (and scannable) to filters

What is a good text-to-image ratio for emails?

There’s no single “magic” ratio, but a reliable deliverability-safe target is at least 60% live text / 40% images (or more text-heavy). The goal is simple: avoid image-only emails and make sure the core message is readable even if images don’t load.

Practical guidance:

  • Put the main value proposition in live HTML text, not baked into a banner.
  • Use images to support (product shot, chart, hero), not to replace copy.
  • Add descriptive alt text for every meaningful image (e.g., “Spring sale: 20% off annual plan”).
  • Keep a clear hierarchy: one primary headline, short paragraphs, scannable bullets, and a single primary CTA.

Why image-heavy emails get flagged

Image-forward layouts can look “clean” to humans but “thin” to filters. Common risk signals include:

  • Low semantic text: Filters can’t confidently classify intent when most content is pixels.
  • Hidden-text tricks: Tiny font, same-color text, or off-screen text used to “stuff” keywords is a classic spam pattern.
  • Poor accessibility: Missing alt text and text-in-images degrade user experience—filters increasingly reward accessible, readable content.
  • Similarity to phishing/promotional blasts: Big image + button + little context resembles common scam and mass-promo templates.

Email formatting best practices (HTML)

Use formatting that reads like a helpful message, not a “coupon flyer”:

  • Typography: 14–16px body text, 1.4–1.6 line-height, high contrast, short line lengths.
  • Emphasis: Use bold sparingly; avoid repeated ALL CAPS, excessive punctuation, and rainbow highlighting.
  • Branding: Keep a consistent header/footer, but don’t let logos and badges dominate above the fold.
  • Links: Avoid a wall of links (nav menus, social icons, multiple CTAs). Prefer 1 primary CTA plus 1–2 supporting links.

Before sending, run your content through the free Email Content Tester and review scoring signals in How SpamAssassin Scoring Works.

Should I use a plain-text version alongside HTML?

Yes—include a plain-text part for better compatibility and clearer intent signals (especially for corporate/security-heavy inboxes).

How to do it well:

  1. Generate from the HTML (most ESPs can auto-create), then edit for readability.
  2. Match the message: same offer, same CTA destination, similar structure.
  3. Avoid: mismatched content, broken line wraps, tracking-only link lists, or “blank” plain-text parts.

InboxAlly’s seed emails can also help offset minor formatting signals by reinforcing positive inbox-provider feedback loops.

Spam filters evaluate link patterns, not just your wording. Links can raise your spam score when they look manipulative, risky, or inconsistent.

  • Too many links: A high link-to-text ratio (especially in short emails) can resemble phishing or affiliate spam.
  • Repeated domains: Linking the same domain 6–10 times (nav-style footers, repeated CTAs) can look automated.
  • URL shorteners: Shortened links hide the destination and are frequently abused.
  • Redirect chains: Multiple hops (tracking → redirect → final URL) increase risk and can break in some clients.
  • Mismatched anchor text vs destination: “Invoice PDF” linking to a marketing landing page is a classic trust signal failure.

Good

  • Descriptive anchor + matching destination:
  • Anchor: “Download the Q2 deliverability checklist”
  • URL: https://yourdomain.com/resources/q2-deliverability-checklist
  • Consistent, secure domains:
  • Use HTTPS and keep links on your primary domain or a clearly related subdomain.
  • Minimal redirects:
  • One tracking hop at most, then the final page.

Bad

  • Generic anchor + different domain:
  • Anchor: “Click here” → https://other-domain.example/promo
  • Shortened URL:
  • Anchor: “View details” → https://bit.ly/…
  • Misleading anchor:
  • Anchor: “Unsubscribe” → a preference center that doesn’t actually unsubscribe (also a compliance risk).
  • 404/410 pages signal poor maintenance and can correlate with low-quality campaigns.
  • Mixed content (HTTPS email linking to HTTP assets) can trigger warnings and reduce trust.
  • Unfamiliar or “sketchy” TLDs and newly registered domains are more likely to be filtered.

Pre-send link validation: Run your email through InboxAlly’s free Email Spam Checker before sending. It checks your links, redirects, and domains automatically and flags issues alongside your overall spam score (see How SpamAssassin Scoring Works for scoring context).

Tracking often swaps your visible domain for a tracking domain and adds redirects/parameters, which can look like obfuscation—especially if the tracking domain is shared or has weak reputation. Keep tracking while reducing risk by:

  • Using a custom tracking domain aligned with your brand.
  • Limiting redirects and avoiding shorteners.
  • Keeping anchor text honest and consistent with the final destination.
  • Pairing clean links with positive engagement signals (InboxAlly’s seed emails can help offset minor content/link signals).

Tracking domains and brand alignment: why shared tracking hurts and how to fix it

Why shared tracking domains can hurt deliverability

Many ESPs (and link trackers) rewrite your links to a shared tracking domain (for example, a generic redirect host used by thousands of senders). That creates three deliverability problems:

  • Pooled reputation: Mailbox providers learn reputation at the domain/host level. If the tracking host is heavily used, your clicks are mixed into a single reputation bucket you don’t control.
  • Cross-sender contamination: If other senders on that shared host run spammy campaigns, the tracking domain can be distrusted—your legitimate emails inherit that risk.
  • Filter distrust of “busy” redirectors: Heavily used tracking hosts often look like link obfuscation. Filters may treat them as higher-risk, especially when combined with promotional language, many links, or mismatched branding.

How to set up a custom tracking domain (ESP-agnostic)

Use a branded subdomain so your links align with your identity and authentication.

  1. Choose a subdomain
  • Common patterns: links.yourdomain.com, click.yourdomain.com, or track.yourdomain.com

  • Keep it consistent with your brand and easy to recognize.

    1. Add DNS records
  • Typically a CNAME from your subdomain to your ESP/tracking provider’s host.

  • If your provider requires additional records (A/AAAA/TXT), add those exactly as specified.

    1. Enable SSL (HTTPS)
  • Turn on SSL in your ESP/tracker, or provision a certificate if required.

  • Avoid mixed-content or HTTP-only redirects.

    1. Align with your From domain
  • If you send from news@yourdomain.com, prefer tracking on the same root domain (e.g., links.yourdomain.com) to strengthen alignment signals.

    1. Verify redirects end-to-end
  • Test multiple links to confirm: correct destination, HTTPS, no redirect loops, and no unexpected intermediate hops.

Why custom tracking improves inbox placement

Custom tracking creates consistency signals: aligned domains, fewer suspicious hops, and clearer brand continuity—reducing spam score risk tied to link hygiene.

InboxAlly’s deliverability approach pairs domain/link alignment (preventing avoidable filtering) with seed emails to reinforce positive mailbox-provider signals. For pre-send checks, use the free Email Spam Checker and review How SpamAssassin Scoring Works to spot link-related point additions before you hit send.

Subject lines and HTML best practices that reduce spam score (without killing conversions)

Subject line patterns: what triggers filters vs what earns opens

Modern filters look for patterns that correlate with deception or low-quality mail—not just “spam trigger words.”

Avoid these common risk signals:

  • Excessive punctuation/caps: !!!, ??, FREE!!!!!, ACT NOW
  • Misleading reply/forward bait: fake “Re:” / “Fwd:” when there’s no thread
  • Overuse of emojis/symbols: multiple icons, arrows, currency symbols, or decorative Unicode
  • Bait-and-switch language: “Your account is suspended” when it’s really a promo

Rewrite examples (same offer, lower risk):

  • Bad: “LAST CHANCE!!! 70% OFF ends tonight!!!”
    Better: “70% off ends tonight (2 hours left)”
  • Bad: “Re: quick question” (cold promo)
    Better: “Quick question about your [goal]” (only if it’s truly relevant)
  • Bad: “🚨 You’ve been selected for a FREE gift 🎁”
    Better: “A thank-you gift with your next order”
  • Bad: “Your invoice is attached” (not true)
    Better: “Receipt + next steps for your order” (only if accurate)

Tip: keep subjects specific, truthful, and aligned with the first line of the email to avoid “promise mismatch” complaints.

HTML and formatting best practices (deliverability-safe)

Spam filters and mailbox providers increasingly penalize HTML that looks auto-generated, obfuscated, or inconsistent across sends. See Gmail and Yahoo Changes for Bulk Senders in 2024 and Why Are My Emails Going to Spam? for the broader policy context.

Use these HTML rules:

  • Clean code: remove unused tags, comments, and editor cruft
  • Minimal nesting: avoid deeply nested tables/divs
  • Inline CSS: prefer simple inline styles over complex <style> blocks
  • No heavy scripts/forms: avoid JavaScript, embedded forms, and interactive hacks
  • No hidden text: don’t hide keywords via tiny fonts, matching colors, or off-screen positioning
  • Consistent template footprint: keep layout and structure stable across campaigns

Excessive formatting (multiple fonts, huge colored headlines, background images, or “poster-style” designs) can resemble obfuscation. A safe structure:

  1. Preheader (plain text support line)
  2. Header (logo + optional nav)
  3. Body (one primary message, readable text)
  4. CTA (one main button + optional text link)
  5. Footer (address, preferences, unsubscribe)

Before sending, run your content through the free Email Content Tester and review How SpamAssassin Scoring Works to catch avoidable content and HTML signals early.

Personalization, segmentation, and unsubscribe compliance: quality signals filters reward

Personalization beyond {{first_name}}

Mailbox providers reward emails that consistently match recipient intent. Go past surface-level merge tags by aligning what you promised (subject/preheader) with what you deliver (body).

  • Dynamic content blocks: Swap modules based on attributes or actions (industry, plan type, last product viewed).
    • Good: “Your Q2 report is ready” → shows the recipient’s actual account metrics and a single relevant CTA.
    • Bad: Same subject → generic blog roundup with unrelated links.
  • Behavioral segmentation: Trigger content from real behavior (clicked pricing, attended webinar, abandoned cart) instead of blasting everyone.
  • Preference-based content: Let subscribers choose topics and frequency; then honor it. “Weekly tips” shouldn’t become daily promos.
  • Promise/payload consistency: Avoid bait-and-switch subjects (“Invoice attached”) when the email is marketing—this drives complaints and “delete without reading,” a negative quality signal.

How segmentation improves deliverability (indirectly)

Segmentation doesn’t “whitelist” you—but it increases engagement and reduces negative signals that spam filters watch: low opens, low clicks, fast deletes, and spam complaints. Higher engagement also helps InboxAlly’s seed emails reinforce positive inbox placement even when minor content signals (formatting, wording) aren’t perfect.

Practical segments for marketers and business owners:

  • Engagement: 0–30 days active vs 31–90 vs 90+ (send win-back separately; suppress chronic inactives).
  • Lifecycle: lead, trial, new customer, power user, churned (different CTAs and cadence).
  • Interest tags: topic/category preferences, product line, content format (case studies vs tutorials).
  • Recency/frequency/value (RFM): prioritize high-value buyers with tailored offers; reduce promo volume for low-intent segments.
  • Source: webinar signups vs content downloads vs referrals (match expectations set at opt-in).

Unsubscribe requirements (and why “easy” wins)

Include List-Unsubscribe headers and support RFC 8058 one-click unsubscribe so users can leave without marking spam. This reduces complaints and improves long-term inboxing. See The Importance of RFC 8058 for Bulk Mailer Compliance for implementation details.

  • Include a physical mailing address and a clear sender identity (brand + reason they’re receiving the email).
  • Make unsubscribe links visible and functional (no tiny gray text, no login required).
  • Avoid deceptive patterns like “unsubscribe by replying” or forcing multiple steps—these increase complaints and harm deliverability.

Pre-send testing checklist: catch spam triggers before you email your full list

Step-by-step pre-send checklist (run this before every campaign)

  1. Subject + preheader review
    • Avoid “patterny” subjects: ALL CAPS, excessive punctuation (e.g., !!!), and urgency stacks (“Act now—last chance—today only”).
    • Ensure the preheader adds context (not a repeat).
      • Good: “Your March invoice is ready — view details inside”
      • Risky: “OPEN NOW!!! LIMITED TIME!!!”
  2. Text-to-image check
    • Don’t send an image-only email. Include meaningful body copy and a visible text CTA.
    • Add ALT text for key images; keep critical info (offer, date, CTA) in text.
  3. Link count + domain consistency
    • Keep links purposeful; remove duplicate CTAs and unnecessary footer links.
    • Use consistent domains: if your visible link text says yourbrand.com, it should actually go to your brand domain (not a different tracking or redirect domain).
  4. Tracking domain verification
    • Confirm your ESP tracking is using a custom tracking domain aligned to your sending domain, and that DNS is correct (CNAME, SSL where required).
    • If you recently changed tracking domains, re-test every template—mixed tracking domains can trigger filtering.
  5. HTML validation
    • Validate for broken tags, nested tables gone wrong, and malformed inline CSS.
    • Avoid heavy styling hacks and excessive <span> wrappers that bloat code.
  6. Plain-text parity
    • Include a real plain-text version (not empty, not “View in browser” only).
    • Match intent and links: the plain-text should contain the same primary CTA and destination as HTML.

SpamAssassin / “spam score” testing workflow

A spam score is a heuristic total based on rules (content patterns, HTML issues, link signals, authentication hints). Higher scores indicate higher risk of spam-folder placement. Many systems treat ~5.0 as a common “fail” threshold, but your mailbox providers may behave differently.

How to interpret common flags

  • HTML-only / low text: fix (add copy + plain-text).
  • Too many links / redirect chains: fix (reduce links, remove shorteners, ensure clean destinations).
  • Suspicious phrases: often fix (rewrite), but don’t obsess over single “spam trigger words” if the overall email is legitimate and well-structured.
  • Missing List-Unsubscribe: fix immediately (see RFC 8058 Compliance).
  • Minor formatting nits (e.g., one unusual header): sometimes ignore if everything else is clean—prioritize issues tied to links, authentication, and content structure. For deeper context, see How SpamAssassin Scoring Works.

InboxAlly tools to run before you send

  • Use InboxAlly’s free Email Content Tester for quick subject/body/link and formatting checks.
  • Run a score-based scan with the free Email Spam Checker to surface common SpamAssassin-style flags.
  • For teams iterating weekly, use the in-app Email Content Tester (create an account via InboxAlly signup) to standardize pre-send QA.

Safe rollout plan (reduce risk while you iterate)

  1. Send to your most engaged segment first (recent openers/clickers).
  2. Monitor: spam complaints, bounces, and inbox vs spam placement (use your seed tests).
  3. Adjust content/links/tracking, then expand to broader segments in stages.
  4. When iterating, InboxAlly’s seed emails can help stabilize placement signals while you refine content and formatting.

Need help optimizing your email content? Open the IA Assistant in the InboxAlly app for guidance, or start a free trial to test your content and monitor inbox placement.