How to Warm Up a New Sending Domain Without Hurting Deliverability
A step-by-step ramp schedule for new sending domains and IPs, including the authentication setup and complaint thresholds that determine whether inbox providers trust you.
Inbox providers don’t know your new domain, and that’s the entire problem. Gmail, Outlook, and Yahoo have no reputation data on a domain that shipped its first email yesterday, so they default to caution — throttling volume, routing a chunk to spam, and watching how recipients react before deciding whether to trust you. Warmup is the process of feeding them enough good signal, slowly enough, that they upgrade you from “unknown” to “trusted” without ever triggering the defensive reflexes that get domains blacklisted.
Authentication comes before volume
None of the ramp-up schedule below matters if SPF, DKIM, and DMARC aren’t configured correctly first — this is the part teams skip because it feels like plumbing rather than strategy, and it’s the reason otherwise well-executed warmups still land in spam.
- SPF (Sender Policy Framework) needs a TXT record listing every service authorized to send on your domain’s behalf. A common failure: teams add their ESP’s SPF include but forget a secondary tool (a transactional email service, a CRM that sends on the same domain) is also sending, which causes SPF to fail for that traffic.
- DKIM (DomainKeys Identified Mail) signs each message cryptographically so receiving servers can verify it wasn’t altered in transit and genuinely came from your domain. Most ESPs generate the DKIM keys for you — the mistake is publishing the CNAME record but never verifying it resolves before sending starts.
- DMARC (Domain-based Message Authentication, Reporting and Conformance) tells receiving servers what to do when SPF or DKIM fails, and gives you visibility into who’s sending as your domain. Start with
p=nonefor the first two to four weeks so you can review the aggregate reports without risking legitimate mail being rejected, then move top=quarantineonce you’ve confirmed all legitimate senders are correctly authenticated, and eventuallyp=rejectonce you’re confident nothing is falling through.
Set all three at least a week before the first warmup email goes out. DNS propagation and the review period for DMARC reports both take time you don’t want to be burning during an active ramp.
The volume ramp, day by day
The core principle: start absurdly small, increase gradually, and never increase volume on a day when engagement metrics from the previous day looked soft. A schedule that works for most B2B senders moving off a shared IP or launching a new dedicated one:
- Days 1-3: 50 emails/day, sent only to your most engaged contacts — people who’ve opened and clicked in the last 30-60 days. This is not the day to blast your full list; it’s the day to prove to the mailbox provider that real humans want this mail.
- Days 4-7: 100-200 emails/day, still restricted to the engaged segment.
- Week 2: 500-1,000 emails/day, gradually widening the segment to include moderately engaged contacts (opened in the last 90 days).
- Week 3: 2,000-5,000 emails/day, and this is typically when you can start including recent signups who haven’t yet engaged but are fresh.
- Week 4: 10,000+ emails/day, approaching full list volume, assuming bounce and complaint metrics have stayed within threshold the entire time (see below).
Double roughly every 2-3 days rather than daily — mailbox providers are watching for a pattern that looks organic, not a straight line to full volume in a week. If you’re moving an existing high-volume sender to a new domain (a rebrand, a new product line), the same curve applies; reputation doesn’t transfer with the domain name, only with time and consistent behavior.
A worked example: warming up ahead of a Q3 product launch
Concrete numbers make the schedule easier to plan backward from a real deadline. Say a launch email needs to go to a full list of 80,000 contacts on September 15, and the sending domain is brand new. Counting back from that date using the doubling-every-2-3-days pattern: the domain needs its first 50-email send by roughly August 3-5, which means SPF, DKIM, and DMARC need to be live and verified by July 27-29 to leave the recommended week of buffer for DNS propagation and initial DMARC report review.
Working forward from that start date: Days 1-3 (Aug 3-5) at 50/day to the most-engaged segment, Days 4-7 (Aug 6-9) at 100-200/day, Week 2 (Aug 10-16) at 500-1,000/day expanding the segment, Week 3 (Aug 17-23) at 2,000-5,000/day, Week 4 (Aug 24-30) crossing 10,000/day. That lands full-volume capability by roughly August 30-September 2 — leaving a two-week buffer before the September 15 launch date to absorb any pause-and-hold delays if bounce or complaint thresholds get crossed mid-ramp, and to run at least one full send to the broader list before the actual launch email so the domain has demonstrated stability at full volume rather than hitting 80,000 for the very first time on the day it matters most. Teams that instead work forward from “we have six weeks until launch, that should be plenty” without mapping the actual day-by-day math are the ones who discover on launch week that they’re still two ramp stages behind where they need to be.
Multiple domains and subdomains: when to separate sending streams
A company sending transactional email (password resets, receipts, account notifications), marketing newsletters, and cold outbound from the same domain is mixing traffic with very different engagement and complaint profiles onto a single reputation. Transactional mail typically has near-universal opens and almost no complaints; marketing mail runs lower engagement and some unsubscribe volume even when healthy; cold outbound runs the highest complaint risk of the three. When all three share one domain’s reputation, a rough cold-outbound campaign can drag down deliverability for password reset emails that recipients are actively waiting for.
The standard fix is subdomain separation — mail.yourdomain.com for marketing, notify.yourdomain.com for transactional, outreach.yourdomain.com for cold outbound — each with its own SPF/DKIM records and, more importantly, its own reputation that inbox providers track largely independently. Each subdomain still needs its own warmup ramp; reputation doesn’t automatically inherit from a healthy root domain, though a well-established root domain does give a new subdomain a slightly friendlier starting point than a domain with zero history at all. The mistake to avoid is standing up a new subdomain for a riskier use case (a list rented for a one-time campaign, a re-engagement blast to long-dormant contacts) and warming it up on an accelerated schedule because “it’s just a subdomain” — inbox providers evaluate the sending pattern, not the perceived importance of the traffic.
The failure mode that isn’t about your own list: shared infrastructure contamination
A ramp can be executed flawlessly and still get damaged by something outside the sending team’s direct control: shared IP pool contamination. Most mid-volume senders use an ESP’s shared IP infrastructure rather than a dedicated IP, which means the domain’s deliverability is partly a function of the reputation of every other customer sharing that IP pool. A different customer on the same shared pool sending to a purchased list can suppress inbox placement for every domain warming up on that pool simultaneously, and the symptoms look identical to a self-inflicted warmup mistake — soft opens, spam foldering — which makes it easy to misdiagnose and start second-guessing a ramp schedule that was never actually the problem.
Two things reduce this risk: choosing an ESP with a genuinely well-managed shared pool (ask directly about their sender vetting and suspension policy for pool members, not just their uptime SLA), and moving to a dedicated IP once volume justifies it — generally once a program is sending 50,000+ emails per month consistently enough to maintain its own reputation without ongoing large volume, a dedicated IP removes the shared-pool variable entirely, at the cost of needing to run the full warmup ramp on that dedicated IP independently from the domain’s own warmup.
Seed lists and engagement-based sending
A “seed list” — a set of test inboxes you control across Gmail, Outlook, Yahoo, and a few others — lets you check inbox placement directly instead of guessing from aggregate metrics. Send your actual warmup campaigns to seed addresses alongside real recipients and check placement daily during the first three weeks. If mail is landing in spam at Gmail specifically, that’s actionable in a way “our unsubscribe rate went up” isn’t.
Beyond seed lists, prioritize sending order by engagement recency, not by list segment or campaign relevance. The single highest-leverage decision in a warmup is who gets the email first: contacts who opened or clicked in the last two weeks are the strongest signal you can send a mailbox provider, because their subsequent opens directly tell Gmail and Outlook “yes, keep delivering this to the inbox.” Sending cold or dormant contacts early in a warmup is the most common way teams sabotage their own ramp — a batch of unopened, unclicked, or complained-about mail in week one can undo authentication work instantly.
The thresholds that matter
Three metrics determine whether a warmup proceeds on schedule or needs to pause:
- Bounce rate: keep hard bounces under 2%. Above that, mailbox providers read it as a sign you’re sending to purchased or unverified lists, which is one of the fastest paths to a domain-level block. Run every list through an email verification pass before the first send of a warmup, not after.
- Spam complaint rate: stay under 0.1% (that’s 1 complaint per 1,000 emails), and treat 0.3% as a hard stop — pause the ramp entirely if you cross it. Gmail’s Postmaster Tools and Microsoft’s Smart Network Data Services (SNDS) both surface this data directly; check both weekly at minimum during warmup.
- Engagement rate: opens and clicks aren’t just vanity numbers during warmup — they’re the primary positive signal offsetting the risk of new-domain caution. A campaign with a 25%+ open rate in week one tells providers this is wanted mail; one with under 10% suggests the opposite, even if bounces and complaints look fine.
If any of these move outside range mid-ramp, the right move is to pause volume increases (not necessarily stop sending entirely) and hold at the current level for 3-5 days until metrics recover, then resume the ramp more conservatively than the original schedule.
Common mistakes that tank a fresh domain
The failures that show up most often aren’t exotic — they’re a handful of repeatable errors:
- Front-loading a purchased or scraped list. No amount of careful ramp scheduling survives sending to addresses that never opted in; complaint and bounce rates spike immediately and reputation damage on a new domain can take months to repair.
- Skipping the engagement-based send order and mailing the full list alphabetically or by signup date instead of by recency of engagement.
- Increasing volume on a day with soft metrics because a campaign was already scheduled. The ramp schedule is a ceiling, not a mandate — if yesterday’s send looked weak, hold volume flat today.
- Sending inconsistent volume — a burst of 5,000 emails one day and 200 the next confuses the pattern-recognition mailbox providers use to build reputation. Steady, gradual, predictable volume reads as more trustworthy than sporadic bursts even at the same average.
- Warming up with the wrong content. Pure promotional content in week one, before any relationship signal exists, tends to underperform. Transactional-adjacent or high-value content (a resource, a direct answer to something the recipient asked for) tends to earn stronger opens during the exact window when opens matter most for reputation building.
A new domain typically needs 30-45 days of disciplined ramp before it can be treated like an established sender. Rushing that timeline to hit a launch date is the single most common reason otherwise well-built email programs spend their first quarter fighting spam folder placement instead of building on a clean foundation.
Exit criteria: how to know the warmup actually worked
“Finished the schedule” and “warmed up” aren’t the same thing, and treating the calendar as the finish line rather than the metrics is a common way teams declare victory too early. Before treating a domain as fully established and removing it from active monitoring, confirm all of the following hold true, not just for the final day of the ramp but consistently across the preceding 5-7 days:
- Full list volume sustained for at least a week without bounce rate exceeding 2% or complaint rate exceeding 0.1%, with no pause-and-hold interruptions during that final week.
- Seed list placement at 90%+ inbox (not spam or promotions-adjacent folders) across Gmail, Outlook, and Yahoo specifically — the three providers responsible for the large majority of B2B inbox volume, and the three most likely to still show occasional spam placement even when aggregate metrics look clean.
- Postmaster Tools domain reputation showing “high” or “medium” rather than “low,” since Gmail’s own reputation classification is a more direct signal than inferring reputation from opens and clicks alone.
- Engagement rate stable or improving week-over-week rather than declining as volume increased — a domain that hit full send volume but saw engagement quietly drop 5-10 points along the way is showing early fatigue signs that predict a slide back into spam placement within a month or two if left unaddressed.
Once all four hold for a full week, move from daily seed-list and metric checks to a weekly cadence, but don’t stop monitoring altogether — a domain that passed warmup can still lose reputation months later from a bad list import or a poorly targeted re-engagement campaign, and the difference between catching that in week one versus month three is the same daily-monitoring discipline that got the domain through warmup in the first place.
