Quick Answer

For HTML email deliverability: maintain a visible text-to-image ratio (don't send all-image emails), use your own custom tracking domain (not your ESP's default), limit links to 3-5 per marketing email, avoid URL shorteners (bit.ly is heavily associated with spam), include a plain-text version, keep total email size under 100KB, and always include a visible unsubscribe link. Content matters less than reputation and authentication — fix those first.

HTML Email Best Practices for Deliverability (2026)

By Braedon·Mailflow Authority·Email Content & Design·Updated 2026-03-30

What Actually Matters for Content-Based Deliverability

Let's be clear: sender reputation and authentication account for ~80% of deliverability outcomes. Content is the remaining ~20%. Fix infrastructure before optimizing content.

That said, here's what modern spam filters evaluate in your email content.

The Rules That Actually Matter

1. Don't Send All-Image Emails

An email that's a single image (or mostly images with minimal text) is a red flag. Spam filters can't read image content reliably, so they distrust image-heavy emails.

Fix: Ensure every email has meaningful text content. Use images to complement, not replace, your message.

2. Use Custom Tracking Domains

Your ESP tracks clicks by rewriting your links through their tracking domain. The default tracking domain is shared across all customers on that ESP.

If another customer on your ESP's shared tracking domain gets flagged for spam, links through that domain become suspect — including yours.

Fix: Configure a custom tracking domain (e.g., links.yourdomain.com or email.yourdomain.com). Every major ESP supports this. It takes 5 minutes and a CNAME record.

3. Limit Links

More links = more opportunities for spam filters to find something suspicious.

  • Marketing email: 3-5 links maximum (including the unsubscribe link)
  • Transactional email: 1-2 links (the primary action)
  • Avoid: 10+ links in a single email

4. Never Use URL Shorteners

bit.ly, tinyurl, ow.ly — these are heavily associated with spam and phishing. Spam filters flag shortened URLs because they obscure the destination.

Fix: Use full URLs through your custom tracking domain. If links are long, use descriptive anchor text.

5. Keep Email Size Under 100KB

Large emails (200KB+) are more likely to be clipped by Gmail ("View entire message") and slow to load. This hurts engagement, which hurts deliverability indirectly.

Fix: Optimize images (compress before embedding), use hosted images instead of inline Base64, and keep HTML clean.

6. Include Unsubscribe Infrastructure

Required by law (CAN-SPAM, GDPR) and by Gmail/Yahoo bulk sender requirements:

  • Visible unsubscribe link in the email body
  • List-Unsubscribe header in email headers
  • List-Unsubscribe-Post header for one-click unsubscribe (RFC 8058)
  • Unsubscribe must work within 10 days (2 days recommended)

Most ESPs handle headers automatically. Verify they're present by viewing raw email source.

What Doesn't Matter (Anymore)

Spam trigger words: "Free," "buy now," "limited time" — these haven't been meaningful spam signals since the early 2010s. Modern filters use reputation and engagement, not keyword lists. For the full picture, see our spam trigger words analysis.

Exclamation marks and caps: Using one exclamation mark is fine. Using "BUY NOW!!! FREE!!!" in your subject line looks like spam to humans and algorithms alike, but that's a different problem.

Specific HTML elements: Using <table> vs <div>, inline styles vs embedded — these affect rendering but not deliverability.

Testing Your Email

Before sending to your full list:

  1. Mail-Tester.com: Send a test email, get a deliverability score (0-10). Shows content issues, authentication status, and blacklist checks.
  2. Litmus: Full rendering preview across 90+ email clients + spam filter analysis.
  3. Email on Acid: Similar to Litmus with content analysis.

Practitioner note: I've seen companies spend weeks optimizing email content when their SPF record was broken. Fix authentication and reputation first. Then worry about HTML structure. Content optimization on top of broken infrastructure is polishing a car with no engine.

Practitioner note: Custom tracking domains are the most underrated deliverability improvement. It takes 5 minutes to set up and immediately removes your dependency on your ESP's shared tracking domain reputation. Do this today.

If your email content is fine but deliverability is still poor, the problem is infrastructure. Schedule an audit — I'll find the real cause.

Sources


v1.0 · March 2026

Frequently Asked Questions

Does HTML email hurt deliverability?

No. HTML email is standard and expected. What hurts deliverability: all-image emails with no text, broken HTML that renders poorly, excessive links, and URL shorteners. Well-structured HTML with a balance of text and images is fine.

What's the ideal image-to-text ratio?

There's no magic number, despite what many guides claim. The practical rule: every email should make sense as plain text. If you stripped all images and the email says nothing, it's too image-heavy. A roughly 60% text / 40% image split is a safe guideline.

Do spam trigger words actually matter in 2026?

Far less than they used to. Modern spam filters rely primarily on sender reputation, authentication, and engagement signals — not keyword matching. That said, extremely spammy language (ALL CAPS, excessive exclamation marks, known phishing phrases like 'verify your account') can still trigger content-based filters as a secondary signal.

Should I include a plain-text version?

Yes. Most ESPs generate a plain-text version automatically. Having both HTML and plain-text (multipart/alternative) is a positive signal. Some spam filters penalize HTML-only emails without a plain-text alternative.

Does dark mode affect deliverability?

No, but it affects rendering. If your email looks broken in dark mode (invisible text, wrong colors), recipients are more likely to ignore or report it. Test dark mode rendering in Litmus or Email on Acid.

Want this handled for you?

Free 30-minute strategy call. Walk away with a plan either way.