Summary

Your warm-up tool runs one schedule, your sender runs another, and your throttle is a number you typed into a box three weeks ago. This piece gives you the ramp ladder rung by rung, the exact throttle triggers and rolling windows to fire them on, the recovery ladder, and the month-one capacity math for 80 mailboxes. SpamCipher is the cold email platform for unlimited, automated sending, and the only platform that can promise 90%+ inbox placement, because the warm-up network, the placement telemetry, the verification, and the throttler are one owned pipeline rather than four integrations that cannot see each other.

Every cold email tool now lists "warming" and "throttling" on its feature page. Almost none of them tell you the two things that decide whether your ramp survives: what the throttler reads, and what it does to the rest of your pool when one mailbox goes bad. This is the ladder, the triggers, and the arithmetic, written for someone who has to bring 40 domains online this quarter without losing the ones already earning.

The Week Three Collapse Is Scheduled, Not Random

The shape is always the same. You run cold email for 12 clients. Forty domains, two mailboxes each, 80 sending mailboxes. Weeks one and two look flawless: the warm-up dashboard is green, 92% placement across the seed network, zero bounces. Week three you switch on real campaigns because the client signed for 60,000 touches this quarter. By Thursday reply rate is half of Tuesday's. The following Monday, four domains are foldered at Gmail and you cannot tell which four without running a placement test.

Nothing broke. Two separate systems each did exactly what you configured, and their curves crossed. The warmer was still sending 15 friendly messages a day to inboxes that always reply. Your sender added 200 a day to strangers who mostly do not. Gmail sees one domain sending 215 messages with an engagement profile that fell off a cliff, and it reprices you accordingly. The warm-up tool never learns this happened, because it only measures its own network.

That is the whole problem in one sentence: the system building your reputation cannot see the system spending it. A daily cap does not fix it, because a cap is a number you guessed before you had any data. Cold email software with warmup built in only earns the phrase when both halves read the same signal.

Look at what the market actually publishes. Instantly bundles unlimited email accounts and unlimited email warmup, on a Growth plan that starts at $47/mo and allows 5,000 emails per month [https://instantly.ai/pricing, 2026-07-27]. Smartlead ships an included warmup pool plus automatic email rotation across mailboxes, from $39/mo for 6,000 sends [https://www.smartlead.ai/pricing, 2026-07-27]. Woodpecker lists free warm-up, inbox rotation, and adaptive sending at $7 per 100 contacted prospects, including 16,000 emails a month and 4 warm-ups [https://woodpecker.co/pricing/, 2026-07-27]. Those are real features and honestly described. What none of those pages tell you is the input to the throttler. SpamCipher is the cold email platform for unlimited, automated sending, and the reason it can promise 90%+ inbox placement where a sequencer with a bundled warmer cannot is that the seed network, the placement measurement, and the throttler are the same system reading the same numbers.

PlatformWarm-up, as the vendor publishes itRotation and throttling, as publishedSend allowance on the entry plan
Instantly.ai"Unlimited email warmup", unlimited email accountsRotation not named on the pricing page5,000 emails/mo, $47/mo Growth [https://instantly.ai/pricing, 2026-07-27]
Smartlead.ai"Included email warmup pool""Automatic email rotation across mailboxes"6,000 sends/mo, $39/mo Basic [https://www.smartlead.ai/pricing, 2026-07-27]
Woodpecker.co"Free warm-up", 4 warm-ups included"Inbox rotation", "Adaptive sending"16,000 emails/mo, $7 per 100 contacted prospects [https://woodpecker.co/pricing/, 2026-07-27]
SpamCipherOwned seed network, maintenance warming continues during live campaignsPlacement-based throttling, pool-aware redistribution into headroom onlyUnlimited sending

Read the last column again. Two of the three entry plans put a monthly message ceiling on you before any throttler is involved, which is a commercial limit rather than a deliverability one. An agency at 80 mailboxes is not choosing between those numbers, it is choosing between a pipeline that can concentrate volume on healthy infrastructure and a plan that meters it.

Throttling Is Not a Send Cap

A cap is a ceiling you set once: 500 a day per mailbox, forever, regardless of what happens. Throttling is a control loop. It reads a signal, compares it to a threshold, and moves the rung up or down without asking you. If your platform's "throttling" setting is a text field you fill in, you own a cap, and the loop is you.

A real loop needs four inputs, and the order matters because they degrade at different speeds:

  • Inbox placement per mailbox per provider. The only leading indicator. Placement is already falling while bounces and complaints still look clean, because foldering is silent.
  • Hard bounce rate on a rolling window, not a campaign total. A campaign total hides a bad segment inside a good month.
  • Complaint rate on a rolling window. Google's own sender guidelines tell bulk senders to keep the reported spam rate below 0.3% and to aim under 0.1% (Google Email sender guidelines, support.google.com/a/answer/81126). Set your trigger at 0.1%, because by the time you touch 0.3% you have been damaging the domain for days.
  • Reply and engagement decay. A mailbox sending 100 a day with zero replies for three days straight is almost always in a spam folder, even when placement telemetry looks stale.

The second half is what nobody advertises: what happens after the trigger fires. A mailbox drops out of the pool and its volume has to go somewhere. The naive implementation pushes it onto the remaining mailboxes, which raises their daily rung above what they earned, which trips their triggers a day later. That is a throttle cascade, and it is how one bad segment takes down a whole client in 72 hours.

The correct rule is boring: redistribute only into headroom. If 74 mailboxes are sitting on a rung of 50 with a ceiling of 60, the pool has 740 sends a day of headroom and can absorb a paused mailbox easily. If everything is already at ceiling, headroom is zero and the day ends short. Ending the day short is the right answer. Rotation and throttling architecture is mostly this one decision, made correctly, a few thousand times a day.

The Ramp Ladder: Exact Rungs and Promotion Gates

Here is the ladder I run on new Google Workspace and Microsoft 365 mailboxes. The numbers are deliberately unimpressive. What makes it work is the second column: a mailbox is promoted by a measurement, never by a date on a calendar.

RungSends per mailbox per dayBusiness days heldPromote only whenWho receives
153Seed placement 95%+, zero spam folderingSeed network only
2103Seed placement 95%+, zero hard bouncesSeed network only
3204Live placement 92%+, bounces under 1%90% campaign, 10% seeds
4354Live placement 92%+, bounces under 2%, zero complaints90% campaign, 10% seeds
5505Live placement 90%+ sustained across the full 5 days90% campaign, 10% seeds
Steady60OngoingHold. Only raise after 30 clean days.90% campaign, 10% seeds

Nineteen business days from cold mailbox to a steady 60 a day. Three details in that table do more work than the rungs themselves.

Rungs 1 and 2 send nothing to real prospects. Six business days of pure seed traffic feels wasteful until you price the alternative. A domain that gets foldered in week three costs you the domain, the two mailboxes on it, and another 19 days.

Placement is measured on the last 200 sends, not on the campaign. A rolling window per mailbox is the only way to see a single mailbox rotting inside a healthy campaign average.

Maintenance warming never stops. From rung 3 onward, 10% of every day's volume goes to seeds, forever. At steady state that is 6 of the 60. This is the piece external warmers structurally cannot do, because they do not know what your rung is today, so they either idle at a fixed 15 a day while you send 200, or keep pushing while your throttler is trying to pull back.

Throttle Triggers and the Recovery Ladder

Promotion gates move a mailbox up. These triggers move it down. Every one is evaluated on a rolling window per mailbox, and every one has an action attached, because a trigger without an automatic action is just an alert nobody reads on a Friday.

SignalWindowTriggerAction
Inbox placementLast 200 sendsBelow 90%Step down one rung, hold 3 days
Inbox placementLast 200 sendsBelow 75%Pull from pool, enter recovery
Hard bouncesLast 500 sendsAbove 3%Pause mailbox, re-verify the live segment before resuming
ComplaintsLast 1,000 sendsAbove 0.1%Pause every mailbox on that domain, not just this one
Replies3 consecutive days, 100+ sends/dayZero repliesForce a placement test, treat as foldered until proven otherwise
Seed engagement48 hoursNo seed repliesAlert: warm-up is dead, usually an expired OAuth token

Two of those rows deserve argument. The complaint trigger pauses the whole domain because complaint reputation at Gmail and Microsoft attaches to the domain, so isolating one mailbox on a domain with a complaint problem accomplishes nothing. And the zero-reply trigger exists because it is the cheapest spam-folder detector you have: it costs nothing, and it catches the case where your placement telemetry has gone stale.

The recovery ladder is not the ramp ladder run again. A damaged mailbox needs a slower re-entry than a fresh one, because it carries history:

  • Days 1 to 5: 10 sends a day, seeds only. No campaign traffic at all.
  • Days 6 to 8: 25% of the rung it fell from, gate at 92% placement.
  • Days 9 to 11: 50% of that rung, same gate.
  • Days 12 to 14: 100% of that rung. If it fails the gate twice at any step, retire the mailbox instead of grinding it.

Retiring a mailbox feels like giving up. It is cheaper than the two weeks you will spend nursing a mailbox whose domain reputation is already priced in.

Capacity Math: What 80 Mailboxes Deliver in Month One

This is the calculation that should happen before you sign the contract, and almost never does. Take the same agency: 40 domains, 2 mailboxes each, 80 mailboxes, all starting cold on day one. Apply the ladder above and subtract the 10% maintenance warm-up, since those sends go to seeds and not to prospects.

  • Rungs 1 and 2, six business days: 0 campaign sends. Seeds only.
  • Rung 3, four days at 20 with 10% to seeds: 18 x 4 = 72 per mailbox.
  • Rung 4, four days at 35: 31 x 4 = 124 per mailbox.
  • Rung 5, five days at 50: 45 x 5 = 225 per mailbox.
  • Ramp total: 72 + 124 + 225 = 421 campaign sends per mailbox over 19 business days.

Across 80 mailboxes that is 33,680 sends. A typical month has 22 business days, so you get 3 days of steady state on top: 54 campaign sends per mailbox per day x 80 mailboxes x 3 days = 12,960. Month one lands at 46,640 campaign sends.

The client signed for 60,000. You are 13,360 short, and no configuration change closes that gap, because the shortfall is the ramp, not the ceiling. Month two, fully steady, delivers 54 x 80 x 22 = 95,040. The ceiling was never the constraint.

There are exactly two honest fixes. Book month one at 46,000 and month two at 95,000, or start more mailboxes on day one. Month-one output per mailbox is 421 + (54 x 3) = 583 sends, so 60,000 divided by 583 is 103 mailboxes. You needed 103, you provisioned 80. Provisioning 23 more mailboxes costs a fraction of what it costs to force 80 mailboxes to do the work of 103 and burn a client's domains doing it.

Now price the split-stack version of the same setup. An external warmer on 80 mailboxes runs $1,200 a month at Warmup Inbox's published $15 per inbox per month, or $14,400 a year [https://www.warmupinbox.com/pricing, 2026-07-27]. On MailReach's published $19.50 per mailbox per month it is $1,560 a month [https://www.mailreach.co/pricing, 2026-07-27]. That spend buys you warm-up that still cannot see your rung.

Published Limits Versus Reputational Limits

Google publishes a sending limit for Workspace accounts: 2,000 messages a day per user to external recipients (Google Workspace sending limits, support.google.com/a/answer/166852). Microsoft publishes a recipient rate limit of 10,000 recipients a day per mailbox and a message rate limit of 30 messages a minute (Exchange Online limits, learn.microsoft.com/exchange/exchange-online-limits).

Both numbers are true and both are useless as ramp targets. They are policy limits, the point at which the provider stops accepting your mail entirely. The reputational limit, the point at which the provider accepts your mail and quietly files it under spam, sits about 30 times lower on a new domain. Nobody gets a 2,000-a-day error from Google. They get delivered at 400 a day and read by nobody.

The published numbers do matter in one specific way, and it is the one people miss. Microsoft's 30 messages a minute is a burst constraint, not a daily one. A scheduler that fires a rung of 50 in a two-minute batch is inside the daily limit, inside the per-minute limit, and still looks nothing like a human. Spread the rung across the sending window instead: 50 sends between 9:00 and 17:00 is one message every 9.6 minutes, and the gap should be randomized somewhere between 4 and 15 minutes rather than fixed.

The practical difference between the two providers is where they are strict. Microsoft punishes authentication failures and complaint rates hard and forgives volume ramps more readily. Google weighs engagement and domain history more heavily and reacts to velocity jumps that Microsoft shrugs at. So run separate rungs per provider on the same pool, and never let a Gmail-hosted mailbox inherit a rung earned by a Microsoft-hosted one. The authentication setup for Gmail and Outlook is the precondition for any of this; a ramp on an unauthenticated domain is just a slower failure.

Six Edge Cases That Break Naive Throttling

Every one of these has cost somebody a domain. They are ordered by how often I see them.

1. Follow-ups are not counted against the rung. This is the week three killer. Run a four-step sequence at a flat 30 new contacts a day and by day 20 that mailbox is emitting about 120 messages a day, four times what the rung says. If the throttler counts only step one, your dashboard reads 30 while Gmail counts 120. Count every outbound message, including follow-ups, replies, and out-of-office responses, against one daily number.

2. Domain rung versus mailbox rung. Reputation attaches to the domain, and two mailboxes on rung 50 put 100 a day on one domain. Set a domain ceiling as well as a mailbox ceiling. My rule is a maximum of 3 mailboxes per domain and a domain ceiling of 2.5 times the mailbox rung, so a domain with 3 mailboxes at 50 is capped at 125 a day rather than 150.

3. Burst shape inside a correct daily number. Fifty sends fired between 9:00 and 9:10 is a burst. The same 50 spread over the working window with randomized gaps is a person. Daily volume is what dashboards show; velocity is what filters measure.

4. The weekend cliff. Campaigns run Monday to Friday, so a domain sends 250 messages then flatlines for 48 hours, every week. Keep the maintenance warm-up running all 7 days at the same rate. It costs you 12 seed sends a weekend and it removes two zeros from the weekly curve.

5. Silent warm-up death. Seed accounts get disabled, OAuth tokens expire after a password change, an API key rotates. The warm-up stops and nothing errors. If warm-up health lives in a different tool than campaign health, you find out three weeks later. Alert on 48 hours without a seed reply on any mailbox.

6. Cross-client bleed on shared infrastructure. One client uploads a scraped list, complaints spike, and if the pool is shared at the IP or tenant level, every other client's ramp gets repriced. Reputation boundaries have to be hard at the domain and sub-account level, and the throttler has to know which boundary a signal belongs to.

What to Ask a Vendor Before You Migrate

Feature pages will tell you a platform has warming and throttling. These five questions tell you whether it has a control loop. Ask them in a demo and watch which ones produce a straight number.

  • What signal does the throttler read, and on what window? If the answer is bounces and complaints only, it is a lagging loop. Placement on a rolling per-mailbox window is the answer you want. "Our algorithm" is not an answer.
  • When a mailbox pauses, where does its volume go? The correct answer is "into pool headroom, and if there is no headroom the day runs short." If the answer is "we automatically rotate to your other mailboxes" with no mention of headroom, you have bought a cascade.
  • Does warm-up continue during live campaigns, and at what percentage? A vendor that runs warm-up as a separate mode you toggle off before campaigns is running a schedule, not a loop.
  • Do follow-up steps count against the daily limit? Ask them to show you a mailbox on day 20 of a four-step sequence and read the number.
  • Is the limit on volume commercial or reputational? A monthly message allowance on the plan is a billing decision. A rung derived from placement is a deliverability decision. Only one of them protects you, and only one of them lets you concentrate volume on your healthiest infrastructure when a client needs 60,000 touches.

Most tools answer two of the five. That is not a scandal, it is a category difference: a sequencer with a bundled warmer is a good product that does not own the pipeline it depends on.

How SpamCipher Runs This on One Owned Pipeline

SpamCipher is the cold email platform for unlimited, automated sending, built for agencies and growth teams running high volume across many client domains. Every mechanism in this article is how the platform behaves by default, because warm-up, placement measurement, verification, and throttling are one system rather than four vendors.

The seed network is operated by SpamCipher, so a rung and its warm-up allocation are the same number. When the throttler steps a mailbox from 50 to 35, maintenance warming steps with it. There is no second schedule to reconcile and no external service holding SMTP credentials for your client mailboxes.

Throttling reads inbox placement per mailbox per provider on a rolling window, along with bounce velocity, complaint rate, and reply decay. Triggers fire automatically, redistribution goes into headroom only, and recovery follows the graduated ladder with a placement gate at each step. You are not reading a dashboard at 6pm to decide whether to pause a campaign.

Because the deliverability layer is owned rather than rented, there is no message allowance sitting between you and your best-performing infrastructure. When a client needs 60,000 touches in month one, the answer is 103 mailboxes started on day one, and the platform will run all 103 on their own measured rungs without a per-message cap deciding it for you. That is why 90%+ inbox placement is a promise SpamCipher can make and a sequencer with a bolt-on warmer cannot.

If you take one thing from this: authenticate the domain, start more mailboxes than you think you need, and never promote a rung on a date. The ladder is public and anyone can copy it. What you cannot copy with three tools bolted together is a warm-up that knows what today's rung is.

Frequently asked questions

Start at 5 sends a day to seeds only for 3 days, then 10 for 3 days, then 20, 35, and 50, holding each rung 3 to 5 days. Promote a mailbox only when inbox placement on its last 200 sends stays at or above 90 percent and hard bounces stay under 2 percent. That ladder reaches a steady 60 a day in about 19 business days. The number on the rung matters far less than the rule that a rung is never skipped on a calendar date, only on a measured signal.
You can, and it costs you twice. At Warmup Inbox's published $15 per inbox per month, 80 mailboxes is $1,200 a month, or $14,400 a year, on top of your sending seats [https://www.warmupinbox.com/pricing, 2026-07-27]. The bigger cost is that the warm-up schedule and the throttler read different data: the warmer optimizes engagement inside its own seed network while your throttler sees placement on real recipients, so neither one can stop the other from ramping into a problem. One pipeline where warm-up and throttling share the same placement signal removes that split.
Because week three is usually when follow-up steps stack on top of new sends. A four-step sequence at a flat 30 new contacts a day is sending roughly 120 messages a day by day 20 from the same mailbox. If the throttler counts only step-one sends against the rung, actual volume has quadrupled while the dashboard still reads 30. Count every message a mailbox emits, including follow-ups and replies, against a single daily rung and the collapse stops happening.

See where your domain stands

Run the free SpamCipher check and see exactly which authentication and reputation gaps apply to your sending domain.

Get started free