River
Y CombinatorBacked by Y Combinator

Free template

B2B Cold Email Sequence Template

A four-step cold email sequence for each segment, with sheets that log sends and replies, track opt-outs and count the companies left to email.

Free download · No account needed

What you get

Pack of 8 files: 4 documents, 4 spreadsheets

B2B Cold Email Sequence Template
  • Personalisation StandardDocument
  • Reply Coding StandardDocument
  • Sequence by SegmentDocument
  • Measurement NoteDocument
  • Sequence RegisterSpreadsheet
  • Reply LedgerSpreadsheet
  • Account ConsumptionSpreadsheet
  • Do Not ContactSpreadsheet
RiverB2B Cold Email Sequence Template

Measurement Note · Harroway · first sixty days of sending

The dashboard says 9.3%. Thirty eight of those addresses never received anything.

LineCountWhy it moves
Addresses mailed at step 1506What the tool divides by
Hard bounced3829 bad mailbox, 6 disabled, 3 refused
Actually delivered468The real denominator
Inbound counted as replies47What the tool divides
Carrying an auto-responder header15Out of office and shared mailboxes
Human replies32The real numerator
Reported reply rate9.3%47 over 506
Actual reply rate6.8%32 over 468

Neither number is a disaster. Only one of them is real, and the quarter was planned on the other.

Page 1 of 1113 words

How to write a B2B cold email sequence

A B2B cold email sequence is a short series of emails, typically three to five over two or three weeks, to someone at a company that doesn't know you yet. A good one opens on something that company actually did and asks for one small thing per email. Each follow-up adds a new reason to answer, and the sequence stops the moment the person replies.

One principle shapes everything below: your list is finite. A narrow B2B market may hold only a few hundred companies that fit, and each one you email carelessly is one you can't approach fresh again.

Three people working at computers along a shared office desk, with printed reports laid out on the desk
Most of the work happens before you write: choosing companies and finding a reason. Photo: Arlington Research on Unsplash

Count the companies before you write

Start by writing down what makes a company a fit: industry, size, and a sign that it's facing the problem you solve. If you haven't pinned that down, build an ideal customer profile first. At each company, email the person who owns the problem day to day, not just the most senior title.

Then count the companies that match, segment by segment. That count is your ceiling. If 400 companies fit and you contact 25 a week, you have 16 weeks of market. Track what each meeting costs, too: if two meetings came from 200 companies, each one cost you 100 of them.

Open with something the company did

Personalization isn't a merge field that drops in the company name. A real opening line names something this company did, says where you saw it, and is recent enough to matter. Good sources: their job postings, press releases, filings and talks by the person you're writing to.

Opening lines that fail and pass

TestFailsPasses
About this company"Logistics firms are under pressure on labor costs this year.""You've posted three night-shift supervisor roles in Reno this month."
Sourced"I imagine peak season is hard on your warehouse team.""Your Q2 update named the Dallas site as next year's bottleneck."
An event, not a filter"I see you run four sites with about 600 staff.""Your press release says a fifth site opens in March."

Recent matters too: this template treats a job posting as current for 60 days, an announcement for 90.

The account research brief gathers sourced, dated details like these for one company. If you find nothing specific, hold that company back rather than spend it on a generic email.

Write the steps of your cold email sequence

Give every step its own job, and send each follow-up as a reply in the same thread. Ask for one small thing per email: a question someone can answer in a line is easier to say yes to than a 30-minute call.

A four-step B2B cold email sequence

StepSend onWhat it saysLength
1. The openerDay 1Your observation, what it usually means for them, and one questionUnder 90 words
2. The costDay 4The specific, expensive symptom of the problem, and one questionUnder 70 words
3. The proofDay 8A named customer like them, what changed and by how much. No named customer? Skip this stepUnder 90 words
4. Close the loopDay 14Say you'll stop, and ask who owns this if it isn't themUnder 40 words

Move the days to suit your market. If a step has nothing new to say, cut it.

When anyone replies, cancel every queued step for that person. A scheduled follow-up that lands after "we just signed with someone else" can cost you the account for years.

ExampleTwo steps from a sample sequenceAn illustrative example written for this guide. Dana, her company and the postings are made up.

Step 1, day 1. Subject: Night-shift roles in Reno

Hi Dana, you've posted three night-shift supervisor roles at your Reno site in the past two weeks. When a site adds a shift that fast, agency staff usually fill the gaps until the schedule catches up. How are you covering nights in the meantime?

Step 4, day 14. I'll stop here. One last question: if shift schedules sit with your site managers, who should I talk to in Reno?

  • Sourced and recent. The opener names postings Dana can check, from the past two weeks.
  • One easy question. Each email asks one thing, answerable in a line.
  • A last step that still helps. Even a no tells you who owns the problem.

Send it legally, from a trusted domain

In the US, the FTC's guide to the CAN-SPAM Act says the law makes no exception for business-to-business email1. Every sales email needs an honest sender and subject line, a clear sign that it's an ad, your postal address and an easy way to opt out. Honor opt-outs within 10 business days.

Inbox providers judge you too. Google's sender guidelines for mail to Gmail addresses require SPF or DKIM authentication on your sending domain2, settings that prove your mail comes from you. They also ask senders to keep their spam rate below 0.1% and never reach 0.3%. Treat that as the bar everywhere, and build volume slowly.

Outside the US, check first

Canada's anti-spam law requires consent before you send3. A person's openly published address can count as implied consent if it came with no request to avoid marketing and your email is relevant to their job. In the UK, you can email companies without consent, but sole traders and ordinary partnerships count as individuals4 who need it. This isn't legal advice: if your list crosses borders, ask a lawyer.

Clean up your reply rate

Before you trust your reply rate, check how your tool counts. Automatic replies should not count: RFC 3834, the standard for them, says each should carry an Auto-Submitted header5 so software can filter them out. Bounced addresses never got your email, so take them out of the total sent. Each bounce carries a status code naming the failure6.

  • 5.1.1 means the mailbox doesn't exist. Remove the address and find the right one.
  • 5.2.1 means the mailbox is disabled, which can mean the person has left. Look for their successor.
  • 5.7.1 means the receiving server refused you. Don't keep retrying from the same domain.

Your real reply rate is human replies divided by the people who received your emails. Compare it across your own segments and months, not against outside benchmarks. And don't A/B test subject lines on a small list: one version will still come out ahead, often by chance alone.

People needed in each version, starting from a 5% reply rate

To reliably detectPeople per version
A rise to 6%About 7,700
A rise to 7.5%About 1,300
A rise to 10%About 340

From Evan Miller's sample size calculator7 at its defaults, 80% power and 5% significance. With 200 people per version, only a jump from 5% to about 12% would reliably show.

Sort every reply by what it says

Even 30 replies can't separate two subject lines, but they can tell you what's wrong. Code each human reply the day it arrives, with the person's own words beside the code. Each kind points to a different fix.

  • Wrong person ("talk to our site managers"): fix the contact list, not the copy.
  • Not now, with a date ("after January"): schedule a callback. It isn't an opt-out.
  • Already have a supplier: note when their contract renews, if they say.
  • Don't have the problem: if several come from one segment, question the segment.
  • Stop emailing me: add them to your do-not-contact list at once.
  • Yes to a meeting: book it and end the sequence.

Before you send the first email

  • You know how many companies fit, by segment
  • Every opener names something the company did, with its source and date
  • Each email asks for one thing
  • Every email has your postal address and a working opt-out
  • Your sending domain is set up with SPF and DKIM
  • A reply cancels every queued step for that person

When replies turn into meetings, prepare with the discovery call questions template. Once a company becomes a customer worth growing, plan its year with the strategic account plan template. The template here has the sequence, the reply codes and a sheet for each count above. River can fill them from your list and your sending tool's export.

How to use this template

Use the files as they are, or open them in River. Send River your target list and the raw export from your sending tool. It counts the companies that fit, then takes auto-replies and bounced addresses out of your reply rate. Next it sorts every reply by what it said and checks whether your list can support a split test. Only then does it write the sequence for the segment with the most evidence behind it.

No reply text yet? Your target list and send export alone correct your numbers for bounces and size your market, which is enough to plan the next two weeks. River finishes with the two or three decisions the numbers should change this week.

  1. Download it or open it in River

    Get four Word documents and four CSV sheets with no signup, or open the template in River and work on it with AI.

  2. Send your list and export

    Share your target list, how you chose it, and your sending tool's export of sends, bounces and replies. Raw files are fine.

  3. Get the real numbers

    River corrects your reply rate for auto-replies and bounces, sorts every reply, counts the companies left and says whether a split test can work.

  4. Write, edit and send

    River drafts the sequence for the segment with the most evidence. Edit it or ask for changes, then send from your usual tool.

What's in the template

Thirty two replies, and the three numbers they produceEvery figure recomputes from the Sequence Register and the Reply Ledger. Nothing on these sheets was typed in by a person.
B2B Cold Email Sequence Template
RiverReply Ledger

Reply Ledger

Illustrative rows for a fictional shift-planning company, Harroway, selling into third party logistics.

IDAccountStepAuto headerCodeWhat they actually said
R-018Vantry Logistics1nomeetingThirty minutes the week after peak planning closes
R-021Brookmere Freight3auto-repliedmachineOut of office until 22 June, colleague named in the footer
R-024Kestrel Handling1nowrong-personRotas sit with the site managers, not with me
R-027Halewood Pallet1nonot-now-datedNothing changes here before peak finishes in January
R-029Selby Grocery Group1noneverTake this address off every list you hold
R-031Cranfold Haulage1noalready-have-itSigned with an incumbent in March on a three year term
R-033Cranfold Haulage2noneverSecond mail after I told you we had signed
R-036Netherby Logistics1nowrong-problemOur shifts are fixed by a collective agreement
R-039Wrentham Chill1auto-repliedmachineAutomatic acknowledgement from a shared operations mailbox
R-041Ostley Contract Services2nowrong-personI left this role in April, try the new operations director

R-033 convicts the send rule rather than the copy: step 2 went out after he had already told us they had signed, and that cost the account permanently. R-027 arrived with a date on it, so it is a callback for January and not a suppression. Nine of the thirty two human replies this quarter are wrong-person.

RiverWhat the list can detect

What the list can detect

Standard two-proportion comparison at 95% confidence and 80% power, run before the split rather than after it.

QuestionAnswerAgainst what exists
Addresses needed to see 6.8% become 8.8%2,800 per arm5,600 needed, 415 contacts left
Split the remaining set two ways207 per armResolves a difference of about 8.6 points
Reply rate the variant would have to hit15.4%Against a control of 6.8%, so more than double
VerdictDo not splitThe test returns noise and names a winner anyway

So read the distribution instead. Thirty two replies is a hopeless rate and a very usable corpus.

CodeCountWhat it convictsWhere the fix lives
wrong-person9The targeting, not the messageContact selection
not-now-dated7Nothing. A callback with a dateDated callback, never suppression
already-have-it6The set definitionSegment filter, renewal window
wrong-problem5The segment definitionSegment filter
never3The step 2 suppression rule, onceDo Not Contact
meeting2Nothing. Keep goingPipeline

Nine wrong-person replies is the largest finding of the quarter. It says the copy is not the problem, it arrives at a count you can read in one sitting, and not one subject line test would have found it.

RiverAccount Consumption

Account Consumption

384 operators fit the definition. That is not a starting point, it is the whole market.

SegmentIn setUntouchedLiveSpent, no replyCallbacksMeetingsAccounts per meetingWeeks left
3PL, 5+ sites962512404171.04.2
3PL, 3-4 sites1688022563188.07.3
Grocery own-fleet12083122200none yet11.9
All segments384188461187298.07.8

Two meetings from 196 touched accounts prices a meeting at 98 accounts spent. The untouched set lasts 7.8 weeks and contains about 1.9 more meetings at that price. A team can hold 6.8% perfectly flat all quarter and still be two months from having nobody left to write to. Grocery own-fleet has spent 37 accounts, booked nothing, and two of its substantive replies say shifts are fixed by collective agreement, so its remaining 83 are held until the segment is confirmed.

  • Sequence by SegmentFour emails over 14 days for each segment: who to contact, each step's angle, its ask and word limit.
  • Personalisation StandardThe test an opening line must pass: something this company did, where it was published and when.
  • Reply Coding StandardHow to spot auto-replies and read bounce codes, plus six codes for what a real reply said.
  • Measurement NoteReported versus real reply rate, what a list your size can detect, and companies spent per meeting.
  • Sequence Register sheetEvery email in the sequence, with its step, angle, delivery result, bounce code and outcome.
  • Reply Ledger sheetOne row per reply: the buyer's own words, whether a person wrote it, its code and next step.
  • Account Consumption sheetCompanies by segment and status, companies contacted per meeting booked, and weeks of list left.
  • Do Not Contact sheetOpt-outs with their scope and expiry, so a "not until January" becomes a dated callback, not a ban.

Common questions

How many emails should a cold email sequence have?

Three to five emails over two or three weeks is typical, and this template uses four over 14 days. Add a step only when it brings something new, such as the cost of the problem or a named customer's result. A follow-up that just repeats the first email gives nobody a reason to reply, so cut it.

How long should you wait between cold emails?

Leave three or four days between the early steps, then a little longer. The sequence in this template sends on days 1, 4, 8 and 14. Thread the follow-ups under your first email, so the reader sees the whole conversation, and stop the sequence as soon as the person answers.

What is a good reply rate for cold email?

There's no reliable universal figure, partly because a reply rate depends on how it's counted. If auto-replies count as replies, or bounced addresses stay in the total sent, the number is wrong. Work out your real rate: human replies divided by the people who received your emails. Then compare your own segments and months on that number, not a published benchmark.

Does CAN-SPAM apply to B2B cold email?

Yes. In the US, the CAN-SPAM Act covers commercial email to businesses as well as consumers. Each message needs accurate sender details, a subject line that matches the content, a clear ad disclosure, your postal address and a working opt-out. Opt-outs must be honored within 10 business days. Canada and the UK have their own rules.

Should I A/B test cold email subject lines?

Only with a large list. From a 5% reply rate, reliably telling 5% from 6% takes about 7,700 people per version. A narrow B2B list may hold only a few hundred companies, and a split that small will still name a winner, often by chance alone. Read and sort the replies instead, because they show what to fix.

Is this cold email sequence template free?

Yes. The download is four Word documents and four CSV sheets, with no signup. The sheets hold example rows for Harroway, a made-up company selling shift-planning software, so you can see how each one works before you clear it. Edit with AI opens the same template in a free River workspace.

What does Edit with AI do?

It opens the template in a free River workspace. River asks for your target list and your sending tool's export. It removes auto-replies and bounces from your reply rate, codes every reply and checks whether your list is big enough to test anything. Then it drafts the sequence for the segment with the most evidence. Nothing reaches a prospect until you send it.

Sources

  1. FTC. “CAN-SPAM Act: A Compliance Guide for Business.” ftc.gov (opens in a new tab)

  2. Google Help. “Email sender guidelines.” support.google.com (opens in a new tab)

  3. Innovation, Science and Economic Development Canada. “Getting consent to send email.” ised-isde.canada.ca (opens in a new tab)

  4. Information Commissioner's Office. “How do we comply with the PECR electronic mail marketing rules?” ico.org.uk (opens in a new tab)

  5. RFC Editor. “RFC 3834: Recommendations for Automatic Responses to Electronic Mail.” rfc-editor.org (opens in a new tab)

  6. RFC Editor. “RFC 3463: Enhanced Mail System Status Codes.” rfc-editor.org (opens in a new tab)

  7. Evan Miller. “Sample Size Calculator.” evanmiller.org (opens in a new tab)

Written by

Chandler Supple

Co-founder & CEO, River

Chandler has spent the last six years working in AI, building tools for millions of users and Fortune 100 companies. In 2025, he co-founded River to build a new kind of operating system for AI agents.

Reviewed by

Brian Joseff, Co-founder, River