How to set up cold email deliverability properly
Most cold email problems are not writing problems. They are infrastructure problems. If your emails are landing in spam, the copy is the last thing you should be fixing.
Why deliverability breaks before you ever send
Cold email has a reputation problem, and most of it is deserved. Inboxes are flooded with badly written, poorly targeted messages from domains that were never set up correctly. The spam filters are good now. They catch things that would have sailed through five years ago.
The result is that even well-written, well-targeted emails frequently land in spam not because of the copy but because of the infrastructure sending them. Before you spend an hour perfecting your opener, spend two hours getting the technical setup right. It compounds in a way that good copy never does.
Start with the right domain setup
Never send cold email from your primary company domain. This is the most common mistake and the most costly one to fix once it goes wrong. Your main domain carries the reputation of every email your company has ever sent. One bad cold campaign can damage it for months.
Buy a sending domain that is close to your main one. If your company is acme.com, use getacme.com or acme.io or hello-acme.com. Set this up before you do anything else.
On that domain, configure three DNS records. Every email provider checks all three, and missing even one will hurt your placement.
SPF (Sender Policy Framework) tells receiving mail servers which IP addresses are authorised to send email on behalf of your domain. You publish it as a TXT record in your DNS. It looks something like: v=spf1 include:sendgrid.net include:mailgun.org ~all. The exact value depends on your sending tool. Every major cold email platform documents the specific SPF record you need in their setup guide.
DKIM (DomainKeys Identified Mail) adds a cryptographic signature to every email you send. The receiving server uses your public key (published in DNS) to verify the signature matches. This proves the email was not tampered with in transit and was actually sent from your domain. Your sending tool generates the key pair and gives you the DNS record to publish.
DMARC (Domain-based Message Authentication, Reporting and Conformance) tells receiving servers what to do when an email fails SPF or DKIM. Start with a permissive policy: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. This monitors without blocking. Once you have a few weeks of clean sending data, tighten it to p=quarantine and eventually p=reject.
Use MXToolbox to verify all three are live and correctly configured before you send a single email. It is free and takes two minutes.
Warming up is not optional
A fresh domain has zero reputation. Sending 100 cold emails from a brand new domain on day one is the fastest way to get flagged. Mail servers treat volume spikes on new domains as a strong signal of spam.
Warming is the process of gradually building your domain's reputation by sending small volumes of legitimate email and increasing slowly over time. The goal is to show receiving servers a pattern of normal human sending behaviour before you start any campaigns.
Tools like Instantly and Smartlead have built-in warmup that handles this automatically. You connect your sending accounts, turn on warmup, and leave it running in the background. The tool sends emails between real accounts in its warmup network, and those emails get opened and replied to, which builds positive engagement signals.
Run warmup for a minimum of three weeks before your first campaign. Four is better. Do not skip this even if you are in a hurry. A restricted account costs you far more time to fix than the warmup period costs you upfront.
During warmup, keep your manual sending volume at 10 to 15 emails per day per account. After warmup completes, you can push to 30 to 40 per day safely. Going beyond 50 per day per account requires more established sending history.
Set up multiple sending accounts from the start
Do not run all your cold outreach through a single account. Set up three to five sending accounts from the beginning. This does two things. It spreads your sending volume so no single account accumulates enough activity to trigger throttling. And it gives you redundancy if one account gets flagged or restricted.
Each account should have its own warmup running independently. Rotate which accounts send on any given day rather than using the same one repeatedly.
Instantly and Smartlead both support multi-account setups natively. You connect all your accounts, set per-account daily limits, and the platform handles the rotation automatically.
One practical consideration: make sure each sending account has a real profile. A profile photo, a filled-out bio, a few weeks of regular email activity. Accounts that look like they were created purely for outreach get flagged faster.
Test before every campaign launch
Before you activate any campaign, run your email through a deliverability tester. Mail-Tester is the standard tool. Send an email to the address it gives you, then check your score. Anything above 9 out of 10 is fine to send.
If your score is lower, the report will tell you exactly what is causing the issue. Common culprits are missing or misconfigured DKIM, too many links in the email body, spam trigger words in the subject line or copy, or an unsubscribe link that is missing or broken.
Fix whatever the test flags. Do not launch until you are at a 9 or above. Running the test takes five minutes and can save an entire campaign from going to spam.
GlockApps is a more detailed alternative that shows you placement across different email providers. Worth using before a high-volume campaign launch.
Monitor bounce rates obsessively
A bounce rate above 2 percent is a serious problem. Hard bounces — emails sent to addresses that do not exist — are the most damaging because they signal to receiving servers that your list is dirty.
Verify your email list before you import it into any sending tool. NeverBounce and ZeroBounce are both solid options. Run every list through verification before it goes near a campaign.
Watch your bounce rate in your sending platform's analytics every day for the first week of a new campaign. If it spikes above 2 percent, pause the campaign immediately. A high bounce rate is a signal you need to fix before you continue sending.
Engagement metrics matter too. Open rates below 20 percent on a new campaign are a warning sign. Reply rates below 1 percent suggest either the targeting or the copy needs work.
Getting the infrastructure right does not guarantee results. But getting it wrong guarantees the opposite.