GrowthBandBook a call

ArticleDeliverability & Infrastructure

How we keep 32,000+ mailboxes at a 98.9% inbox rate

Monitoring & fixing daily: here is how.

IlyaIlya AzovtsevCo-founder5 min read
The words Every night beside a large clay gauge with its needle in the green zone, on a dark background.
On this pageWHAT WE CHECK (every night, per mailbox)
  1. WHAT WE CHECK (every night, per mailbox)
  2. WHAT WE CHANGE (next morning)
  3. WHEN SOMETHING BREAKS
  4. IF YOU RUN THIS YOURSELF
  5. THE PART THAT IS NOT OURS

Hey, Ilya here 👋

You probably know me as the email deliverability guy.

We do a lot more than that now. But deliverability is where we started, and it is where we made huge progress!

For context: at GrowthBand we run the email infrastructure for our clients (32k mailboxes), so their emails land in the inbox. 98.9% on average. We measure it with placement tests every 36 hours: we send test emails to real inboxes and check where they land.

If your emails land in spam, nothing else matters. Not the copy. Not the list. Not the tool.

After 450k deliverability test emails we understood 1 simple thing:

Even a perfect cold email setup can get burnt in 3-4 weeks. Without anyone noticing.

— Ilya

The second sentence is the real problem. Not that it breaks. That nobody sees it break.

So the setup is not enough. The setup buys you the first three weeks. After that, what keeps you in the inbox is a routine that runs every night.

Here is ours. Take it if it is useful.

Email accounts dashboard after a night run: five mailboxes with warm-up, bounce and placement readings, each cold limit change and the reason for it

Btw, if you’re sending outreach emails and not sure whether your emails land, we can run a free audit for you:

Cold Email Deliverability Audit

WHAT WE CHECK (every night, per mailbox)

Four readings. Nothing else.

→ Warm-up inbox rate, Google and Microsoft separately. The two do not move together. If you mix them into one number, you hide half of the problems.
→ Bounce rate over the last 400 leads. Under 150 leads we record it as "no data", never as "healthy".
→ Inbox placement, tested every 36 hours against real seed inboxes (test mailboxes we control).
→ What the mailbox actually sent yesterday. Not what it was allowed to send.

Most setups skip that last one. It is the reading that keeps the limit connected to reality.

And one reading we DO NOT act on.

Reply rate. We look at it. It never moves a limit.

We tested that six different ways. The math does not work: the median domain sends 132 emails a week and gets one reply back. One. You cannot build a rule on one data point a week.

Here is what happens if you try. That "no replies after 400 sends, kill it" rule everyone reaches for would have removed two of our domains sitting at 100% and 99.3% inbox.

Signals table: warm-up inbox rate, bounce rate, placement test and yesterday's sends can lower the limit; reply rate is measured but never used

WHAT WE CHANGE (next morning)

One thing. The cold email limit per mailbox. Warm-up never stops.

→ All good = 15 cold emails/day
→ 1 spam hit on the domain = 10
→ 2 hits = 5
→ 3+ hits = 0

→ Warm-up under 95% = one step down

→ Bounce 3 to 5% = one step down. 5 to 10% = two steps. Over 10% and we take the mailbox out of rotation.

🚨 Every signal can lower a limit. No signal can raise one. A mailbox only moves up when every reading is fine on the same night.

🔥 Zero is not off. Warm-up keeps running and the mailbox climbs back once the tests are clean. The mailbox is being treated, not switched off.

📈 Going up is slower than coming down, on purpose. Plus 1 per day, and only on the days the mailbox used 80% of what it was given.

🛑 A limit that grows on a schedule grows faster than the real sending. Then one full campaign day creates the exact jump that the slow ramp was built to prevent.

Same logic at the start: 28 days of warm-up before the first cold email, and at least six weeks from there to the full 15 a day.

Chart of one mailbox over two weeks: the allowed limit steps up only on days it sent at least 80% of its allowance

Every mailbox gets its limit with 1 sentence: "12 today: it used 92% of yesterday's 11."

So if we cut your volume, you get the reason, the size of the cut, and what will clear it. The same night.

One more rule. This one is a business decision, not a technical one. If the safe total drops below the volume a client pays for, we still cut, and we bring the gap to them as a conversation. The other option is to protect the number in the report and burn the infrastructure. Then you have no volume and broken domains.

WHEN SOMETHING BREAKS

Spam is a domain problem. One mailbox is only the place where you see it first.

When one mailbox hits spam, the other mailboxes on the same domain hit spam too, 34.1% of the time. Mailboxes of the same client on a different domain: 1.45%.

So the mailbox that showed the problem is never the thing we act on. The domain is.

→ Two spam hits on a domain = every mailbox on it drops to 50%, held for three weeks.

→ Cutting by half is enough. We checked if deeper cuts heal faster. They do not.

→ Domains that kept sending: 28.6% still had problems a month later. Domains that cut: 2.3%.

Coming back is where most people break the recovery.

→ After a clean pause, you can go back to the old level. Just keep the first week at 50%.

→ After a spam cut, never go straight back. 50% or less for two weeks, then climb.

The mistake is not the pause. It is the return. A campaign restarts with a bigger list than it had when it stopped, so a restart with no control sends 2.2 times more than before. That is what does the damage.

Domain incident timeline: cutting to 50% for three weeks leaves 2.3% of domains degraded a month later, keeping the volume leaves 28.6%

Note: we always build 10-20% more domains than the client needs for their daily volume. So a domain can rest for three weeks and the client keeps their volume.

IF YOU RUN THIS YOURSELF

The whole thing in nine lines.

→ Read four signals a day, per mailbox: warm-up (Google and Microsoft separately), bounce, placement, and what it really sent.

→ Never treat a missing reading as a healthy one.

→ Never let reply rate move a limit.

→ Change one number only: the cold limit. Warm-up never stops.

→ The strictest signal wins. Nothing can push a limit up.

→ You earn every step up: 80% of yesterday's allowance, then plus 1.

→ Cut the whole domain, never one mailbox.

→ Two hits = half the volume for three weeks. Half is enough.

→ Come back below the level where you stopped, never above it.

That is the whole system. Knowing the rules was never the hard part. Running them every night, on every mailbox, without missing one, is.

THE PART THAT IS NOT OURS

Your team owns the market, the offer, the copy, and who to contact. Nobody can do that for you.

We take care of the layer below all of that. The layer that decides if anyone ever sees your work.

IF you feel you might have issues with SPAM → book a quick deliverability audit with me. You will leave knowing what to fix and how, with or without us.

Book a quick deliverability audit

Or use this link: ilya.growth.band/quick-deliverability-audit

Ilya

Get sending infrastructure that stays out of spam

We build and run your cold email infrastructure: domains, mailboxes, daily placement checks and a rotation pool.

Ilya

Ilya AzovtsevCo-founder

Co-founder of GrowthBand. Helped scale lemlist from $20k MRR to $10M ARR and built automation at Expandi; now runs the cold email infrastructure behind 32,000+ mailboxes.