Let me tell you a quick story.
I was once convinced I had written the perfect cold email. Great subject line. Killer opening. Clear CTA. The whole package.
Open rate? 21%.
Why? Because it never made it to the inbox.
The hard truth is: you can write the best email in the world — but if it ends up in spam, it might as well not exist.
In this guide, I’ll show you how I send 100,000+ cold emails a year without getting flagged, or ignored.
This is a practical, step-by-step playbook on how to improve email deliverability in 2025.
It’s packed with tactics, tech tips, and tools that work.
You’ll find everything you need to keep your emails in the inbox.
Why a 97% delivery rate can still mean poor ROI
First things first: let’s clear up a common confusion.
- Email delivery means your email was accepted by the server.
- Email deliverability means it landed in the inbox (not spam, promotions, or updates).
You can have a 97% delivery rate and still lose money because your emails don’t get seen.
According to Validity, only 86% of commercial emails globally reach the inbox.
That’s 14% of your efforts, budget, and time going to waste.
If your deliverability is off, every other email metric suffers — open rate, reply rate, conversion.
So how do you improve email deliverability?
The 5 tactics that improved my email deliverability
Step 1: Nail your technical setup (meet SPF, DKIM, and DMARC)
Before anything else, get this part right to improve email deliverability.
Your cold email campaign could be perfectly written, well-targeted, and timed.
But if your domain isn’t authenticated, you’re not even playing the game.
You’re just hitting “send” and hoping spam filters are feeling generous.
Internet service providers (ISPs) use authentication protocols to verify that you are who you say you are.
If you don’t have them properly configured, your emails will be treated as suspicious.
Quick comparison on what each protocol does
Authentication protocol | What it does | Why it matters |
---|---|---|
SPF | Declares which servers can send emails for your domain | Blocks spammers from impersonating you |
DKIM | Signs your messages to verify they weren’t altered in transit | Proves your content is legit |
DMARC | Tells inboxes what to do if SPF or DKIM fails + sends reports | Gives you control and visibility |
✅ Step-by-step set up of your SPF (Sender Policy Framework)
Think of SPF as your “approved sender list.”
When your email hits a server, the recipient checks your domain’s SPF record to verify that the sending IP is legit.
Example SPF Record:
ini
CopyEdit
v=spf1 include:_spf.google.com ~all
How to Set It Up in 5 Steps:
- Log into your DNS settings (where your domain is hosted).
- Add a new TXT record.
- Paste the correct SPF value (use only the services you actually send from).
- Test your record using lemlist’s SPF checker.
- Save and propagate changes.
🚨 Avoid this common mistake: Too many include:
directives can cause SPF to fail (DNS lookup limit is 10).
→ Here’s a more comprehensive guide on how to create an SPF record.
✅ Step-by-step set up of your DKIM (DomainKeys Identified Mail)
DKIM is like sealing your email with a wax stamp. It proves the message hasn’t been altered in transit.
You need it to improve email deliverability.
Your ESP (like Google Workspace) uses a private key to sign each outgoing email. The recipient uses your public key (in DNS) to check the signature.
What to Do:
- Enable DKIM in your email provider’s admin panel.
- Add the generated TXT record to your DNS.
- It’ll look something like:
google._domainkey.yourdomain.com
- It’ll look something like:
- Once it’s in place, your emails will be signed automatically.
🎯 Pro tip: Don’t skip this just because you’re “not technical.” If you’re using lemlist or Google Workspace, this takes 5 minutes.
→ Here’s a more comprehensive, up-to-date guide on how to set-up your DKIM for your domain.
✅ Step-by-step set up of DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC ties SPF and DKIM together and tells inboxes how to handle failures.
It’s also the only protocol that gives you visibility through aggregated reports, so you can see who’s sending on your behalf and whether they’re passing authentication.
Start with a soft policy:
ini
CopyEdit
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com
Then move to:
p=quarantine
to send failures to spamp=reject
to block them completely
Set it up like this to improve email deliverability:
- Create a DMARC record as a TXT entry in your DNS.
- Use the format above, swapping in your own reporting address.
- Monitor reports for a few weeks before tightening your policy.
💡 Real talk: Most B2B senders either don’t have DMARC, or don’t use it properly. That’s a huge opportunity to stand out.
If you skip these three protocols, you risk improving your email deliverability
Set these up once, and you massively increase your chances of inbox placement.
If you’re missing one of these three protocols:
- Your emails are more likely to land in spam
- Spammers can spoof your domain (damaging your brand)
- You’ll have zero visibility into who’s impersonating you
Step 2: Warm up your inboxes
Don’t skip this step — even if you’re a pro.
Whether you’re launching a new outbound campaign or just added a fresh inbox, warming up is non-negotiable if you care about sender reputation and improving email deliverability.
Your sender reputation = your email credit score
If inbox providers trust you, you improve email deliverability and get inbox placement. If they don’t, you get spammed or even blocked.
Your sender reputation is built over time and shaped by:
- ✅ Consistent sending patterns
- 🚫 Bounce rates
- ⚠️ Spam complaints
- 📈 Open & reply rates
- 🧱 Blocklists and domain age
How I warm up every inbox?
Here’s my step-by-step routine for a brand new domain to instantly improve email deliverability:
- Day 1: Send 5 emails
- Ramp up volume by 2 emails/day (two emails on day 1, four emails on day 2, six emails on day 3,…) until you reach 50
A longer warm-up duration of 30-60 days leads to improved open rates by 30%. Worth it to improve email deliverability.
Bonus: With lemwarm, inbox warm-up is automated.
lemwarm handles the entire warm-up process for you:
- Sends emails to real inboxes in the network
- Simulates real replies and engagement
- Adjusts volume over time to build trust
Set it. Forget it. Watch your open rates go up.
If you’re using Gmail or Outlook inboxes with lemlist, you’re likely on a shared IP (which is totally fine).
But if you’re running bulk sends from a dedicated SMTP, make sure you warm up that IP the same way you would a domain.
Pro-tip: How I build long-lasting domain reputation to improve email deliverability
Domain reputation is not the same as IP reputation, but it’s just as important.
Here’s how I build it:
- Stick to a predictable daily volume
- Send to highly engaged leads first
- Avoid cold starts and random spikes
- Monitor reply rates, not just open rates
- Don’t send newsletters and cold emails from the same domain
Consistency builds trust. Random bursts kill it.
How I keep my sender score above 90 (and off blacklists)?
Your sender score is like a trust rating for email domains. Want to keep it high to improve email deliverability?
Here’s what I check weekly:
- Google Postmaster Tools: See reputation trends, spam complaints
- Microsoft SNDS: Monitor behavior with Outlook
- **Spamhaus + Barracuda**: Confirm you’re not blacklisted
- **lemlist’s Deliverability Setup Checker**: Instant validation of SPF, DKIM, DMARC, and domain health
🧠 Pro tip: Set reminders. A drop in sender score is usually a sign of a deeper deliverability issue.
Step 3: Clean your lists (before every campaign)
You can do everything else right — perfect setup, warmed inboxes, killer copy.
But if your list hygiene is off, you’re doomed to bounce.
And bounces are a reputation killer.
Every email you send to an invalid or unengaged address increases the chances of landing in spam. ISPs track it.
Your domain suffers. And your open rates tank.
Here’s how I keep my sender reputation clean and my engagement strong, and improve email deliverability.
Why list hygiene = inbox placement
List quality directly affects how inbox providers judge your domain. When they see you consistently sending to:
- Valid, engaged users → 👍 trusted sender
- Invalid or silent users → ⚠️ suspicious activity
Cleaning your list = protecting your reputation. And if you’re not doing it monthly, you’re already behind.
How to check your bounce rate and what it means
Know if you’re within the healthy range of your bounce rate. Here’s a quick guide to know what the numbers mean.
Bounce rate % | What it means | Next steps |
---|---|---|
<3% | Good 🟢 | Maintain current practices |
2-4% | Ok 👍 | Monitor and clean list soon |
4-6% | Careful 🟡 | Immediate list cleaning needed |
>6% | Stop 🛑 | Stop campaign, fix issues |
Did you know that you can track your bounce rate on lemlist?
Every time you run a campaign, you can check your campaign statistics to see how many emails bounced.
How I clean my lists — and it works every time
If you’re getting a bounce rate over 6%, you need to clean your list.
Here’s how to do it:
- ✅ Use email verification before every campaign
- 🧹 Remove hard bounces immediately
- 🚫 Remove soft bounces after 3 failed attempts
- 🔁 Re-engage or sunset contacts inactive for 60+ days
Here’s how I define and handle bounces:
- Hard bounce = address doesn’t exist → remove immediately
- Soft bounce = temporary issue (e.g. full inbox) → remove after 3 attempts
- Inactive = no opens or clicks in 60+ days → start re-engagement flow or sunset
The 6-month rule is too generous to clean inactive contacts
That’s way too late.
Instead, I follow a 60-day sunset policy:
- After 60 days of inactivity, send a re-engagement email
- If no response → remove from primary list
- Optionally, add to a dormant segment for future testing
📬 Example subject line: “Still want to hear from me?”
Sometimes people re-engage.
Most won’t.
That’s OK.
Your goal is to protect your domain and improve email deliverability.
Use double opt-in to build a list with higher engagement
Not all subscribers are created equal.
Double opt-in means your contact confirms their subscription twice: once by submitting a form, and again by clicking a confirmation email. It ensures only truly interested people land in your list.
Comparison:
Opt-in Type | Engagement Quality | Risk of Bounces/Spam Complaints | Legal Safety (GDPR/CAN-SPAM) |
---|---|---|---|
Single opt-in | Lower | Higher | Lower |
Double opt-in | Higher | Much lower | Stronger |
Double opt-in isn’t just safer. It builds a list you want to send to.
An instant way to kill your deliverability: purchased lists
Buying lists is the fastest way to ruin your sender reputation.
- You don’t know the list source
- High chance of invalid, outdated, or fake addresses
- You’ll hit spam traps, hard bounces, and blacklists
- Most of the time, it’s not GDPR, CAN-SPAM, or CCPA compliant
📛 It’s risky, shady, and usually illegal.
On lemlist, we focus on verified leads from clean data, enriched ethically, and validated before sending.
That’s the standard. That’s what improves email deliverability.
Create these segments to avoid spam filters
Generic blasts are dead. Segmentation is how you avoid spam, stay relevant, and double engagements.
Here are the segments I use:
- Behavior-based (clicked vs. opened only vs. no activity)
- Persona-based (title, industry, location)
- Email source (cold, warm, inbound form, referral, webinar signup)
- Recently engaged (last 7 days, 30 days, 90 days)
- Inactive (45+ days, 60+ days)
💡 Send tailored content to each segment and watch your engagement go up.
Step 4: Write cold emails that don’t land in spam, at scale
Even with perfect technical setup, bad copy can get you flagged.
You might not realize it, but spam filters don’t just scan your headers or domain.
They analyze your subject line, your word choices, your tone, even how predictable your emails are.
That’s why every line you write should work with your deliverability, not against it.
Here’s the cold email content playbook I use to stay out of trouble and to improve email deliverability.
Why email content still gets you spam-filtered
Modern spam filters are powered by AI, engagement history, and pattern detection.
That means:
- Using a known spam phrase can get you flagged
- Sending the same email to 100 people can trigger filters
- Even good emails with bad formatting can get routed to promotions or spam
Let’s break this down step by step.
The words that send your email straight to spam
Certain phrases are like red flags for spam filters. I avoid these like the plague — especially in subject lines and CTAs.
Common spam triggers:
- “Act now!”
- “Free trial”
- “Double your income”
- “Earn $$$ from home”
- “Risk-free”
- “Buy now / Click here”
- “Guaranteed”
Formatting red flags:
- ALL CAPS SUBJECTS
- Excessive punctuation!!!!
- Emojis in subject lines 🤯💸🔥
✅ What I do instead:
- Keep subject lines short (under 3 words)
- Keep tone casual, confident, not pushy
- Write like I’m starting a real conversation—not selling something
Keep it plain text
You don’t need fancy HTML to stand out.
In fact, the simpler the email, the better your chances of reaching the inbox. Here’s how to improve email deliverability.
What I follow:
- No images in cold emails
- No hyperlinks (unless part of a reply CTA, and even then I test)
- Use clean HTML (no nested tables, no inline CSS mess)
- Keep text-to-image ratio at 80/20 or better
- Always include a plain text version if you’re sending multi-part emails
On lemlist, ‘plain text’ mode is just a click of a button.
Simply go to your Campaign > Sequence, then click the e-mail you want to edit.
On the editor, you’ll already see the ‘Plain text’ button.
Remember: spam filters love minimalism. So does your reader.
Personalization isn’t about name-dropping
Here’s the truth:
“Hi {firstName}” isn’t personalization. It’s a template.
What works?
- Referencing their job title
- Mentioning a recent product launch, post, or hiring round
- Commenting on a pain point they’re likely facing
- Using dynamic content that changes per industry or company size
📌 I use liquid syntax to increase email deliverability. It allows me to vary my structure and keep each message unique. This makes your campaigns harder for spam filters to detect as mass outreach.
How I use AI to scale without triggering spam filters
Writing unique emails at scale is hard.
That’s where I get a little help from my new friend, AI. 👋
On lemlist, I use AI-powered icebreakers to:
- Change phrasing from lead to lead
- Improve email deliverability
- Vary sentence structures
- Add behavioral relevance (e.g. referencing company growth, funding, or role-specific pain)
This reduces repeat patterns across messages and makes the copy feel human.
Need some inspiration? You can check our prompts library, so you don’t have to start from scratch.
Add a one-click unsubscribe in the footer
Inbox providers like Gmail and Yahoo now require a one-click unsubscribe for bulk senders.
But even before the rules changed, I was doing this. Why?
Because it:
- Reduces spam complaints
- Improves your sender reputation
- Makes your emails look more trustworthy
✅ Best practice:
- Add a clear “unsubscribe” link in the footer of your cold email
- Avoid link shorteners (use full URLs when possible)
- Don’t hide it behind vague wording—be upfront
Step 5: Send the right volume with inbox rotation
ISPs monitor volume, frequency, and consistency—and they don’t like surprises.
My golden rule?
Never send more than 30–50 cold emails per inbox per day.
Here’s how I scale safely and improve email deliverability.
How I structure inbox rotation to send 500+ emails/day
Inbox rotation lets you spread sending volume across multiple domains and inboxes, so no single identity gets burned.
For 500 emails/day, I use:
- 3–4 domains (e.g.,
trylemlist.com
,getlemlist.com
) - 2–3 inboxes per domain
- Rotation logic to spread volume evenly
✅ This setup:
- Protects your sender reputation
- Improves email deliverability
- Lets you pause compromised inboxes
- Ensures stable, predictable volume per sender
Send like a pro, not a spammer
Don’t do this | Do this instead |
---|---|
Send 200 emails from one inbox in a day | Rotate across 6–10 inboxes |
Blast all emails at once | Spread them over 2–4 hours |
Double your sending volume overnight | Increase gradually, ~10% per week |
Send to unengaged contacts | Prioritize recently active leads |
Use the same subject line for 300 emails | Personalize using liquid syntax or AI |
Most inbox issues come from sudden volume spikes or sketchy list segments. Inbox rotation is your insurance policy. Inbox rotation improves email deliverability
Test 3 different sending times to see what gets opened
While technical factors matter most for inbox placement, timing can still influence your open rates.
Here’s what I test:
- Morning sends (8–10 AM)
- Midday sends (12–2 PM)
- End-of-day sends (4–6 PM)
📌 Run A/B tests over 1–2 weeks per segment.
⚠️ Just don’t send mass blasts at the same second.
Spread them out to mimic natural sending behavior and improve email deliverability.
With lemlist, you can easily set different campaign schedules to manage email volumes.
When you run a campaign, simply click the 3rd step ‘Launch’ > ‘Launch’ button > ‘Edit settings’
From there, you can create a new schedule depending on the desired number of leads you want to contact daily.
Pro tip: some inbox providers (like Gmail) look at user-level engagement windows, so your best time can vary by persona or region.
My 3 email deliverability techniques most senders miss
Most people stop at SPF and subject lines.
But if you want to consistently reach the inbox — especially at scale — you need to go beyond the basics.
These are the techniques that most sales teams overlook, yet they make a measurable difference to improve email deliverability and performance.
Let’s dig into three of my go-to methods that fly under the radar.
Use Dedicated IPs only when sending 100,000+ emails/month
Keep in mind: dedicated IPs sound like the ultimate solution, but they’re not always the right choice.
Dedicated IPs are more for transactional/marketing emails, not for small senders.
Here’s the breakdown:
IP Type | Pros | Cons | Best For |
---|---|---|---|
Shared IP | Easy setup, warmed reputation | You share risk with others | Startups, low-volume senders |
Dedicated IP | Full control, exclusive reputation | Needs manual warm-up and consistent volume | High-volume campaigns (think marketing and transactional emails) |
🔎 If you’re not sending at least 100,000 emails/month, stick with a trusted shared IP.
📉 Warming up a dedicated IP wrong can do more harm than good.
Tip: If you go dedicated, choose a reputable SMTP provider like Mailgun, SendGrid, or Postmark, and follow strict warm-up protocols.
Test your emails across top clients to prevent rendering issues and improve email deliverability
Design can wreck email deliverability too.
Your email could look fine in Gmail but breaks in Outlook or Apple Mail.
Why it matters:
- Broken layouts = poor user experience
- Unreadable messages = lower engagement
- Low engagement = increased spam filtering
✅ Before I launch a sequence, I test emails on:
- Gmail (desktop + mobile)
- Outlook
- Apple Mail
- Yahoo
- iOS + Android default apps
Tools to use:
- lemlist (preview for recipients on both desktop + mobile)
- Litmus
- Email on Acid
📌 Bonus: Stick to plain-text or light HTML formats to minimize risk.
Verify inbox placement using seed lists (not just delivery rates)
Here’s a hard truth:
Just because your email was “delivered” doesn’t mean it reached the inbox.
Inbox placement testing shows where your email lands:
- ✅ Primary inbox
- 📂 Promotions tab
- 🗑️ Spam
- ❌ Blocked
That’s where seed lists come in.
What I do:
- Create seed inboxes across Gmail, Outlook, Yahoo, etc.
- Send test emails to that list
- Check inbox placement manually (or with a tool like Gmass, GlockApps, or MailReach)
Why it works:
- You get visibility into how different providers treat your emails
- You can spot issues early before sending to 1,000+ leads
On lemlist, you can infer placement trends through lemwarm’s auto-replies and open rates, but dedicated inbox placement testing gives even more precision to improve email deliverability.
Adapt your email strategy to work with AI-based filtering systems
Spam filters used to be keyword-based.
Today, they’re smarter, faster, and trained by AI models that adapt in real-time to how your recipients engage with your emails.
That means your strategy needs to evolve too.
Modern email deliverability isn’t just about avoiding spammy phrases.
It’s about sending genuinely valuable, expected, and compliant messages to the right people.
Let’s break down what that looks like in practice.
AI filters track historical engagement, not just keywords
Email providers like Gmail and Outlook are now using AI and machine learning to evaluate your sending behavior over time.
What these filters look at:
- 📉 Low open/reply rates over time = negative signal
- 🗑️ Manual deletions or no responses = flagged as low engagement
- 📬 Consistent engagement (opens, replies, forwarding) = inbox trust
What that means for you:
- Every send impacts future inbox placement
- Your past performance becomes your reputation
- You can’t “trick” filters with cleaner copy if your list isn’t engaged
✅ Focus on:
- High-quality leads
- Smart segmentation
- Personalization that earns opens & replies
- Pruning inactive contacts regularly
💡 Pro tip: The best “deliverability strategy” today? Write emails that people actually want to read and reply to.
The 4 elements in every email to stay GDPR, CAN-SPAM, and CCPA compliant
AI filters don’t just care about engagement.
They’re trained to detect whether your email looks like a compliant, respectful message.
Here are the must-have compliance elements to protect your sender reputation, improve email deliverability, and stay on the right side of the law:
- Consent:
- You must have a legal basis to email someone (opt-in, legitimate interest, or business relationship)
- Especially strict under GDPR (EU) and CCPA (California)
- Identification:
- Always state who you are (sender name + organization)
- Use a real reply-to address
- Physical Address:
- Include your company’s valid physical mailing address in the footer
- Required by CAN-SPAM and GDPR
- Easy Opt-Out:
- Must offer a clear, one-click unsubscribe
- Make it easy to find (top or bottom, no hidden links)
- Required under Gmail and Yahoo’s 2024 sender requirements
📌 If you miss any of these, you’re not just risking fines. You’re training AI filters to downgrade your emails which hurts email deliverability.
Staying ahead of filtering technology isn’t about finding loopholes.
It’s about aligning with what inbox providers are optimizing for: positive user experience, privacy, and trust.
My 7 essential tools to monitor and fix email deliverability issues
If you want to stay out of spam and improve email deliverability, you need to monitor your setup like a hawk and fix issues before they hurt your sender reputation.
Here are the tools I check every week (sometimes daily), broken down by category:
Authentication Checkers
1. lemlist Deliverability Setup Checker
Instantly validates your SPF, DKIM, and DMARC records—plus gives you blacklist status. If something’s broken, this is where I start.
2. MXToolbox
Great for deeper DNS diagnostics. Also useful for checking propagation and DMARC formatting.
Spam and Content Testers
Shows a score from 0–10 based on copy, formatting, links, and structure. I test every campaign here before launching.
4. Mail-Tester
Quick check on spam score and inbox placement using a generated email address. Great for non-lemlist users.
Blacklist Monitoring
5. Talos Intelligence (Cisco)
Checks whether your domain or IP has been flagged as malicious.
6. Spamhaus & Barracuda
Check these weekly—some of the most widely used spam databases. If you land here, you’ll feel it.
Sender Reputation & Inbox Health
7. Gmail Postmaster Tools
Gives visibility into domain reputation, spam complaints, and delivery errors across Gmail.
8. Microsoft SNDS
The Outlook equivalent. Check IP behavior and complaint rates with Microsoft domains.
Bonus: If you’re running multiple domains, build a weekly dashboard.
Track sender score, bounce rates, blacklist status, and open rates side-by-side.
Pro tip: Deliverability is not static. What works today might not work tomorrow, especially with Gmail and Outlook adapting fast. Stay vigilant to improve email deliverability!
My 5-point checklist when emails suddenly land in spam
- ⚙️ Check SPF, DKIM, and DMARC Run a quick test using lemlist’s setup checker
- 📧 Review your latest content Did you change subject lines? Add links? Trigger spam terms?
- 📜 Check for recent blacklistings Use Talos, MXToolbox, or Spamhaus
- 📉 Look at your bounce rate If it’s over 2%, stop sending and revalidate your list Use tools like ZeroBounce or Bouncer.
- 🔄 Assess sending volume Did you spike volume without warming up?
✅ If more than 2 of these look off—pause the campaign, fix, and test before resuming.
Deliverability is earned, not guaranteed
If there’s one thing I’ve learned after sending 100,000+ cold emails a year, it’s this:
Email deliverability isn’t a one-time checklist — it’s a continuous process.
You’re building a reputation every day — with every message, every bounce, every unsubscribe. And inbox providers are watching.
To stay in the inbox, you need to:
- Nail your technical setup (SPF, DKIM, DMARC)
- Warm up new domains and inboxes
- Clean your lists consistently
- Write content that feels human (and not spammy)
- Respect privacy laws and user preferences
- Monitor your setup weekly — and fix issues fast
📈 If you follow these steps, you’ll see open rates rise, replies increase, and inbox placement improve.
🧠 Don’t chase hacks. Deliver consistent value. Respect the rules. Build real relationships.
That’s how you win at cold email in 2025.
Still not sure what’s holding you back?
Building outbound process with RevOps that are efficient & simple for their BDRs and AEs