Email Deliverability Best Practices
Complete guide to ensuring your newsletters reach the inbox
Email Deliverability Best Practices
Email deliverability is the measure of how successfully your emails reach subscribers' inboxes. This comprehensive guide covers everything you need to maximize deliverability.
What is Email Deliverability?
Deliverability = The percentage of sent emails that reach subscribers' inboxes (not spam, not bounced).
Key metrics:
- Delivery rate - % of emails accepted by receiving servers (should be above 98%)
- Inbox placement rate - % that reach inbox vs spam (should be above 90%)
- Bounce rate - % that fail to deliver (should be below 2%)
- Spam complaint rate - % marked as spam (should be below 0.1%)
The Email Deliverability Stack
Deliverability depends on three layers:
1. Technical Foundation (Must Have)
Infrastructure and authentication:
- ✅ Custom domain setup
- ✅ SPF records configured
- ✅ DKIM signing enabled
- ✅ DMARC policy set
- ✅ rDNS (Reverse DNS) configured
- ✅ Valid SSL certificate
- ✅ Proper IP reputation
2. Content Quality (Should Have)
Email content and structure:
- ✅ Spam-trigger-free language
- ✅ Proper HTML structure
- ✅ Text/image balance
- ✅ Working unsubscribe link
- ✅ Clear from address
- ✅ Physical address in footer
- ✅ Relevant subject lines
3. Sender Reputation (Must Maintain)
Long-term performance:
- ✅ Consistent sending patterns
- ✅ High engagement rates
- ✅ Low bounce rates
- ✅ Low spam complaints
- ✅ Clean subscriber list
- ✅ Proper list management
Technical Setup
Step 1: Set Up Custom Domain
Using a custom domain dramatically improves deliverability.
Why it matters:
- Shared domains have shared reputations
- Custom domains give you full control
- Better trust from email servers
- Professional appearance
How to set up:
- Go to Settings → Domain in Penna dashboard
- Click "Add Domain"
- Enter your domain (e.g.,
yourdomain.com) - Follow the DNS configuration steps
Step 2: Configure SPF
SPF (Sender Policy Framework) verifies which servers can send email from your domain.
Add this TXT record to your DNS:
Type: TXT
Name: @ (or your root domain)
Value: v=spf1 include:_spf.penna.dev ~allIf you already have SPF:
Merge the records:
v=spf1 include:existing.com include:_spf.penna.dev ~allVerify SPF:
nslookup -type=txt yourdomain.comShould return your SPF record.
Step 3: Configure DKIM
DKIM (DomainKeys Identified Mail) adds a digital signature to prove email authenticity.
Setup in Penna:
- Go to Settings → Domain → DNS Records
- Copy the DKIM record provided
- Add to your DNS:
Type: TXT
Name: penna._domainkey.yourdomain.com
Value: [provided by Penna]Verification takes 24-48 hours.
Check DKIM:
nslookup -type=txt penna._domainkey.yourdomain.comStep 4: Set Up DMARC
DMARC (Domain-based Message Authentication) tells servers what to do when SPF/DKIM fail.
Add this TXT record:
Type: TXT
Name: _dmarc.yourdomain.com
Value: v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100; adkim=s; aspf=sDMARC policy options:
p=none- Monitor only (start here)p=quarantine- Send to spam if fails (recommended after monitoring)p=reject- Block if fails (strictest)
Start with p=none for 2-4 weeks to monitor, then escalate to p=quarantine.
Step 5: Verify All Records
Use these tools to verify:
-
MXToolbox - https://mxtoolbox.com/
- Check SPF, DKIM, DMARC
- Verify DNS propagation
-
Mail-Tester - https://www.mail-tester.com/
- Send test email
- Get deliverability score
- Identify issues
-
Google Admin Toolbox - https://toolbox.googleapps.com/apps/checkmx/
- Verify Gmail-specific configuration
Target: 10/10 on Mail-Tester
Sender Reputation Management
Understanding Sender Reputation
Email servers assign a reputation score to:
- Your domain (e.g., yourdomain.com)
- Sending IP (managed by Penna)
- Your sending patterns
High reputation = inbox
Low reputation = spam or blocked
Factors Affecting Reputation
Positive factors (+):
- High open rates (above 20%)
- High click rates (above 2%)
- Low bounce rates (below 2%)
- Low spam complaints (below 0.1%)
- Consistent sending schedule
- Engaged subscriber list
- Proper authentication (SPF/DKIM/DMARC)
Negative factors (-):
- High bounce rates (above 5%)
- High spam complaints (above 0.3%)
- Sudden volume spikes
- Sending to spam traps
- Buying email lists
- Inconsistent sending
- Poor engagement
Building Sender Reputation (New Domains)
If you're starting fresh, warm up slowly:
Week 1:
- Send to 50-100 of your most engaged subscribers
- Monitor for bounces and spam complaints
- Ensure high engagement
Week 2:
- Double your volume to 100-200
- Continue monitoring
Week 3:
- Double again to 200-400
- Maintain quality
Week 4+:
- Continue doubling until reaching full list
- Process takes 4-6 weeks for large lists
Why warming matters:
- Sudden volume spikes trigger spam filters
- Gradual increase builds trust
- Gives time to identify issues
Maintaining Sender Reputation
Do:
- ✅ Send consistently (same days/times)
- ✅ Monitor engagement metrics
- ✅ Clean list regularly
- ✅ Remove hard bounces immediately
- ✅ Handle unsubscribes promptly
- ✅ Send valuable content
Don't:
- ❌ Buy or rent email lists
- ❌ Send to old/stale lists
- ❌ Ignore bounce rates
- ❌ Skip warming up new domains
- ❌ Make sudden volume changes
- ❌ Send to addresses you haven't verified
List Quality Management
Clean Your List Regularly
Remove these addresses:
- Hard bounces - Invalid emails that will never work
- Repeated soft bounces - Temporary issues that persist
- Spam complaints - Anyone who marked you as spam
- Unsubscribes - Respect opt-outs immediately
- Inactive subscribers (optional) - No engagement in 6+ months
How often:
- After every send: Remove hard bounces
- Weekly: Review soft bounces
- Monthly: Analyze inactive subscribers
- Quarterly: Deep clean and re-engagement campaign
Managing Bounces
Hard bounces (permanent):
- Invalid email address
- Domain doesn't exist
- Recipient doesn't exist
Action: Remove immediately after first occurrence.
Soft bounces (temporary):
- Inbox full
- Server temporarily unavailable
- Email too large
Action: Retry 2-3 times over a week, then remove if persists.
Penna automatically handles bounce management, but monitor your bounce rate.
Handling Spam Complaints
If someone marks your email as spam:
- Immediately unsubscribe them (automated by Penna)
- Never email them again
- Investigate why - Was content misleading? Too frequent?
- Adjust if needed - Fix underlying issues
Keep spam complaint rate below 0.1% (1 per 1,000 emails).
Re-engagement Campaigns
For inactive subscribers (no opens in 3-6 months):
Option 1: Re-engagement email
Subject: Should we break up?
Hi [Name],
I noticed you haven't opened our emails in a while.
That's totally fine - inboxes are crowded!
If you'd still like to hear from us, click here to
stay subscribed: [link]
If not, no hard feelings. You'll be automatically
removed if we don't hear from you.
Thanks,
[Your Name]Option 2: Automatic suppression
- After 6-12 months of no engagement
- Move to separate "inactive" segment
- Stop sending to them
Why remove inactives:
- Improves overall engagement rates
- Reduces spam complaints
- Protects sender reputation
- Saves money (if paying per subscriber)
Content Best Practices
Subject Line Guidelines
Do:
- Keep under 50 characters
- Be specific and honest
- Create curiosity (not clickbait)
- Use personalization sparingly
- A/B test regularly
Don't:
- Use all caps
- Overuse punctuation (!!!)
- Use excessive emoji
- Mislead about content
- Use spam trigger words
Examples:
✅ "New React patterns we're using in production"
✅ "Your weekly web dev roundup"
✅ "Question about your project"
❌ "FREE MONEY NOW!!!"
❌ "You won't BELIEVE this!!!"
❌ "Re: Your account [URGENT]"
Email Content Structure
Winning structure:
From: Your Name <you@yourdomain.com>
Subject: [Clear, specific subject]
Hi [Name],
[Personal greeting]
[Core content - valuable information]
[Optional: One clear call-to-action]
[Signature]
---
[Unsubscribe link] | [Physical address]Content ratio:
- 80% text, 20% images
- More text is better for deliverability
- Alt text for all images
HTML Best Practices
Good HTML:
- Simple, clean structure
- Inline CSS (not external stylesheets)
- Semantic HTML tags
- Alt text for images
- Plain text version included
Avoid:
- JavaScript (stripped by most clients)
- Forms in emails
- Complex tables
- Background images
- Video embeds (link instead)
- Massive file sizes (above 100KB)
Required Elements
Every email must have:
-
Working unsubscribe link
If you no longer wish to receive these emails, you can unsubscribe here. -
Physical address
Your Company Name 123 Main Street City, State 12345 -
Clear from address
- Use real address at your domain
- Not "noreply@"
-
Accurate subject line
- Must match email content
- No deceptive subjects
Monitoring & Metrics
Key Performance Indicators
Monitor these in Penna dashboard:
-
Delivery Rate
- Target: above 98%
- Formula: (Sent - Bounces) / Sent
- Flag if: below 95%
-
Bounce Rate
- Target: below 2%
- Formula: Bounces / Sent
- Flag if: above 5%
-
Spam Complaint Rate
- Target: below 0.1%
- Formula: Complaints / Delivered
- Flag if: above 0.3%
-
Open Rate
- Target: 15-30% (varies by industry)
- Flag if: Drops suddenly by more than 25%
-
Click Rate
- Target: 2-5% (varies by content)
- Shows engagement quality
-
Unsubscribe Rate
- Target: below 0.5%
- Flag if: above 1%
Warning Signs & Actions
🚨 Delivery rate drops below 95%
- Check DNS records
- Verify domain reputation
- Review recent content
- Check for blocklist
🚨 Bounce rate above 5%
- Clean list immediately
- Verify email collection process
- Check for list hygiene issues
🚨 Spam complaints above 0.3%
- Review content and frequency
- Check subscription process
- Ensure expectations are clear
- Improve content quality
🚨 Sudden drop in opens (more than 25%)
- May indicate spam folder placement
- Review recent changes
- Check sender reputation
- Test deliverability
Tools for Monitoring
Check sender reputation:
-
SenderScore - https://senderscore.org/
- Free reputation score (0-100)
- 80+ is good
-
Google Postmaster Tools - https://postmaster.google.com/
- Gmail-specific metrics
- Spam rate, IP reputation, domain reputation
-
Microsoft SNDS - https://sendersupport.olc.protection.outlook.com/snds/
- Outlook/Hotmail reputation
Check blocklists:
- MXToolbox Blacklist Check - https://mxtoolbox.com/blacklists.aspx
- Spamhaus - https://www.spamhaus.org/lookup/
- Barracuda - http://www.barracudacentral.org/lookups
Check if you're on a blocklist monthly.
Troubleshooting Common Issues
Issue: Emails Going to Spam
Diagnosis steps:
-
Check DNS records
- Verify SPF, DKIM, DMARC
- Use MXToolbox
-
Test content
- Send to Mail-Tester
- Check spam score
- Look for trigger words
-
Check sender reputation
- Test on SenderScore
- Review Google Postmaster Tools
-
Review recent sends
- Bounce rates
- Spam complaints
- Engagement metrics
Solutions:
- Fix DNS if broken
- Simplify content if too promotional
- Clean list if bounce rate high
- Reduce sending if reputation damaged
Issue: High Bounce Rate
Common causes:
- Old/purchased email list
- Typos in email addresses
- Invalid domains
- Spam traps
Solutions:
- Stop sending immediately
- Clean list thoroughly
- Remove all hard bounces
- Implement double opt-in
- Validate emails at collection
Issue: Low Engagement
Common causes:
- Poor content-audience fit
- Too frequent sending
- Unclear value proposition
- List fatigue
Solutions:
- Survey subscribers
- Improve content quality
- Reduce frequency
- Segment better
- Run re-engagement campaign
Issue: Deliverability Suddenly Drops
Emergency response:
- Stop sending immediately
- Check if you're blocklisted
- Review last 3 sends for issues
- Check for spam traps (hard to detect)
- Contact Penna support for help
- Request delisting if blocklisted
- Restart slowly after fixing issues
Advanced Strategies
1. Segmentation for Deliverability
Send different content to different engagement levels:
Highly engaged (opened last 3 emails):
- Send all content
- Try new approaches
- Request feedback
Moderately engaged (opened 1-2 of last 5):
- Send best content only
- Re-engagement campaigns
- Survey their interests
Low engagement (no opens in 3+ months):
- Final re-engagement attempt
- Suppress if no response
- Remove after 6 months
2. Sunset Policy
Automatically remove chronically unengaged subscribers:
After 3 months: Send re-engagement email
After 6 months: Move to suppression list
After 12 months: Delete from database3. Engagement-Based Sending
Send to most engaged subscribers first:
- Builds positive engagement signals
- Boosts overall metrics
- Helps with deliverability
Example schedule:
- Monday: Send to highly engaged (50%)
- Tuesday: Send to moderately engaged (30%)
- Wednesday: Send to newer subscribers (20%)
4. Domain Segmentation
For large senders, separate domains by:
- Marketing: promo.yourdomain.com
- Transactional: transact.yourdomain.com
- Newsletter: news.yourdomain.com
Keeps reputations separate.
5. Feedback Loops
Set up ISP feedback loops to receive spam complaints:
- Gmail Postmaster Tools
- Microsoft SNDS
- Yahoo FBL
Act on complaints immediately.
Compliance & Legal
CAN-SPAM Act (US)
Requirements:
- Include physical address
- Accurate from/subject lines
- Clear sender identification
- Working unsubscribe link
- Honor opt-outs within 10 days
Penalties: Up to $43,280 per violation
GDPR (EU)
Requirements:
- Explicit consent required
- Clear privacy policy
- Easy opt-out
- Data portability
- Right to deletion
Penalties: Up to 4% of annual revenue
CASL (Canada)
Requirements:
- Express or implied consent
- Identification of sender
- Unsubscribe mechanism
- Honor opt-outs within 10 days
Penalties: Up to $10M per violation
Best Practice: Follow Strictest Rules
Comply with GDPR globally - it's the strictest:
- Get explicit consent
- Document consent
- Make unsubscribe easy
- Respect data rights
Deliverability Checklist
Technical Setup:
✅ Custom domain configured
✅ SPF record added and verified
✅ DKIM signing enabled and verified
✅ DMARC policy set (start with p=none, move to p=quarantine)
✅ rDNS configured (handled by Penna)
✅ Domain warmed up (for new domains)
Content Quality:
✅ Subject line under 50 characters
✅ No spam trigger words
✅ 80/20 text-to-image ratio
✅ Simple, clean HTML
✅ Unsubscribe link included
✅ Physical address in footer
✅ Accurate from address
List Management:
✅ All subscribers opted in
✅ Hard bounces removed
✅ Spam complaints handled
✅ Inactive subscribers suppressed
✅ List cleaned regularly
Monitoring:
✅ Delivery rate above 98%
✅ Bounce rate below 2%
✅ Spam complaint rate below 0.1%
✅ Not on any blocklists
✅ Sender reputation above 80
Resources
Note: Deliverability is an ongoing process, not a one-time setup. Monitor metrics regularly, maintain list quality, and continuously improve your sending practices.