DELIVERABILITY
Cold email deliverability, properly
Last updated
Read this before asking us to diagnose an inbox. It explains how we work out whether a problem is the domain, the copy, the tenant, the infrastructure or the inbox type - and how to avoid creating the problem in the first place.
We provision the infrastructure and get the authentication right before you send. Everything after that is sending practice, and this is what we have learned works.
The ten rules
Follow these and most deliverability problems never start. If results still drop afterwards, you will have the structure needed to work out what actually went wrong.
01
Know what kind of sender you are
A market of twenty thousand companies and a market of ten million are not run the same way. The size of your addressable list decides how hard you can push and how much you need to protect it.
02
Judge the channel on economics, not reply rate
Reply rate is one input. Cost per booked call, cost per customer and margin are what decide whether cold email is working. A campaign with a falling reply rate can still be the cheapest acquisition channel you have.
03
Run many copy variants
One email shape sent ten thousand times is one fingerprint. Keep adding structurally different variants so no campaign depends on a single shape that can burn.
04
Strip risky phrasing
Some variants flag faster than others because of the words in them. Pull those out and keep testing, but do not expect word choice alone to fix a message that reads like a pitch.
05
Use heavy spintax, but not only spintax
Spintax varies wording inside a shape. It does not create new shapes. Use far more of it than feels necessary, and still add new structural variants every week.
06
Send less per inbox, not more
Three cold emails per Microsoft 365 inbox per day is the working figure. Scale by adding inboxes, which is exactly what a hundred-inbox order is for.
07
Rotate sending groups if domains burn
If domains are degrading faster than expected, split them into two groups and alternate weekly so each group gets cooldown time on warmup only.
08
Avoid an obvious shared footprint
Mix registrars, TLDs, sender names and redirect behaviour. Infrastructure that looks identical across every domain is a pattern a filter can learn once and apply to all of it.
09
Engineer positive engagement
Engagement is the strongest signal you control. A CTA that earns real replies protects domains better than any technical setting.
10
Structure campaigns so problems are visible
If every domain sits in exactly one campaign, a drop tells you nothing about whether the domain or the copy failed. Build overlap in deliberately.
Reply rate matters, but economics decide it
Reply rate is the metric everyone watches and it is not the one that decides whether cold email works. The real question is what you pay to acquire a customer and what that customer is worth.
A campaign at a 0.5% reply rate on high volume can be the cheapest acquisition channel in the business. A campaign at 3% that costs three times as much to run can be worse. Both facts are uncomfortable if you are optimising reply rate in isolation.
Two times the reply rate at three times the cost is not a win
Google Workspace inboxes often produce better reply rates than Microsoft 365 when the recipient is on Google - and they cost several times more per inbox. Sending 2,000 a day at twenty-five per inbox needs around eighty Google inboxes, before data and sequencing. The same volume on Microsoft 365 at three per inbox is more mailboxes but dramatically less money.
Which is right depends on your market size. With a small addressable list, go where reply rates are strongest. With a large one, cheaper volume usually wins on total output even at a lower rate per send.
THE CHAIN TO TRACK
- Spend - infrastructure, data, sending and tooling.
- Replies - cost per reply and positive reply rate.
- Calls - how many positives become booked calls.
- Closes - how many calls become customers.
- Profit - customer value minus what it cost to acquire.
Reply rate is a lever. Profitable acquisition at the volume your market allows is the outcome.
Match the method to the market
A market of twenty thousand companies and a market of ten million should not be run the same way. Pick the approach based on how many real prospects exist and how much you need to protect the list.
Small market, or client work
Around twenty thousand targetable companies. Your job is to protect the list and the domains while testing new reasons for people to reply.
- One to two cold emails per inbox per day, with five to six warmup messages alongside.
- Consider two sending groups alternating weekly so domains get cooldown.
- At least three structural variants, heavy spintax, new variants constantly.
- Do not go past step two in a sequence - most spam risk sits in the extra follow-ups.
- Twenty thousand prospects at two touches is forty thousand sends, so you can loop the list roughly monthly. Spend that month building a genuinely new angle.
Mid-sized market
Roughly 150,000 to 200,000 prospects. Aim to work through the market about once a month.
- Two to three cold emails per inbox per day.
- For a 100,000-prospect market, build toward 4,000-6,000 sends a day so you can loop monthly.
- That is around twenty orders of a hundred inboxes.
- Group rotation is usually unnecessary here unless deliverability has been poor.
- New variants every week, still no further than step two.
Large market, volume economics
Hundreds of thousands of prospects or more - recruiting, financial services, insurance, broad productised offers.
- Three cold emails per inbox per day, scaled by adding orders rather than pushing inboxes.
- Often a single touch, looping the list every one to three months.
- Domains will burn. It may not be worth replacing one until it is below a 0.5% reply rate over a month.
- Add variants daily, and make that one person's named responsibility rather than everyone's occasional task.
- Mix registrars and TLDs rather than running an identical footprint everywhere.
The practices that prevent problems
Stop writing emails that look like cold emails
Most cold email reads exactly like cold email, which makes it trivial for both filters and recipients to classify. Getting your message across without sounding templated is most of the work.
A real variant changes the shape - different opening, different length, different paragraph order, different CTA and sign-off. It changes the angle, framing the same offer as a different reason for making contact. Rewording a sentence and calling it a new variant leaves the same fingerprint in place.
Heavy spintax, on top of real variants
Three structural variants each carrying deep spintax means ten thousand sends are not ten thousand copies of three emails. Fifteen spintax groups with four options each is over a billion possible versions of a single line.
It is still not enough on its own. Copy fatigue moves faster than it used to, so keep adding new structural variants weekly rather than treating spintax as a substitute for them.
Send less per inbox
One order is a hundred Microsoft 365 inboxes on one domain. At three cold emails per inbox per day that is 300 sends a day from a single order, and that rate is deliberately conservative - Microsoft rewards restraint more than Google Workspace does, where twenty-five to thirty per inbox is normal.
Be realistic about the offer. Most senders overestimate how distinctive theirs is, and the market has usually seen something similar recently. Starting low means you find that out before generating spam complaints.
WARM-TO-COLD RATIO
An inbox sending three cold emails a day should be running five or six warmup messages alongside them. Most of the mailbox activity is then positive engagement rather than outreach, which lowers the effective complaint rate across the inbox.
Warm domains for at least two weeks before meaningful cold volume, and keep warmup running afterwards rather than switching it off.
Warmup is provider-specific
The composition of your warmup pool matters more than its size. If eighty percent of your prospects are on Google but only twenty percent of your warmup traffic reaches Google inboxes, your effective Google warmup is twenty percent - not the number you think you are running.
Match the provider mix of the warmup pool to the provider mix of the people you are actually emailing. If you cannot, accept the lower effective warmup and send less.
Test redirects rather than assuming
Redirects on sending domains are argued both ways. Settle it with your own data: with ten domains, run five with redirects and five without. If the redirect group degrades first, you have isolated a real pattern rather than inherited an opinion.
Engagement keeps domains alive
Engagement is the strongest signal you control. When recipients dislike an offer, or have seen it many times, they ignore or report it, and domains burn faster. The clearest evidence is local-language markets, where senders using otherwise questionable practice keep domains healthy because people genuinely reply.
Lead with something real rather than a call request. A weak CTA - "can we hop on a call", "is this of interest" - gets ignored. A specific, genuinely useful resource earns replies, and replies protect infrastructure.
- Weak: "I have a plan for how you could run Facebook ads."
- Better: "We collected what the top twenty manufacturing firms are doing to improve retention. Want me to send it over?"
- Better: offer two free ad creatives so they can see the output before committing to anything.
- Better: send a short list of ranking gaps rather than asking for a call first.
Spam words are overstated, but not irrelevant
Word choice is rarely the sole reason a message lands in spam, and it does make some variants flag faster - particularly when the email already reads like a pitch. Run copy through a checker and remove the obvious offenders before scaling a variant.
The better test is reading it aloud. If it sounds like a sales email, it will be treated like one. The difficult part is sounding like normal one-to-one correspondence while still only attracting replies from people who actually want what you sell.
Diagnosing a reply-rate drop
A drop only becomes useful once you know which variable it follows. The things you are separating are domain reputation, campaign copy or offer, tenant quality, infrastructure pattern and inbox type.
You only get that signal when the same domain runs across several campaigns and each campaign draws from a mixed pool of domains. If every domain sits in exactly one campaign, a drop is unattributable - you cannot tell whether the domain burned or the copy did.
- Build a pool large enough that each campaign contains inboxes from several domains.
- Run genuinely different copy, offers or segments across separate campaigns.
- Spread each domain across multiple campaigns, and keep some inboxes as untouched holdouts.
- Read the shape of the drop rather than the size of it.
The point is overlap without total dependency. A domain should appear in more than one campaign but not necessarily every campaign, which gives you comparison data while keeping part of the pool clear of a risky campaign. A hundred inboxes on a domain is enough supply to do this properly.
Different problem, different fix
This is why isolating the cause comes first: the remedy changes completely depending on what broke, and rebuilding everything is usually the wrong response.
| Issue | Pattern | Remedy |
|---|---|---|
| Domain | One domain performs badly across campaigns. The row goes bad. | Switch domains. Move volume off the burned domain and leave the healthy domains unchanged. |
| Copy | One campaign performs badly across many domains. The column goes bad. | Change the copy substantially. Angle, structure, opening, call to action, overall shape. Do not swap a few words. |
| Tenant pattern | Every domain inside one tenant drops together. Usually an infrastructure-pattern issue. | Switch the tenant. Move volume away from that tenant and compare against other tenants before changing anything unrelated. |
| Infrastructure | A shared setup pattern drops. Examples: .info TLDs, one registrar, redirects, or a same-day domain cohort. | Redo the domains and change the infrastructure. Rarer, and usually shows up at scale, but when the pattern is clear the fix is broader. |
| Inbox type | One inbox type performs worse for a period. Microsoft, Google or private infrastructure dips while the rest hold steady. | Weather it and rebalance volume. Provider types often recover after a couple of weeks. If Google dips, put more into Outlook or private infrastructure, and the other way round. |
Frequently asked questions
How many cold emails per day should I send from a Microsoft 365 inbox?
Three per inbox per day once warmed, starting at one or two. Microsoft rewards restraint more than Google Workspace does, where twenty-five to thirty per inbox is common. Volume should come from having more inboxes, not from pushing each one harder.
What is a good warm-to-cold ratio for cold email?
Keep warm activity well above cold. An inbox sending three cold emails a day should be running five or six warmup messages alongside them, so most of the mailbox activity is positive engagement rather than outreach.
How long should I warm up a domain before sending cold email?
At least two weeks before meaningful cold volume, and longer if engagement is weak or domains have been burning quickly. Keep warmup running after you start cold sending rather than switching it off.
My reply rate dropped. How do I tell whether it is the copy or the domain?
Look at the shape of the drop. If one domain performs badly across every campaign it appears in, the domain is the problem. If one campaign performs badly across many domains, the copy or offer is the problem. You only get that signal if each domain appears in more than one campaign.
Do spam words actually matter for cold email?
They matter less than people claim but more than nothing. They make a difference mostly when the email already reads like a sales pitch. The more useful test is reading the message aloud and asking whether it sounds like one person writing to another.
The infrastructure half, handled
Everything above is sending practice, and it only works on top of infrastructure that is correct. One order is 100 Microsoft 365 inboxes on one domain for $30, with SPF, DKIM and DMARC configured and verified before handover. Live in 24 to 48 hours.
Get inboxes