← Blog/Best Practices

Cold email templates that pass spam filters, and the patterns that quietly fail

October 15, 2026·6 min read·By MailPilot

Structure matters as much as wording

Spam filtering looks well beyond individual trigger words. A cold email built from a heavily designed HTML template, with multiple tracked links, a large image, and a long chain of URL redirects, can get flagged even when the actual sentence content is unremarkable. For cold outreach specifically - where the recipient has no prior relationship with you - filters tend to weigh structural signals more heavily than for a newsletter the recipient already opted into.

What structurally safe templates have in common

  • Plain-text or near-plain-text formatting. A cold email that looks like a message a colleague would actually type - no banner image, no multi-column layout, minimal or no custom fonts - reads as personal correspondence rather than a mass campaign.
  • One link, maximum two. Each additional tracked link adds another redirect hop and another domain reference for the filter to evaluate. A single, direct link to a landing page or calendar booking is far safer than a template with a header logo link, a CTA button link, and a footer unsubscribe link, all pointing through different tracking domains.
  • No attached files on a cold first-touch. Attachments on an email from an unfamiliar sender are one of the more reliable spam signals filters use, regardless of how legitimate the attachment is.
  • A real signature with a real reply-to address, not a no-reply sending address - cold email is specifically supposed to invite a reply, and filters weight "replies expected" senders differently than bulk no-reply senders.

A before/after structural comparison

ElementHigh-risk patternLower-risk pattern
FormattingFull HTML template, brand colours, banner imagePlain text or minimal HTML, no images
Links3+ tracked links through a redirect domain1 direct link, no redirect chain
AttachmentsPDF or deck attached to first-touch emailLink to a hosted document instead
Senderno-reply@ or marketing@ addressA named person's actual mailbox
PersonalisationFully templated, no per-recipient variableAt least one genuine per-recipient detail

Test the template, not just the final send

Before rolling a new template out to a full list, send it through a seed-list placement check first - a small panel of test inboxes across Gmail, Outlook and others - so you catch a structural problem on a handful of test sends instead of discovering it after it has already reached hundreds of real prospects.

Mobile rendering affects more than appearance

A template that renders cleanly on desktop can break in ways that affect deliverability signals on mobile, where the majority of email opens now happen. A layout that collapses into a single long image on a narrow screen, or a template that relies on multi-column HTML tables that don't degrade gracefully, can push a recipient to delete without reading - which registers as a disengagement signal even though the content itself was fine. For cold outreach specifically, test the actual rendered appearance on a phone-sized screen before sending, not just in a desktop email client preview.

A genuinely plain-text or near-plain-text template, the same structural choice that helps with spam-filter risk, also tends to render more reliably across mobile clients than a heavily designed HTML layout, since there's less complex markup that can break on a smaller screen or a less capable mail app. Keep a record of which template structures you've tested and their placement results over time, so you're not re-discovering the same lesson every time a new team member builds a template from scratch. A short internal reference - what passed, what didn't, and why - saves real time compared to re-litigating structural choices for every new campaign or sequence. Share that reference with anyone new building outreach templates before they start, rather than after a problematic template has already gone out to a real prospect list and needs to be walked back. Update that reference whenever a provider-side filtering change seems to shift what performs well, since the specific thresholds for link count or formatting complexity are not fixed forever and tend to tighten gradually over time as filters get more sophisticated.

What not to do

Do not assume switching email service providers fixes a structural template problem - the same high-risk template structure will get filtered on almost any sending platform, because the filtering happens on the receiving side. Do not add more personalisation tokens as a substitute for fixing link and formatting issues; personalisation helps engagement but doesn't offset structural red flags on its own. Do not reuse a marketing newsletter template for cold outreach just because it's already built - the two have fundamentally different structural risk tolerances because the recipient relationship is different.

MailPilot checks real inbox placement through a seed-inbox network across major providers, so a template change can be validated against actual placement before it goes out to a full prospect list, on either OAuth or SMTP-connected mailboxes.

MailPilot

Ready to reach the inbox every time?

Automated email warmup across real peer mailboxes. Live inbox placement monitoring. Free 7-day trial - no credit card required.

Start free trial
Reach the Inbox, Every Time
Connect unlimited inboxes for warmup. Free 7-day trial, no credit card.
Try for Free
WORKS WITH
OZOHO
inbox placement99.2%
free trial7-day
companies trust us340+

Start for free - no credit card required.

Get started freeBook a demo