InfraSuite logoInfraSuite
Cold Email Playbook

How to Structure a Cold Email Campaign From Scratch

A cold email campaign is a system with interdependent parts. Here's how to build it correctly — from infrastructure allocation to sequence setup — before a single email goes out.

Build infrastructure first, not copy first.
Treat ICP, list prep, copy, sending configuration, and monitoring as one system.
Run pre-send checks before a single email goes out.

Most people approach cold email campaign setup the wrong way. They write the copy first, then figure out the list, then bolt on the infrastructure as an afterthought. The result is a campaign that's built backwards — optimized for how the email reads rather than for whether it can actually run at scale without breaking.

A cold email campaign is a system. Every component — your infrastructure, your list, your copy, your sequence, your sending schedule — affects every other component. Getting the structure right before you start means the campaign runs cleanly from day one rather than developing problems you have to diagnose and fix mid-send.

This is the order that structure should be built in.

A campaign is a system, not a template

Most people approach cold email campaign setup the wrong way. They write the copy first, then figure out the list, then bolt on the infrastructure as an afterthought. The result is a campaign that's built backwards — optimized for how the email reads rather than for whether it can actually run at scale without breaking.

A cold email campaign is a system. Every component — your infrastructure, your list, your copy, your sequence, your sending schedule — affects every other component. Getting the structure right before you start means the campaign runs cleanly from day one rather than developing problems you have to diagnose and fix mid-send.

This is the order that structure should be built in.

Step one: infrastructure allocation

Before you write a word of copy, you need to know what infrastructure you're running the campaign on.

Each campaign should have dedicated sending domains and mailboxes allocated to it. Mixing multiple campaigns across the same mailboxes creates attribution problems, makes it harder to diagnose deliverability issues when they arise, and means one campaign's problems can affect another campaign's performance.

The number of domains and mailboxes you allocate depends on your target daily send volume for that campaign. More volume requires more infrastructure. The sending should be spread across enough mailboxes that no individual mailbox is being pushed beyond a conservative daily limit — and that limit should account for warmup emails still running in the background on those mailboxes.

If you're running campaigns for multiple clients, each client's campaigns run on completely separate infrastructure. Their domains, their mailboxes, their proxy domain — isolated from every other client's setup.

Step two: ICP and list preparation

With infrastructure allocated, the next step is the list — and the list starts with a clearly defined ICP for this specific campaign.

Different campaigns target different segments. A campaign targeting VPs of Sales at Series B SaaS companies requires a different list, different copy, and different infrastructure allocation than a campaign targeting agency owners. Running one generic campaign to everyone is a reliable way to produce generic results. Segment by ICP and run each segment as its own campaign.

Once the ICP is defined for this campaign, build the list against it, verify every address, clean company name fields, remove catch-alls, unknowns, invalids, and role-based addresses, and randomize the order before import. The list should be ready to upload before the campaign is configured — not something you're finishing while the campaign is already running.

Step three: copy and sequence

With infrastructure allocated and the list prepared, write the copy for the campaign.

The sequence structure for most cold email campaigns is three emails: the initial email, a first follow-up the day after, and a final breakup email two days after that. Three emails, four days, done. This is the sequence structure that balances reply opportunity against spam complaint risk.

Each email in the sequence has a distinct purpose. The initial email makes one clear, relevant point and asks for something specific. The first follow-up is short, adds a new angle or piece of value that wasn't in the initial email, and keeps the ask simple. The breakup email closes the loop gracefully and signals you won't be following up again — which paradoxically often generates replies from people who were interested but hadn't gotten around to responding.

Apply spintax across subject lines and body copy for all three emails before the sequence goes live. Verify that every combination reads naturally. A spintax variation that produces a clunky or unnatural sentence will reach real people — they'll notice.

Step four: sending configuration

How you configure the campaign in your sending tool determines whether the infrastructure you've built stays healthy or degrades under the volume.

Daily send limits — set a conservative daily send cap per mailbox. Pushing mailboxes to their absolute limit every day compresses the margin you have when something goes wrong. Leave room.

Sending windows — be deliberate about when your emails land. If you're targeting North America, send during standard business hours and find a balance between EST and PST that covers the broadest active window without hitting either coast at an unreasonable hour. The goal is for your email to arrive when the recipient is at their desk and processing their inbox — not first thing Monday morning when they're clearing the weekend backlog, and not Friday afternoon when attention is already elsewhere.

Sending gaps — randomize the gap between individual sends rather than sending at a rigid interval. A campaign sending one email every 90 seconds looks like automation. Randomized gaps between sends pattern-match more closely to human behavior and reduce the risk of triggering bulk sending flags.

Unsubscribe handling — including an unsubscribe option improves compliance, but use it selectively. A visible unsubscribe link in a cold email can subconsciously signal to the recipient that what they're reading is a mass marketing email rather than a personal outreach — which primes them to treat it as low value and move on. There's a real tradeoff here between compliance and perception. How you handle it depends on your audience, your offer, and your risk tolerance. At minimum, honor any opt-out request immediately regardless of how it comes in.

Opt-out suppression across campaigns — if someone opts out or asks to be removed, suppress them across all campaigns targeting that contact. A single suppression list applied globally across your operation is the right way to manage this.

Step five: pre-send checks

Before the campaign goes live, run through this checklist:

  • Verify all authentication records are correctly configured on every sending domain in this campaign.
  • Confirm warmup is running on all mailboxes and has been running for at least 14 days.
  • Send test emails to seed addresses across Gmail and Outlook and confirm inbox placement.
  • Check that spintax variations all read naturally.
  • Confirm list is verified, cleaned, and randomized.
  • If using an opt-out mechanism, confirm the language reads naturally and isn't drawing unnecessary attention to itself — most operators handle this with a simple line at the end of the email asking recipients to reply with "stop" or "unsubscribe" if they'd prefer not to hear from you, rather than a formatted unsubscribe link that signals mass marketing.
  • Confirm your suppression list is loaded and will be honored immediately for any opt-out replies.
  • Run copy through a spam checker and address any flagged language.

Step six: monitor and iterate

Once the campaign is live, the work shifts to monitoring. The metrics that actually tell you whether a campaign is working are reply rate and positive reply rate — not open rate, which is increasingly unreliable as a signal due to privacy-protective email clients pre-loading tracking pixels.

Watch bounce rates closely in the first few days. A bounce rate above 2% is a warning sign that needs to be investigated immediately — either list quality, authentication issues, or both. Catch it early and the damage is manageable. Let it run for a week and the domain damage compounds.

When a campaign produces replies, actually read them. Negative replies — "not interested," "wrong person," "we already have this" — tell you as much as positive ones. Patterns in negative replies often reveal targeting problems, messaging misalignment, or ICP definition issues that can be corrected for the next campaign.

Test one variable at a time. Subject line, opening line, CTA, personalization approach — change one thing per campaign iteration and let the data tell you what's working. Changing multiple variables simultaneously makes it impossible to know what drove the difference.

Summary

Build infrastructure first. Define the ICP and prepare the list second. Write copy and configure the sequence third. Set up sending configuration carefully. Run pre-send checks without shortcuts. Monitor actively once live.

That's the order. It's not complicated, but skipping or rushing any step creates problems that compound as the campaign scales. The campaigns that run cleanly at high volume are almost always the ones that were set up correctly from the start.

Where to go next

The most useful next step is usually either a deeper guide or a page that helps you compare provider fit.

Frequently asked questions