You're sending emails. Some replies come in. Some don't. You have no idea why.
The problem isn't always your copy or your list. Half the time, it's technical infrastructure that's silently tanking your response rate - and you don't even know it's broken until you dig into the actual mechanics.
This checklist walks you through the technical layer of cold email. Not the "does this sound good" part. The "is this actually getting delivered and opened" part.
Before You Run This Audit
Get access to three things before you start:
- Your email provider's raw email logs (or at least bounce/delivery reports)
- Google Postmaster Tools data for your domain (if sending from Gmail)
- SPF, DKIM, and DMARC records from your DNS - ask your IT person or hosting provider how to view these
If you don't have these, stop here. You can't audit what you can't measure.
Authentication and Reputation (The Foundation)
SPF Setup
SPF tells receiving mail servers: "These servers are allowed to send email from my domain." Without it, you're telling them nothing, and they assume you're suspicious.
Check your SPF record. It should exist and include every server you're actually sending from.
Pull up your domain's SPF record. If it looks like this, you have a problem:
v=spf1 -all
That's a hard fail - you're explicitly saying no servers can send from your domain. It should look closer to this:
v=spf1 include:sendgrid.net include:mailgun.org ~all
The key part: every email provider you use (Gmail, Outlook, SendGrid, Mailgun, whatever) needs to be explicitly listed in that include statement. If you're missing one, emails from that provider will fail SPF checks.
DKIM Configuration
DKIM is a cryptographic signature that proves you actually sent the email. Most providers set this up automatically, but it only works if it's enabled in your DNS.
Check: Do you have DKIM records in your DNS? If you're using a tool like SendGrid or Mailgun, they'll tell you exactly what records to add. If they're not there, or if you added them six months ago and never verified they're working - that's a leak in your delivery.
Actually test this. Go to your email provider's dashboard and look for a "Verify" or "Authenticate" button. Don't assume it's done just because you set it up once.
DMARC Policy
DMARC tells mail servers what to do if an email fails SPF or DKIM. A weak DMARC policy means failed emails still get delivered (bad for reputation). A strong one means they get rejected (good for your sender reputation, but only if your SPF and DKIM are actually set up).
Your DMARC record should look like this:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
That tells receiving servers to quarantine (not fully reject) emails that fail authentication. The rua part sends you reports so you can see what's actually failing.
Check your DMARC reports weekly. If you're seeing failures from legitimate email providers, you have a gap in your SPF configuration.
Sending Infrastructure
Dedicated IP vs. Shared IP
This matters for volume. If you're sending under 5,000 emails per month, a shared IP is fine - you're pooling reputation with other senders, which usually works. If you're over 10,000 per month and no one's warming up the IP properly, you need a dedicated IP with a warm-up schedule.
Ask your provider directly: Am I on a dedicated or shared IP? If it's dedicated, ask: What's the IP reputation score? (Use MXToolbox or similar tools - scores above 80 are good, below 50 means you have a problem).
Email Warm-up
New IPs start with zero reputation. Sending 10,000 emails on day one from a fresh IP is the fastest way to get blocked. Real warm-up takes 2-4 weeks and follows a curve.
Week 1: Send 50-100 emails per day
Week 2: Send 200-500 emails per day
Week 3: Send 1,000-2,000 emails per day
Week 4: Ramp to your target volume
If you skipped this and jumped straight to 5,000 emails per day, your IP is probably flagged already. You can't undo that quickly - you might need a new IP and a proper warm-up schedule this time.
Deliverability Signals
Bounce Rate
Pull your bounce report from the last 30 days. Hard bounces (address doesn't exist) should be under 3%. Soft bounces (mailbox full, server temporarily down) should be under 2%.
If either is higher, your list quality is bad. That's not a technical problem - that's a list problem. But it also tanks your sender reputation because mail servers notice high bounce rates and assume you're doing something shady.
If your bounce rate is normal but you're still not getting delivered, this isn't your problem. Move on.
Complaint Rate
Check how many people are hitting "This is spam" instead of unsubscribing. This number should be near zero (under 0.1% is the industry standard).
If it's above 0.5%, your content is either completely off-target or you're hitting the wrong audience. A technical audit won't fix this - you need to audit your actual list and messaging. But a high complaint rate will destroy your IP reputation faster than anything else.
Read Rates and Click Rates
This tells you if your emails are actually being opened. If your open rate is consistently below 15%, either your subject lines are terrible or your emails aren't reaching the inbox (they're in spam/promotions).
The easiest way to tell: send a test email to your own secondary account at Gmail or Outlook. What folder does it land in? If it's in Promotions or Spam, you have a deliverability issue, not a copy issue.
List and Sending Practices
Sending Domain Rotation
If you're sending 5,000+ emails per month from one domain, mail servers will throttle you. Rotating through 3-5 domains (all properly authenticated) spreads reputation load and keeps you from hitting rate limits.
Check: How many authenticated domains do you have? If it's just one, and you're sending high volume, that's a bottleneck.
Sending Frequency and Timing
Sending all 5,000 emails in one batch at 2 AM looks like an automated blast to mail servers. Spreading sends across the day, with randomized times, looks more like real human activity.
If you're using an email tool, check its settings. Can you randomize send times? If not, switch tools. This isn't optional for scaling.
Unsubscribe and Compliance
This is both legal and technical. Every email legally needs a working unsubscribe link (check Cold Email Compliance Checklist 2026 for the full breakdown). Technically, it needs to actually remove people from your list - not just log the click.
Test this yourself. Click your own unsubscribe link. Did you actually get removed? Many tools log unsubscribes but don't process them automatically, so people keep getting emails. Mail servers flag this as abuse.
Tools and Resources
You don't need to do this all manually. A few standard checks:
- Use MXToolbox to check SPF, DKIM, DMARC records and IP reputation
- Use Google Postmaster Tools if you're sending to Gmail accounts (shows delivery issues)
- Check your email provider's native reporting - most have bounce, complaint, and open rate dashboards built in
After the Audit
If you find technical issues, fix them in this order:
- Authentication (SPF, DKIM, DMARC) - this is foundation stuff
- List quality (bounce rate) - high bounces sink everything
- IP warmup (if new IP) - you can't send at scale without it
- Sending practices (rotation, timing, frequency) - these improve results once foundation is solid
This is a one-time audit. Run it again every 90 days if you're scaling, or any time your reply rates drop suddenly.
When This Gets Overwhelming
This checklist covers the technical layer. But even when everything here is perfect, there's still the work of actually building and managing the infrastructure - monitoring reputation weekly, rotating domains properly, handling deliverability issues as they pop up, integrating tools so data actually flows where it needs to go.
If you've done this audit and realize you have a solid technical foundation but scaling it consistently feels like a full-time job, that's the gap most B2B service businesses hit. That's exactly the kind of operational complexity BEC Growth handles - we own the entire technical stack so you don't have to, and we know what actually breaks at different volumes.