How Many Domains Do You Actually Need? The Data-Backed Rotation Formula

workerslab ·

You’re scaling cold outreach and someone on Reddit tells you “just buy more domains.” Cool. How many? Three? Ten? Forty?

Most teams guess. They buy a handful, warm them up, and hope it’s enough. Then one burns, volume drops, and they scramble to backfill. That’s not a system. That’s a coin flip.

There’s a formula for this. It’s based on three numbers you already know: your daily send target, the safe volume per mailbox, and the complaint ceiling Gmail enforces. Run the math once, and you’ll know exactly how many domains to buy, warm, and rotate.

The Complaint Math That Drives Everything

Gmail’s spam complaint threshold has two levels. The recommended maximum is 0.10% (1 complaint per 1,000 emails). The hard enforcement line is 0.30% (3 per 1,000). Cross that 0.30% line and Gmail rejects your mail with permanent 5xx errors. Not spam folder. Rejected.

Here’s where the math gets uncomfortable for small senders. If you’re sending 200 emails per day from a single domain and one recipient marks you as spam, your complaint rate is 0.5%. One person. You’re already past the hard ceiling.

At 100 sends per day, two complaints put you at 2%. Catastrophic.

The formula flips when you spread volume across more domains. Send those same 200 emails across four domains (50 per domain), and a single complaint on one domain gives you 2% on that domain. Still bad. But the other three stay clean, and you’ve only lost 25% of your capacity instead of 100%.

This isn’t about gaming the system. It’s about reducing the blast radius of inevitable complaints. Cold email generates complaints. Period. The question is whether one complaint takes down your entire operation or just one domain in your rotation.

The Core Formula

Here’s the whole thing. No opinions, just arithmetic.

Domains needed = (Daily send target / Sends per mailbox per day) / Mailboxes per domain

Then add 30-50% as warm-up and recovery reserve.

The variables:

  • Daily send target. Your total cold outreach volume per day.
  • Sends per mailbox per day. Industry data from Instantly, MailReach, and Smartlead converges on 30-50 as the safe range for warmed mailboxes. Going above 50 per inbox per day degrades deliverability.
  • Mailboxes per domain. Two to three is standard. More than three mailboxes on a single domain concentrates too much sending reputation risk.

Let’s run it for three common scenarios.

Scenario 1: Solo SDR, 100 Emails Per Day

You’re one person prospecting 100 contacts daily.

  • 100 sends / 40 per mailbox = 2.5 mailboxes (round up to 3)
  • 3 mailboxes / 2 per domain = 1.5 domains (round up to 2)
  • Add 50% reserve: 3 domains total

Three domains, two mailboxes each, six total sending accounts. Each mailbox handles roughly 17 emails per day. Plenty of headroom under the 50-per-mailbox ceiling.

Why three and not two? Because when (not if) one domain needs rest or gets flagged, you still have two running at full capacity. You lose 33% of your sending power instead of 50%.

Total monthly cost: three domains (~$4/month), six Google Workspace accounts at $7/user on the annual plan ($42/month), warm-up tool ($30/month). About $76/month.

Scenario 2: Sales Team, 500 Emails Per Day

Five SDRs, each sending 100 emails per day. Total team volume: 500.

  • 500 sends / 40 per mailbox = 12.5 mailboxes (round up to 13)
  • 13 mailboxes / 3 per domain = 4.3 domains (round up to 5)
  • Add 40% reserve: 7 domains total

Seven domains, three mailboxes each, twenty-one sending accounts. Each mailbox handles about 24 emails per day. Comfortable margins.

With seven domains in rotation, you can rest one domain at any time and still cover volume with six. That’s built-in redundancy without overbuying infrastructure.

Scenario 3: Agency, 2,000 Emails Per Day

You’re managing outbound for multiple clients. High volume, high stakes.

  • 2,000 sends / 40 per mailbox = 50 mailboxes
  • 50 mailboxes / 3 per domain = 16.7 domains (round up to 17)
  • Add 40% reserve: 24 domains total

Twenty-four domains. Seventy-two mailboxes. Each inbox sends about 28 emails per day. Well within safe limits.

At this scale, you’re also segmenting domains by client to prevent cross-contamination. If one client’s list generates complaints, only their domains take the hit.

The Warm-Up Tax: Why Reserve Domains Aren’t Optional

The formula above includes a 30-50% reserve. That’s not padding. It’s operational necessity.

New domains need 3-4 weeks of warm-up before they can carry cold outreach. Instantly recommends starting at 5-10 emails per day and scaling to 40-50 over four weeks. MailReach suggests similar timelines with a focus on engagement signals before touching cold lists.

That warm-up window means your reserve domains aren’t sitting idle. They’re in the pipeline, building reputation so they’re ready when an active domain needs to rotate out. Without reserves, a burned domain creates an immediate capacity gap that takes a month to fill.

Think of it like a relay team. While one runner is resting, the next one is already at speed. If you don’t have anyone on deck, you stop running entirely.

Active domains should rotate to rest after 4-6 months of cold sending, based on common deliverability best practices. During rest, they receive warm-up-only traffic for 4-6 weeks while negative signals decay. Then they cycle back into active rotation. Your reserve domains fill the gap during these transitions.

What Happens When You Under-Buy

A team I worked with tried running 800 daily sends across three domains with two mailboxes each. Six inboxes, each pushing 133 emails per day. Nearly triple the safe limit.

Within two weeks, two of the three domains showed “Needs Work” compliance status in Google Postmaster Tools. Their inbox placement on Gmail dropped below 50%. They’d burned two-thirds of their infrastructure because they didn’t want to spend an extra $200/month on proper domain coverage.

The recovery cost them 6 weeks of reduced capacity while they bought, authenticated, and warmed up replacement domains. Six weeks at reduced volume for a team generating $3,000/week in pipeline. You can do the math on what they lost versus what they saved.

Under-buying domains is the most expensive budget cut in cold outreach.

The Complaint Buffer: Sizing for Real-World Rates

Here’s a more granular way to think about domain count. Start with the complaint math.

Gmail’s hard ceiling: 0.30% complaint rate. Average spam complaint rate across email campaigns: roughly 0.07%, per the GDMA Email Benchmark 2024, though cold email campaigns typically run higher. Your actual complaint rate depends on targeting quality, copy, and how aggressively you’re prospecting.

If your average complaint rate is 0.10% and the ceiling is 0.30%, you’ve got a 0.20% buffer. That sounds comfortable until you realize how thin it gets at low volumes.

At 50 sends per day from one domain, a single complaint gives you a 2% rate for that day. Gmail’s measurement window smooths this over time, but clustered complaints in a short window still trigger flags.

The buffer gets safer as per-domain volume increases, but you can’t increase per-domain volume without risking deliverability. So the answer is more domains at moderate volume, not fewer domains at high volume. Always.

Putting It Into a Spreadsheet

Here’s the quick-reference table. Find your daily volume, read across.

Daily sends Mailboxes needed (at 40/day) Domains (at 3 mailboxes) With 40% reserve Monthly infra cost (approx.)
100 3 1 2-3 $60-80
250 7 3 4-5 $120-160
500 13 5 7 $200-280
1,000 25 9 13 $400-520
2,000 50 17 24 $750-1,000

These costs include domain registration, Google Workspace accounts, and warm-up tooling. Compare them to the cost of a burned sender domain, which runs $40,000-60,000 in lost pipeline and recovery time.

Authentication: Every Domain, No Shortcuts

Each domain in your rotation needs a complete authentication stack. SPF, DKIM, and DMARC. All three. On every domain. Gmail rejects non-compliant senders with permanent 550 errors now. Microsoft enforces the same requirements.

This is the part that makes teams groan. Setting up authentication on 7 domains takes longer than setting it up on 2. But it’s table stakes. An unauthenticated domain in your rotation doesn’t just underperform. It actively damages the domain it shares sequences with if prospects see inconsistent authentication signals.

Budget 30-45 minutes per domain for DNS configuration. Automate it with a checklist. After the third one, you’ll have it memorized.

Validation Before Volume

Domains are infrastructure. Validation is the fuel quality. You can have perfect domain rotation and still burn everything if your lists are dirty.

The cold email deliverability playbook covers the full pre-send workflow, but here’s the short version: validate every address through three-layer verification (syntax, MX lookup, SMTP handshake) before it touches any mailbox in your rotation. MailCop confirms each address exists at the moment of verification, not whenever an enrichment tool last scraped it.

Your sender score after skipping validation drops 20-30 points from a single dirty campaign. That hits every domain in your rotation if you’re running the same list across multiple accounts.

Clean lists protect your entire infrastructure. Dirty lists contaminate it. Doesn’t matter how many domains you have if the addresses you’re sending to don’t exist.

Warm-Up Meets Validation: Both or Neither

Some teams warm up religiously but skip validation. Others validate every address but send from day-old domains with zero reputation. Both approaches fail. Email warm-up vs validation covers why in detail, but the summary: warm-up builds the reputation your domain needs to reach the inbox. Validation prevents the bounces that destroy it. Skip either one and the other can’t save you.

For your domain rotation, this means every domain in your fleet needs both: a completed warm-up cycle before it enters active rotation, and clean, validated lists flowing through it once it’s live.

The Formula, One More Time

  1. Take your daily send target.
  2. Divide by 40 (safe sends per mailbox per day).
  3. Divide by 3 (mailboxes per domain).
  4. Multiply by 1.4 (40% reserve for warm-up and recovery).
  5. Round up.

That’s your domain count. Buy them, authenticate them, warm them up on a staggered schedule so they don’t all need rotation at the same time, and validate every list before it touches any of them.

Not complicated. Just disciplined.