Cold Emailing
A framework for writing high-reply-rate cold emails and sequences, synthesized from analysis of multiple cold-email training sources (see references/source-report.md for full citations and a contradiction-resolution table).
Core principle
A cold email's only job is to earn a reply — not to close a deal. It must (1) prove relevance in the first 5 seconds, and (2) answer "what's in it for me" immediately. Never lead with yourself.
Ready-made vertical templates
templates/roofing.md, templates/moving.md, templates/hvac.md,
templates/plumbing.md — 3-email sequences for pitching an AI
chatbot/voice-agent offer to home-service business owners. Use these as a
starting structure, not verbatim copy — swap in the prospect's real details.
Supporting playbooks: playbooks/send-timing.md (when to send per vertical),
playbooks/reply-handler.md (what to do when someone replies),
playbooks/pre-send-checklist.md (full pre-send audit).
These templates have been updated for Hormozi compliance (see §Hormozi Compliance below). Each sequence now leads with dream outcome, includes a price-anchor in Email 2, and closes with a soft guarantee in Email 3.
Hormozi Compliance
Cold emails earn the reply. The offer closes the deal. These are separate jobs — and the email skill only handles the first one.
Before sending any sequence, validate your offer against these three checkpoints. If you skip this, a well-written email will still convert poorly.
Checkpoint 1 — Outcome framing
Every Email 1 must open with what the prospect gets, not what your product does.
- ❌ "We set up chatbots that capture leads"
- ✅ "We get you extra booked jobs from leads you're currently losing to voicemail"
The templates enforce this. If you customize Email 1, re-apply the test before sending.
Checkpoint 2 — Price anchor (Email 2)
Email 2 must reframe your price as a replacement cost, not an expense. The standard anchor for all four verticals:
"An answering service runs $200–500/month and still can't book the job. This handles it — usually for less."
Verify current answering service pricing before citing. The $200–500 range reflects AnswerConnect/PATLive/Ruby as of mid-2025.
Checkpoint 3 — Guarantee (Email 3)
Every breakup email includes a soft guarantee. Default:
"If you don't book at least one extra [job type] in the first 30 days, we'll refund the setup fee."
Only use this if your actual offer includes it. If it doesn't, replace with one of:
- A named case study from your own clients (strongest)
- A pilot offer (free first 30 days, cancel anytime)
- A directional proof point framed qualitatively
Hormozi hierarchy: Unconditional guarantee > Conditional guarantee > Named case study > Pilot offer. Pick your rung before writing Email 3.
Do not put a guarantee in an email that your offer doesn't back up.
The one conflict with cold-emailing's 80-word rule
When you have a real guarantee or a named case study, Email 3 may run slightly over 80 words. That's acceptable — a strong proof point outweighs the word-count rule. Do not cut the guarantee to fit the limit.
Capacity Pre-Check (run before targeting)
The offer solves a lead-capture problem. It does NOT solve a capacity problem. If the prospect is already booked out, more leads = more declined bookings = more bad reviews = churn and negative word-of-mouth.
Before adding a company to your list, check for over-capacity signals:
- Google Business: response time shown as "usually responds in a few days"
- Google Business: "temporarily closed" or booking unavailable
- Recent reviews (last 30 days) mention long wait times or unresponsive staff
- Owner's social media indicates they're slammed
Target owners with available capacity, or explicitly time sends for
pre-season (see playbooks/send-timing.md).
Who Actually Reads the Email (Gatekeeper Reality)
In home-service businesses under ~$2M revenue, the owner's email is often screened by an office manager, dispatcher, or spouse. The sequence is written owner-to-owner, but the first reader may not be the owner.
Gatekeeper-safe design rules:
- CTA must be answerable by a gatekeeper ("Mind if I send a short video?" can be forwarded; "Worth 10 minutes on a call?" cannot)
- Don't use language that implies the owner is the only person who can understand the offer ("as a business owner, you know...")
- Make Email 1 so short and clear that forwarding it takes one click
Burned Phrases — Spam and Pattern Risk
Even with perfect technical deliverability (SPF/DKIM/DMARC), these phrases increase classifier risk. Avoid in cold sequences:
| Phrase | Why | Replace with |
|---|---|---|
| "AI chatbot" | Promotional classifier trigger | "automated system", "voice agent", "intake system" |
| "book automatically" | Spam signal in volume sends | "schedules the call", "puts it on your calendar" |
| "Mind if I send" (repeated across all 4 templates verbatim) | Pattern-matched at scale | Vary per template — see individual templates |
| Any link in Email 1 | Raises spam score on first touch | Plain text only in Email 1; unsubscribe link from Email 2 onward |
Note on unsubscribe links: CAN-SPAM requires an opt-out mechanism in commercial emails. If your sending tool (Instantly, Smartlead, n8n+SMTP) auto-appends a plain-text unsubscribe footer, that satisfies the requirement without adding a clickable link to Email 1. Verify your tool's behavior.
Reply SLA — Intent Is Perishable
A contractor who replies at 7:15am between jobs has a 2-hour window before he's back on a roof and has mentally moved on. Reply rate and conversion rate decouple entirely if response is slow.
Required: define your reply SLA before sending. Recommended:
- Business hours (8am–6pm): reply within 1 hour
- After-hours reply: respond first thing next morning with a Loom or short video
What to say when someone replies "tell me more":
See playbooks/reply-handler.md for scripts.
Measurement Framework
Without this, you can't distinguish bad copy from a bad list from bad timing.
| Metric | Benchmark | Action if below |
|---|---|---|
| Open rate | 40–60% | Deliverability problem — check domain health, subject lines |
| Reply rate | 2–5% | Copy or list problem — A/B test Email 1 opener |
| Reply → call booked | 30–50% | Reply handler problem — see playbooks/reply-handler.md |
| Call → close | Varies by offer | Offer problem — outside this skill |
Sub-1% reply rate = deliverability or list quality issue, not copy. Fix the infrastructure before rewriting emails.
Open rate tracking is unreliable post-iOS Mail Privacy Protection. Use reply rate as primary signal.
Per-vertical: run each template separately, don't blend results across verticals in the same measurement window.
The Familiarity Architecture (Multi-Channel Context)
Cold email alone has a structural ceiling in skilled-trade verticals because these buyers' primary trust mechanism runs through peer community, not inbox. The email's real job may be to deposit name recognition, not generate intent directly.
If reply rates are low despite clean deliverability and strong copy: Run a parallel play in trade-specific communities (roofing Facebook groups, HVAC forums, supplier networks, local trade associations). The email's job shifts to: manufacturer familiarity → peer trigger → email follow-up → call. Measure "prospect touched 3+ times across channels" not just "replied to email."
This is documented for context, not as a primary strategy. Start with the sequence. Add community only if sequence alone stalls.
Workflow
0. Verify any AI-generated stat before it goes in a template
If you (or the user) are sourcing claims from an AI research tool (Perplexity, Claude, etc.) rather than a source you've personally opened:
- Spot-check 2-3 of the most load-bearing stats with a live search before using them.
- Treat a blog on an unfamiliar domain citing a suspiciously precise
number ("$20,160/month," "65.8% response lift") as a red flag — this is
the single most common hallucination pattern seen in cold-email
research (see
references/verification-log.mdfor a live example: 20+ fabricated domains cited with fake blog titles and stats in one research pass). - A stat is safe to use once you can point to who actually published it, when, and with what methodology — not just a URL that returns a plausible-looking title.
- When in doubt, drop the number and use directionally-true qualitative language instead ("a lot of after-hours calls go to voicemail" beats an unverifiable "62.4%").
1. Segment before writing anything
Don't write one email for a whole list. Split by industry, company size, and role, then for each segment answer:
- What's their #1 pain point right now?
- What do they actually care about (speed, cost, scale, compliance, status)?
- What language/terminology do they use?
- What proof would resonate with them specifically?
Also split by sub-niche within each vertical — see individual template Notes for sub-niche guidance per vertical.
If the user hasn't given you this, ask for it before drafting — or draft with an explicit placeholder assumption and flag it.
2. Write the subject line
Keep it short. Favor curiosity or specificity over cleverness. Avoid generic sales language ("quick question," "following up," "partnership opportunity"). Good subject lines are under-specified enough to prompt a click without being clickbait — they should make sense only once the email is read.
3. Write the opening line — the self-diagnosis trigger
The strongest Email 1 opener is a question that forces the prospect to calculate a number they don't know but should. This generates self-discovered motivation — more credible than any claim you make.
Format: "Do you know [specific metric]? Most [their type] don't — and it's usually [directional: more/higher/worse] than they expect."
This is stronger than stating the problem for them. The calculation happens in their head, and they own the result.
Also: the first line must reference something true of only this company/person — never just their job title or company name dropped into a template. Test: could this sentence apply to 1,000 other companies? If yes, rewrite it.
Do NOT lead with "I/we/my company." The prospect must be mentioned before you are.
4. Structure the body — keep it under 80 words
Formula:
- Self-diagnosis question (the opener)
- The offer / value prop (not a pitch — a case study, audit, playbook, or short video)
- A low-friction call to action
Rules:
- 1–2 sentences per paragraph max.
- Total email 50–80 words.
- Run the "phone scan" test: would this be readable and scannable on a mobile screen in 3 seconds?
- Run the "drunk test": could someone understand the ask in 10 seconds, slightly distracted?
5. Choose the right CTA — value before ask
Never open with "can we hop on a 15-minute call?" Nobody owes you their time yet. Instead, offer something concrete and free: an audit, a case study, a short Loom video, a lead list, a partial solution. Let them opt into more (a call) only after they've engaged with that value.
Best CTA for home-service owners: a 2-minute Loom showing exactly how it works for a company like theirs (ideally in their state/market). Async, watchable on a phone between jobs, no calendar commitment.
CTA phrasing varies per template to avoid pattern-matching — see individual templates.
6. Build the follow-up sequence (3–5 emails)
- Space follow-ups 2–5 days apart.
- Never send a "just checking in" / "bumping this" email — every follow-up must add new value or a new angle.
- Suggested sequence:
- Email 1: self-diagnosis opener + value offer (Loom, case study, or breakdown)
- Email 2: additional insight or context (price anchor + new angle)
- Email 3: urgency trigger + guarantee/proof (breakup)
- Email 4 (optional): social proof / similar-company angle
- Email 5 (optional): free resource, no strings attached, framed as the last touch
- A "breakup" email should never guilt-trip. Frame it as "wrong person?" (checking if someone else at the company is the right contact), not "you've been ignoring me."
7. Add urgency — Email 3 must give a reason to act now, not later
Default urgency options (pick the one that's true for your situation):
- Capacity constraint: "We're onboarding [city] contractors for [season] — have [N] setup slots open this month"
- Seasonal anchor: "AC season typically starts in [month] — setup takes 3 days"
- Competitor signal: "Two other [city] [vertical] companies are already running this" (only use if true)
Do not fabricate urgency. Pick a real one or omit it.
8. Sanity-check before sending
See playbooks/pre-send-checklist.md for the full list.
Core checks:
- Does line 1 pass the "only them" test?
- Is the total word count under 80?
- Is there a single clear CTA, and is it low-friction (not a calendar ask)?
- Does the CTA vary from template to template (not all "Mind if I send")?
- Is Email 1 link-free (unsubscribe in E2/E3 only)?
- If citing a data point, attributed to source ("SimilarWeb shows...") not stated as own claim?
- Has capacity pre-check been run on the target list?
- Is timing aligned with send-timing guide for this vertical?
When reviewing/critiquing an existing email
Check against this list and call out failures explicitly:
- Opens with the prospect, not the sender
- Opening line passes the "only them" test or uses self-diagnosis question
- Under 80 words, short paragraphs
- CTA is low-friction and gatekeeper-safe (not "hop on a call")
- No generic filler ("I hope this finds you well," "just following up")
- No unearned personalization (title/company name alone doesn't count)
- No burned phrases (AI chatbot, book automatically, link in Email 1)
- If part of a sequence: does this specific email add new value vs. prior emails?
Known trade-offs (don't over-apply one rule)
- Length: default to <80 words, but slightly longer is defensible when the extra length pre-empts one specific, known objection — not for general elaboration.
- Personalization: segment-level personalization (written per persona) is usually the right scale — full 1:1 hand-research doesn't scale, but title-swap templates fail the "only them" test. Aim for the middle.
- Follow-up count: 3 is a reasonable floor, 5 a reasonable ceiling. More than that risks spam flags and diminishing returns; fewer than 3 leaves most replies (which skew toward later touches) uncaptured.
For full source citations and the detailed contradiction-resolution reasoning behind these trade-offs, see references/source-report.md. For a record of which sources in the home-services research pass were fabricated vs. verified, see references/verification-log.md.