Cold email is not primarily a writing problem. By the time you are drafting the message, four earlier decisions have already determined most of your outcome: who you are emailing, what domain you are sending from, whether the list is clean, and whether anyone will see a reply. Get those four right and an average message still performs; get them wrong and a great message still fails.
Step 1: define the audience narrowly enough to be specific
"Marketing managers at B2B SaaS companies" is not an audience, it is a category. A workable audience is narrow enough that you can name the one problem a prospect in it has, in one sentence, without guessing. If you cannot write that sentence, the list is too broad and every message to it will read as generic.
A practical test: pick 20 real companies you would be happy to land as customers, then describe what they have in common beyond size and industry. That shared trait — a tool they likely use, a team structure, a recent event like hiring or funding — is what your opening line should reference.
Step 2: set up sending infrastructure before you need it
This is the step almost every quick-start guide skips, and it is the one that decides whether anything you send after it matters.
- Separate domain. Send cold outreach from a dedicated domain or subdomain, never your primary corporate domain. A complaint-driven reputation hit on the outreach domain should never touch the domain your invoices and support emails depend on.
- Authenticate it. Publish SPF, DKIM and DMARC before the first send. Unauthenticated cold email is filtered on sight by every major provider in 2026.
- Warm it up. A brand-new domain has no sending history, and providers treat unknown senders conservatively. A 14–30 day progressive ramp with real engagement — starting at a handful of sends a day and increasing gradually — builds the reputation a cold campaign needs before it starts.
- Decide on volume per mailbox, not just total volume. Spreading sends across several properly-warmed mailboxes on the same domain is safer than pushing high volume through one.
Skipping this step and sending the campaign through an unwarmed, unauthenticated domain is the single most common reason a "good" cold email campaign gets no replies: it never reached an inbox to be read.
A minimal infrastructure checklist before step 3:
[ ] Dedicated sending domain, separate from the primary corporate domain [ ] SPF record published - one record, ending in ~all or -all [ ] DKIM key published and signing outbound mail [ ] DMARC record published - start at p=none, move to p=quarantine once aligned [ ] 14-30 day warm-up complete with real engagement, not synthetic opens [ ] Per-mailbox daily volume capped below the domain's established sending history
Step 3: verify the list before you send anything
Every list degrades. Job changes, bounced domains and typos mean even a carefully built list has invalid addresses in it. Run it through a verification service before the first send and remove anything that does not come back deliverable — a list with meaningful invalid-address volume drives your bounce rate up on the first campaign and damages the domain you just warmed.
Also strip role-based addresses (info@, sales@) unless you are deliberately targeting them — they rarely convert and often route to a shared inbox nobody personally owns.
Step 4: write short, specific, single-ask messages
Now the writing, and it is the part that should take the least effort relative to its reputation:
- Three to five sentences. Longer reads as a template, shorter reads as spam.
- One personalised line that could not apply to a competitor's prospect list. Generic flattery ("I saw your impressive company") is worse than no personalization at all.
- One ask. A single clear next step — a 15-minute call, a reply with a yes/no — not three options buried in paragraph three.
- No images, no tracking pixels, no shortened links. Plain text with one visible link is the least filtered format and the most human-looking.
- A real person as the sender, not a company name or generic title.
Step 5: follow up, because most replies come from the second message
70–80% of replies in cold outreach come from follow-ups, not the initial send. A short sequence — 3 to 5 follow-ups at roughly days 3, 5, 7 and 10 — generates significantly more total replies than a single send, provided each follow-up adds a new angle rather than repeating "just following up".
Step 6: measure placement, not just sends
A dashboard showing "500 emails sent" tells you nothing about outcomes. Track:
- Bounce rate — rising bounce rate means list decay, fix it before the next send.
- Reply rate, segmented by which message in the sequence produced it.
- Inbox placement, measured against real seed inboxes across Gmail, Outlook and Yahoo — not just "delivered", which includes spam folder.
What to skip entirely
- Buying lists. Purchased lists are disproportionately where spam-trap addresses live, and they will damage the domain you just spent weeks warming.
- Sending the first campaign at full intended volume. Ramp even a warmed domain's *campaign* volume, separate from the warm-up ramp itself.
- Writing ten versions of the same message before testing any of them. Send a small batch, read what happened, then iterate.
MailPilot handles steps 2 and the measurement half of step 6: automated domain and mailbox warm-up with real per-provider inbox placement tracking, so by the time you reach step 4 the infrastructure underneath the message is no longer the variable.
Ready to reach the inbox every time?
Automated email warmup across real peer mailboxes. Live inbox placement monitoring. Free 7-day trial - no credit card required.
Start free trial