- Home
- Growth Playbooks
- Cold Email Playbook
Cold Email Playbook
Most cold email problems are decided before the first send: which domains you send from, whose address you found, whether their mail server will ever show your message, and whether what lands is the text you meant.
On this page
What it is and when to use it
Cold email is a one-to-one email to a buyer who has no prior relationship with you. Done well, it is a short, relevant note from a real person. Done badly, it burns domains and lands in front of the wrong people with broken merge fields.
This playbook is the order we work in for every client: infrastructure that has time to age, a list anchored on verified people, a gate that sends each lead to email or to LinkedIn, copy stored as final text, and checks that read every lead back from the platform before launch.
Use this playbook when
- A qualified, verified list is too large to work by hand and needs to go out at a steady daily volume in each recipient time zone.
- Event or signal outreach where email is one route alongside LinkedIn.
- A lead magnet offered to a lookalike audience of the accounts you already win.
- A team that wants its own sending setup ready before the list exists, because new domains need time.
Tools we use
Only tools we have run this playbook with, and what each one does in it.
- Smartlead: Sequencing, mailbox rotation and warmup
- Google Workspace mailboxes: Sending accounts on secondary domains
- Prospeo: First stage of the email waterfall; only verified results accepted
- AI-Ark: Second stage: stored records first, then the async finder
- Blitz: Optional extra stage for recall
- ZeroBounce: Validation of every accepted address, and a final check before upload
- MX lookup: Finds who hosts each domain's mail, for the gateway gate
- HeyReach: The LinkedIn route for leads that fail the gate
- Supabase: The campaign tracker: final text per lead, and reply capture
The steps
The order we work in. Each step feeds the next, and every result is written to the database as it happens.
Set up infrastructure early
Buy secondary domains well before they are needed, because domain age matters, and use Google-hosted mailboxes. New mailboxes start at a low daily volume and ramp up through warmup.
Plan volume by mailboxes, not by caps
We hold each mailbox to 15 emails a day or fewer and scale by adding mailboxes, never by raising the cap.
Anchor every person
Each lead is tied to a LinkedIn profile and a current company domain that has been checked live, so the email belongs to the right person at the right company.
Run the email waterfall
Pilot 50 people, then Prospeo, AI-Ark stored records, the AI-Ark finder, optionally Blitz, and ZeroBounce. Only provider-verified addresses are accepted, and the email domain must match the live company domain. Catch-all results are held, not sent.
Review aliases
Addresses on a different domain from the company are adjudicated, not thrown away: many are a valid alias or a parent company domain.
Gate on the mail gateway
Only domains whose mail is hosted by Google or Microsoft get email. Domains behind security gateways such as Proofpoint, Mimecast or Barracuda go to the LinkedIn route. A grouped count confirms zero gateway rows in the email list.
Store copy as final literal text
Every message sits in the tracker exactly as it will be delivered: no spintax braces, variables or placeholders, clean names, the company as a word rather than a domain, and exactly one signature, voiced as the human who owns that mailbox.
Keep the first email plain
No links, no attachments and no generic meeting ask in the first email. Plain text mode, open and click tracking off, stop on reply, no weekend sends, recipient time zone.
Reconcile the upload
The lead count on the platform must equal the intended count, and custom fields are read back lead by lead. Uploads can silently drop leads.
Test, launch, read back
Test sends go only to internal inboxes, one per sender persona. After launch the campaign status is read back the same session and monitored daily for bounces and replies.
Fix live campaigns safely
Pause, edit, verify by read-back, resume, and then prove that no message went out before the fix.
Optimize by cohort and read every reply
Sends are joined to lead attributes so weak cohorts can be paused. Every reply is read and classified by meaning, because platform auto-tags miss most of them.
What good output looks like
From live campaigns we have run:
For an AI code-security company, 16,219 people became 12,894 verified emails, about 80%, and about 97% of them were verified by the provider that found them.
That launch ran as 21 campaigns, 3 message tracks by 7 recipient time zones, for 10,656 leads. The first 2,841 sends bounced at 0.56%.
For a security vendor, 209 leaders became 146 emails (70%). After the mail gateway gate, 88 went to email and 121 to LinkedIn.
A reply audit across 214 inbound threads found that the sending platform had auto-tagged only 51 of them, which is why we read every reply.
Common mistakes, and the fix
Each of these happened on a real run. The fix is now part of how we work.
About 66 early recipients got the first email two or three times.
- Cause
- Sequence edits were posted to a running campaign without the existing step ids, which re-armed those leads.
- Fix
- Pause first, or read the sequence and write it back with its ids, then verify.
Prospects received literal braces in their message.
- Cause
- Variable syntax from one tool was used in another tool with a different format.
- Fix
- Final literal text only, plus a rendered test on every channel.
Messages carried two signatures and a clickable domain.
- Cause
- An inline sign-off plus the platform's own signature, and a bare domain that got auto-linked.
- Fix
- Exactly one signature, with the company written as a word.
An address passed validation but belonged to a different person.
- Cause
- An unverified pattern guess was accepted because the mailbox existed.
- Fix
- Anchor on the LinkedIn profile and rank provider-verified results above merely valid ones.
Emails pointed at people's previous employers.
- Cause
- Provider data was stale.
- Fix
- Accept an address only when its domain matches the live, verified company domain.
Fewer leads were uploaded than intended.
- Cause
- The upload is asynchronous and silently drops leads already in another campaign.
- Fix
- Reconcile the platform count after every upload.
The plain text setting did not apply.
- Cause
- The setting sent through the API was ignored.
- Fix
- Set it in the interface and verify it there.
One region caused half of all bounces.
- Cause
- That cohort sat mostly outside the core market: it bounced at 2.2% and replied at 0.3%.
- Fix
- Analyze by cohort and pause the weak one instead of the whole campaign.
Reply categories looked complete, but opt-outs were all untagged.
- Cause
- Platform auto-tagging covered a minority of replies.
- Fix
- Read and classify every reply, and suppress opt-outs at the email level.
Questions people ask about cold email
Is cold email still effective in 2026?
It works when the list, the infrastructure and the copy are right, and it fails quietly when they are not. In our campaigns the setup decides most of it: verified addresses on the live company domain, only domains hosted by Google or Microsoft, final literal text and one human signature. One launch of 10,656 leads bounced at 0.56% on its first 2,841 sends.
How many cold emails can you send per day without going to spam?
We hold every mailbox to 15 emails a day or fewer and scale by adding mailboxes on secondary domains, never by raising the cap. New mailboxes start lower and ramp up through warmup.
What is a good cold email reply or open rate?
We do not track opens: open tracking is off in our campaigns. For replies, read every one instead of trusting the number. In one lead-magnet campaign of 2,949 leads, 214 threads had an inbound message, but most were out-of-office notes and bounces, and 11 were positive. The platform had auto-tagged only 51 of the 214.
Want this playbook running on your market?
Tell us what you sell and who you sell to. We will show you how this playbook would run for you, and what we would check first.