The complete playbook for landing in the primary inbox - covering technical setup, list hygiene, sending habits, and reputation management. Works for cold email and newsletters.
Email deliverability is not a single setting you flip. It is the outcome of a dozen decisions across your technical setup, your list quality, and your sending behaviour - every one of which can independently damage your inbox placement.
The good news: most deliverability problems come from 2-3 root causes. Fix those and inbox placement improves immediately. This guide covers every lever, ranked by impact.
TL;DR: If you only do two things from this guide, make them Tactic 1 (fix DNS authentication) and Tactic 2 (verify your list with BounceZero). These two changes fix the majority of deliverability problems for most senders.
Authentication tells receiving mail servers that your emails are legitimately from your domain - not a spammer spoofing you. Without it, Gmail and Outlook route your emails to spam automatically.
SPF - Specifies which IP addresses are authorised to send mail for your domain. Add to your DNS: v=spf1 include:sendingplatform.com ~all
DKIM - A cryptographic signature that proves your emails have not been tampered with in transit. Your sending platform (Instantly, Mailchimp, etc.) generates this - you add the public key to DNS as a TXT record.
DMARC - Ties SPF and DKIM together and tells receiving servers what to do when authentication fails. Start with: v=DMARC1; p=none; rua=mailto:[email protected] to monitor, then escalate to p=quarantine then p=reject.
All three are now required for bulk sending to Gmail and Yahoo inboxes (enforced in 2024, still checked in 2026).
Every invalid address on your list is a hard bounce waiting to happen. Hard bounces above 2% trigger ISP filters. Above 5% and most ESPs suspend your account.
B2B email lists from Apollo, ZoomInfo, or Lusha contain 15-30% invalid addresses on average. Even your own CRM data decays at 22% per year - roughly 1.8% per month.
What to verify: Every list before the first send. Any list older than 30 days. Lists exported from any third-party data provider.
What BounceZero checks: Syntax validity > Domain and MX records > SMTP handshake without sending > Catch-all domain detection > Disposable email detection > Role-based address detection.
What to do with results: Keep Valid. Remove Invalid and Disposable. For cold email, also remove Catch-All and Role-Based. For newsletter sends, Risky addresses can be included cautiously.
At $3/1,000 addresses and 8 minutes for a 10,000-contact list, verification is the highest-ROI action in this list.
New domains have no sender reputation. ISPs are suspicious of domains that go from zero sends to 500/day overnight. Warm-up is the process of building trust gradually - starting low and ramping up.
Manual warmup schedule: Week 1: 5-10/day > Week 2: 20-25/day > Week 3: 50-75/day > Week 4: 100+/day. Monitor spam placement rate throughout - if it rises, pull back.
Tool-based warmup: Instantly Warmup, Mailreach, Lemwarm, and Smartlead Warmup all automate the ramp-up by sending emails between a network of real accounts that open and engage with each other. This builds positive engagement signals alongside sending history.
Critical: Verify your list BEFORE warmup starts. One hard bounce during warmup is 10x more damaging than a bounce during steady-state sending - the domain has no history to absorb it.
Hard bounce rate thresholds by sending type: Cold email: <2% per campaign, <0.5% in first 30 days | Email marketing: <0.5% | Transactional: <0.1%.
Above these thresholds, Gmail and Outlook apply increasing levels of filtering - from promotion tab routing to spam to outright rejection.
The fastest way to control bounce rate is list verification (Tactic 2). The second fastest is suppression - maintain a hard bounce suppression list and never email a hard-bounced address again. All major ESPs handle suppression automatically, but if you are using a custom SMTP setup, you must implement this yourself.
Google and Yahoo now require one-click unsubscribe for bulk senders (enforced since February 2024). If someone cannot unsubscribe in one click, they hit the spam button instead - and spam complaints are far more damaging than bounces.
Implement List-Unsubscribe headers on all bulk email. Process unsubscribes within 48 hours. Never email a suppressed address again.
For cold email: include a clear unsubscribe line in every email - legally required in most jurisdictions and practically required for deliverability. Tools like Instantly handle this automatically.
A list that was clean three months ago has gained roughly 5-6% invalid addresses through natural decay. B2B email addresses become invalid when people change jobs, companies shut down, or domains expire.
For cold email lists: verify before every campaign if the list is older than 30 days. For newsletter lists: run a full verification pass quarterly. For CRM contacts: verify any segment before use if it has not been mailed in 60+ days.
BounceZero bulk verification costs $3/1,000 contacts - a fraction of the cost of the inbox placement damage from a 5% bounce spike.
If someone has not opened your last 20 emails, they are hurting your deliverability. ISPs use engagement signals - opens, clicks, replies, moves to primary - as quality signals. Low engagement tells them your emails are unwanted, which pushes ALL your emails toward spam, including the ones going to engaged recipients.
For newsletters: run a re-engagement campaign for contacts who have not opened in 90 days. Those who do not respond get suppressed.
For cold email: after 5 touchpoints with no response, remove from the sequence. Do not keep re-mailing unresponsive contacts - the low engagement rate will damage your domain reputation over time.
When you send email through Mailchimp, Instantly, or any platform, click and open tracking links go through the platform shared domain by default (click.mailchimp.com, etc.). If any other sender on that platform gets blacklisted, their shared domain reputation damages yours.
Set up a custom tracking domain - a subdomain of your sending domain that you control. This isolates your tracking reputation from other senders on the platform. Most major email platforms support this in settings.
Content spam filtering is less decisive than it was in 2015, but it still contributes. Common triggers: all-caps subject lines, excessive punctuation (!!!), classic spam phrases ("100% free", "no obligation", "click here"), image-heavy emails with minimal text, broken HTML.
For cold email specifically: plain text emails with one link outperform HTML-heavy emails on deliverability. Keep subject lines under 50 characters. Personalise the first line so it does not read as bulk.
The fastest content fix: use Google Postmaster Tools to check your spam rate before and after content changes.
Sudden volume spikes look like account compromise or bulk spam to ISPs. A domain that sends 50 emails/day for a month and then suddenly sends 5,000 will be filtered aggressively.
If you need to scale up volume, ramp gradually - the same principle as initial warmup. For newsletters: send on a consistent day and time each week. For cold email: keep daily send volume consistent even when adding new campaigns.
Getting blacklisted is often invisible until your open rates collapse. Weekly monitoring catches problems early, when removal is faster.
Free tools: MXToolbox Blacklist Check (mxtoolbox.com/blacklists.aspx), MultiRBL, DNSBL.info. Check your sending IP and sending domain.
The most impactful blacklists for cold email: Spamhaus SBL, SpamCop, Barracuda. For SMTP deliverability to Microsoft/Outlook: check the Microsoft SNDS (Smart Network Data Services) portal.
If blacklisted: identify the cause first (almost always high bounce rate or spam complaints), fix the root cause, then request delisting. Requesting delisting without fixing the root cause just gets you re-listed faster.
Google Postmaster Tools (postmaster.google.com) shows your spam rate, domain reputation, and IP reputation as Google sees it - directly from the source. This is the most accurate deliverability signal available.
Microsoft SNDS (sendersupport.olc.protection.outlook.com/snds) gives the equivalent for Outlook/Hotmail.
Both are free. Set them up before your first campaign - you want baseline data to compare against. Check after every campaign. A spike in spam rate is your early warning signal, before bounce rates reflect the damage.
Most deliverability problems trace back to one root cause: invalid email addresses reaching your sending domain. Fix that first - everything else follows.
Ayoub built BounceZero's 5-stage validation pipeline, its dedicated BGP-announced IP infrastructure, and the Patroni HA PostgreSQL cluster behind every verification. Previously built high-volume email delivery infrastructure. Trained at 1337 Benguerir (École 42 network, 2019). Open-source: bgp_analyzer.
Provider behaviour, DNS setup, warm-up, and inbox placement
@sfr.fr + @neuf.fr - Altice filtering, DMARC enforcement, fix 550 rejections
@free.fr + @aliceadsl.fr - Proxad blocklist, no whitelist, strict filtering
30 rules across authentication, list hygiene, content, infrastructure, and monitoring
9 factors, where to check (Sender Score/Postmaster/SNDS/Talos), benchmarks, step-by-step improvement plan
IP vs domain reputation, bounce thresholds, tools to check score, recovery steps
How to check, protect, and repair your sending reputation
Continue through related topics