Principles before templates
A template only works if you understand why it works, so here is the anatomy every message below follows. Length: 90–110 words, in two or three short paragraphs separated by blank lines. Nobody reads a wall of text from a stranger.
What is banned:
- "I hope this email finds you well"
- "Just circling back"
- "Quick question" subjects
- Leverage-synergy-solutions corporate speak
- The em-dash name opener
- Any statistic you cannot source
One observation and one ask per email — two asks halves your reply rate, and a fabricated number ends the relationship before it starts.
The observation is the whole game. "I noticed you're hiring three growth marketers" beats four sentences of flattery. Warm signals — a site visit, a trial, a job change — hand you the observation for free, which is why warm templates outperform genuinely cold ones by such a margin (5–15% reply rates versus 1–3%). Every template below tells you which signal it needs.
Subject line rules
Specific beats clever, every time we have measured it. "Your pricing page + a question" outperforms "Quick question." "Congrats on the new role at Vertex" outperforms "Thoughts?" The subject's only job is to be opened by this one person — it is a label, not a billboard, so lowercase-casual and internal-memo styles both work when they match the content.
| Bad pattern | Why it fails | Better |
|---|---|---|
| "Quick question" | Says nothing; pattern-matched to spam by humans and filters alike | "your pricing page + a question" |
| "Following up" | Admits you had one email's worth of relevance | Lead with the new angle: "new since we last spoke" |
| "Hope you're well" | Generic filler with zero information scent | "congrats on the new role at Vertex" |
| "Re:" on a first touch | A fake-forward deception that earns spam complaints | An honest, specific label for the content |
| Superlatives and emoji | Reads as a marketing blast, not a person | Lowercase-casual, internal-memo specificity |
A/B test subjects with discipline: two genuinely different angles (not synonyms), split the sends, and let reply rate — not open rate — pick the winner. BusinessMCP does this automatically per campaign, biasing toward the winner as data accumulates; by hand, a spreadsheet and patience work fine.
Warm visitor templates
Template 1 — Warm visitor follow-up. Use when company identification shows an ICP-fit company visiting your site. It works because the interest is real and recent — you are answering curiosity, not creating it. Reference the category interest, never the browsing log.
Subject: analytics tooling at {Company}
Hi {FirstName},
Noticed a few folks at {Company} have been looking into visitor analytics this week — figured it might be you or your team.
I'm with {OurCompany}. We show B2B teams which companies visit their site and turn the good-fit ones into warm outreach automatically.
Worth a look at what {Company}'s traffic would surface? Happy to send a two-minute overview.
Best,
{Sender}Template 2 — Pricing-page follow-up. Use within a day of a repeat pricing-page visit — the strongest buying signal there is. It works because it lands mid-evaluation, when a small nudge changes outcomes. Keep it even lighter than the general visitor note; they are close, so reduce friction.
Subject: pricing questions, {Company}?
Hi {FirstName},
Looks like {Company} has been evaluating tools in our space recently. If pricing or plan fit is the open question, I can give you straight answers in two minutes — including where we're not the right fit.
Anything I can clear up?
Best,
{Sender}Trial and revival templates
Template 3 — Trial gone quiet. Use when a trial showed real activity and then stopped. It works because it is help, not selling — something blocked them, and naming that possibility gets honest answers. Among the highest-reply templates in existence.
Subject: did something break?
Hi {FirstName},
You set up {Product} last week and got {specific thing} working — then things went quiet. Usually that means something got in the way: a missing integration, a confusing screen, or just a busy week.
If it was on our side, tell me and I'll fix it. If the timing's wrong, that's useful to know too.
Best,
{Sender}Template 4 — Re-engagement after 45+ days. Use on a prospect who went dark mid-conversation a month or more ago. It works because it takes a fresh angle instead of guilt-tripping — never "just circling back." Lead with something new: a relevant change at their company or a new capability that maps to their original problem.
Subject: new since we last spoke
Hi {FirstName},
When we talked in {month}, the sticking point was {objection or blocker}. That's changed — we shipped {relevant capability}, and teams like {peer company type} are using it for exactly what you described.
Worth a fresh look, or has {Company} solved this another way?
Best,
{Sender}Trigger-event templates: job changes and funding
Template 5 — Job-change congratulations. Use when a past user or champion lands at a new company, ideally two to four weeks in — after the congratulations flood, before the toolstack hardens. It works because trust already exists; you are reconnecting, not prospecting.
Subject: congrats on the move to {NewCompany}
Hi {FirstName},
Saw you joined {NewCompany} as {Role} — congratulations. When you were at {OldCompany}, your team used {Product} for {use case}.
If the same problem exists at {NewCompany}, happy to get you set up quickly — you already know where the bodies are buried in our UI.
Either way, good luck with the new role.
Best,
{Sender}Template 6 — Funding trigger. Use a few weeks after an ICP-fit company raises, once the announcement-week noise dies down. It works when the funding is context, not the pitch — connect the raise to a specific operational consequence you help with, or skip the template entirely.
Subject: scaling {function} at {Company}
Hi {FirstName},
Post-raise, most teams your size start hiring into {function} fast — and that's usually when {specific problem} shows up, because the tooling that worked at ten people doesn't at forty.
I'm with {OurCompany}; we handle {problem} for teams in exactly that growth window. Useful to compare notes before the hiring wave lands?
Best,
{Sender}Observation templates: tool stack and competitor comparison
Template 7 — Tool-stack observation. Use when install data or job posts reveal a tool that complements or conflicts with yours. It works because it demonstrates real homework in one line and makes the relevance self-evident.
Subject: {ToolName} + {OurProduct}
Hi {FirstName},
Saw {Company} runs {ToolName} — we built a direct integration because teams kept pairing the two: {ToolName} handles {their job}, we handle {our job}, and the handoff is automatic.
Teams like {peer example} run this combo today. Want the two-paragraph version of how it fits?
Best,
{Sender}Template 8 — Competitor comparison. Use when you know a prospect uses or is evaluating a competitor. It works only with genuine honesty — acknowledge what the competitor does well, then name the one difference that matters for this prospect. Trash-talk reliably backfires.
Subject: {Competitor} vs {OurProduct}, honestly
Hi {FirstName},
If {Competitor} is working well for {Company}, don't switch — it's a good product. The one place we consistently win is {specific difference}: if {consequence of that difference} matters to your team, that gap is real.
Happy to send an honest side-by-side, including where they beat us.
Best,
{Sender}Relationship templates: referral ask and LinkedIn bridge
Template 9 — Referral ask. Use with a happy customer after a clear win. It works because it is specific — "anyone" produces nothing; a named role and company type produces introductions. Make forwarding effortless by including a forwardable line.
Subject: a specific ask
Hi {FirstName},
Glad {outcome} landed for your team. A specific ask: do you know one or two {role} at {company type} wrestling with {problem}? A one-line intro would mean a lot — and here's a sentence you can paste: "{OurCompany} fixed {problem} for us; worth a look."
Zero pressure if nobody comes to mind.
Best,
{Sender}Template 10 — LinkedIn-to-email bridge. Use as the email touch after a LinkedIn connect or DM went unanswered. It works because it acknowledges the channel switch honestly and rewards the read with substance the DM could not carry.
Subject: moving this out of LinkedIn
Hi {FirstName},
I reached out on LinkedIn last week — inbox chaos over there, so trying you here with more substance.
The short version: {OurCompany} does {what we do} for {their segment}, and I reached out because {specific observation about their company}.
If it's relevant, I'll send the details. If not, one reply saying so and I'll close the loop.
Best,
{Sender}Closing templates: meeting follow-up and the break-up
Template 11 — Meeting follow-up. Use within a few hours of any call. It works because it converts a pleasant conversation into recorded commitments — the deals that die quietly are the ones where nobody wrote down who owed what.
Subject: notes + next steps from today
Hi {FirstName},
Good conversation today. What I heard: {their situation in one line}, and the open question is {their key concern}.
Agreed next steps: we send {deliverable} by {date}; you loop in {stakeholder}. If I got anything wrong, correct me.
Talk on {agreed date}.
Best,
{Sender}Template 12 — Break-up email. Use as the final touch of a sequence with no replies. It works because closure triggers responses that persistence never did — some prospects only reply when the door is closing. Send it once, mean it, and actually stop.
Subject: closing the loop
Hi {FirstName},
I've reached out a few times about {topic} without a reply — which usually means it's not a priority, the timing's off, or I've got the wrong person.
I'll stop here. If this becomes relevant later, my door's open — and if {ColleagueName} is the better contact, a one-word reply pointing me there is plenty.
Best,
{Sender}Follow-up cadence: rotate the angle, never resend
Three to five touches over two to three weeks is the productive zone — most replies arrive on touches two and three, and past five you are training spam filters, not buyers. Space touches three to five business days apart, and send within the prospect's business hours (BusinessMCP holds automated sends to Monday–Friday, 8am–6pm prospect-local, for exactly this reason).
| Touch | Day | Channel | Angle |
|---|---|---|---|
| 1 | Day 1 | The signal or observation | |
| 2 | Day 3–4 | LinkedIn connect / DM | Familiarity — short, no pitch |
| 3 | Day 6–8 | A proof point or useful resource | |
| 4 | Day 11–13 | A different stakeholder lens (economic vs technical) | |
| 5 | Day 16–18 | The break-up — closure, then actually stop |
The cardinal rule: every touch takes a different angle. Touch one leads with the signal or observation. Touch two brings a proof point or resource. Touch three tries a different stakeholder lens — the economic angle if you opened technical, or vice versa. The final touch is the break-up. "Just bumping this" is not an angle; it is an admission you had one email's worth of relevance.
Compliance and deliverability basics
Every commercial email needs your real sender identity and a working unsubscribe — that is the floor of the CAN-SPAM Act in the US, and honoring opt-outs immediately and permanently is non-negotiable everywhere. In Europe, B2B outreach generally runs on legitimate interest under GDPR: be relevant, be honest about who you are, make opting out one click. BusinessMCP appends sender identity and one-click unsubscribe to every outbound email automatically, so the floor is mechanical rather than remembered.
Honor opt-out requests promptly. Any opt-out mechanism you offer must be able to process opt-out requests for at least 30 days after you send your message.
Deliverability is the other half of compliance in practice:
- Send from a separate domain (never your primary).
- Authenticate with SPF, DKIM, and DMARC — see Google's bulk sender guidelines.
- Warm the domain up over about ten days.
- Cap volume near 200 emails a day per domain.
- Send only to verified valid addresses.
- Auto-suppress bounces and complaints.
Templates do not matter if you are in the spam folder — our deliverability guide covers the full setup.
Frequently asked questions
How long should a cold email be?
Around 90–110 words in two or three short paragraphs. Long enough for one specific observation, a plain sentence about what you do, and one ask — short enough to read entirely inside a preview pane. Every extra paragraph measurably lowers replies.
What reply rate should I expect from cold email templates?
Truly cold sends to a fitted list: 1–3% is normal, 5% is excellent. The same templates aimed at warm signals — site visitors, active trials, job changes — run 5–15%, because relevance and timing are solved before you write. Signal quality moves replies more than copy quality.
How many follow-ups should I send before giving up?
Three to five total touches over two to three weeks, each with a different angle, ending with a break-up email — then actually stop. Most replies come on touches two and three. Re-engage only after 45+ days, and only with something genuinely new.
Should I personalize every cold email individually?
Personalize the observation, template the structure. The first two sentences must be specific to the recipient; the rest can be systematic. Skip fake-personal filler about hobbies — one correct, relevant business observation beats any amount of flattery, and it is what AI drafting should be pointed at.
Is cold email legal?
B2B cold email is legal in most jurisdictions with conditions: accurate sender identity, no deceptive subjects, a working unsubscribe honored promptly (CAN-SPAM), and a defensible legitimate-interest basis with easy opt-out under GDPR for European contacts. Relevance and easy exits keep you both compliant and out of spam folders.
Sources
Richard Hopp
Founder of BusinessMCP. Every guide is written from running BusinessMCP on its own platform — the match rates, reply rates, and deliverability lessons are from our own data, not recycled blog folklore. About Richard
Turn your business into one AI-ready MCP server
Connect your tools, install one tracking script, and expose your unified data to any AI agent through a single secure endpoint.
Get started free