How-to

How to warm up a new sending domain

Last reviewed 21 September 2026

Warming a domain means raising volume gradually enough that a receiver can form an opinion of you before it has to make a decision about you. Publish SPF, DKIM and DMARC first, start with a few hundred a day to the people most likely to engage, roughly double every two to three days while the complaint and soft bounce rates stay flat, and reach a steady state in something like two to four weeks. There is no published ramp. The signals decide the pace, not the calendar.

A receiving provider decides what to do with your mail using a reputation attached to the domain that signs it, and a domain that has never sent anything has no reputation at all. That is not neutral. Mail from an unknown domain arriving suddenly, in volume, to addresses that have not asked for anything recently, is indistinguishable from mail sent by a domain registered this morning for one campaign — which is what most of it is. Warming is the practice of not resembling that, and it is mostly a matter of going slowly enough to be interrupted.

Know what you are warming, which is the domain

Two things get called warming and only one of them is usually yours. IP warming is about the addresses the mail physically leaves from, and at every provider that serves small senders those are shared: your few hundred messages a morning sit inside somebody else’s steady millions, and you neither build nor control that reputation. Domain warming is about the domain in the DKIM signature and the From line, which is yours alone and is the identity that carries your reputation now that authentication is a floor rather than an advantage.

So the decision that matters is not shared against dedicated IP addresses. It is which of your domains does the sending. Use a subdomain reserved for it — send.example.com, mail.example.com — and keep the root domain for the mail humans write to each other. A burned subdomain can be retired and replaced in an afternoon. A burned root domain takes your invoices, your password resets and your replies to customers with it and cannot be replaced at all.

Pick the subdomain before you publish anything, because every record in the next step hangs off it, and a warm-up run against the wrong host is a warm-up of a domain you are not going to send from.

Publish authentication before the first message, not after

SPF, DKIM and DMARC have to be in place and passing on message one. Since February 2024 Google and Yahoo have required all three of anyone sending in bulk to their users, and unauthenticated bulk mail is refused at the door rather than filed in a spam folder — a refusal, not a filtering decision, which means it never has a chance to build any reputation at all.

Check that the DKIM signature names your sending subdomain rather than your provider’s. In the headers of a delivered message the signature carries a d= value, and it should read d=send.example.com. If it reads the provider’s own domain, you are warming their reputation and not yours, and the entire exercise below is measuring somebody else’s weather.

Publish DMARC at p=none with a working address in rua= before the ramp starts, so the aggregate reports are arriving while the volume is still small enough to fix things. A policy tightened later, on top of reports nobody read, is how a sender blocks their own mail in week three.

Send the first messages to the people most likely to engage

Reputation is built out of what recipients do, so the order of your list is the most important decision in the ramp. Start with the addresses that did something recently and deliberately: bought, replied, clicked, logged in, signed up this week. Send to the least engaged part of the list last, or after a re-permission message, or not at all.

That ordering is also the honest test of whether the list is ready. If the most engaged decile produces complaints, the problem is not the ramp and no schedule will fix it. Stop and look at where the addresses came from.

Where the audience is spread across providers, keep the early batches mixed rather than sorted by domain. Reputation is per receiver: a week of clean sending that Gmail never saw tells Gmail nothing on the day you first send it two thousand messages.

Raise the volume on a ramp, not on a schedule

Neither Google nor Yahoo publishes a ramp. Both say the same thing in general terms — increase volume gradually and watch the signals as you go — so anyone quoting a daily table to three decimal places is quoting a habit rather than a rule. The shape below is that habit, written down honestly as a shape: a few hundred messages a day to the most engaged addresses, held for a couple of days, then roughly doubling every two to three days for as long as the numbers stay flat, reaching a steady state in something like two to four weeks.

What makes it a ramp rather than a schedule is that the next step is conditional on the last one. The volume does not double because three days have passed; it doubles because three days passed and nothing moved. That distinction is the entire technique, and it is the part that every published warm-up table leaves out.

The shape most senders use, written as conditions rather than as a specification
StageWhat goes outWhat has to stay flat before the next stage
Days one to threeA few hundred messages a day, to the most recently engaged addresses onlyComplaints, soft bounces and deferrals at every provider you can see
Days four to sixRoughly double the previous stage, same ordering by engagementThe same three, plus the hard bounce rate, which should be near zero on a clean list
Days seven to tenDouble again, and start including addresses that engaged a month or two agoComplaint rate well under the 0.3% ceiling, ideally around 0.1%
Days eleven to fourteenDouble again if nothing has moved; otherwise hold at the current volumeDeferrals at any single provider, which is the first sign of a pace problem
Weeks three and fourApproach normal volume, adding the least engaged addresses last or not at allEverything above, plus whatever your provider dashboard reports per domain
After thatSteady sending, with no gaps longer than a few weeksA domain that stops sending goes cold and has to be ramped again

Watch four numbers while the ramp runs

The spam complaint rate is the one that decides everything. Google asks bulk senders to keep it below 0.3% and treats 0.1% as the level to sit at, and the gap between those two figures is deliberate: a sender parked at the ceiling has no room for a single bad send. It is visible for free in Google Postmaster Tools to whoever can prove control of the domain, which makes it the cheapest instrument you will ever install.

Soft bounces and deferrals are the second. A 4xx response is a receiver saying not now rather than no, and a rise in them at one provider and nowhere else is that provider throttling you. Hard bounces are the third, and on a list that was cleaned before the ramp they should barely exist; a hard bounce rate that climbs as volume rises means the untouched part of the list is worse than the part you started with. Delivery per provider is the fourth, and it only means anything when you break it down — an aggregate that looks fine can hide one large provider quietly refusing everything.

None of these is an open rate, and that is deliberate. Open tracking stopped being a reliable signal in 2021, when Apple began preloading remote content on behalf of readers who turned Mail Privacy Protection on, so a warm-up judged by opens is judged by a number that moves for reasons that have nothing to do with you.

Two instruments worth having in place before the ramp starts, because both take days to become useful:

  • Google Postmaster Tools, which reports your complaint rate, domain reputation and authentication pass rates for Gmail, free, for a verified domain.
  • A seed list: a handful of accounts you control at the providers your readers actually use, mailed alongside a real send so you can open each one and see which folder the message landed in. Treat it as an indication rather than a measurement — seed accounts have no reading history and filtering is personalised.

Hold when a number moves, and find out what changed

The correct response to a rising complaint rate or a burst of deferrals is to stop increasing volume, not to push through and hope the next send averages it out. Averaging is exactly what does not happen: receivers weight recent behaviour, so a bad day at higher volume costs more than the good week before it earned.

Answering a deferral with more connections is the specific mistake worth naming, because it is the instinctive one. A sender that responds to being slowed down by retrying harder is confirming the pattern that caused the throttling. Send less, wait longer between attempts, and look at what went out immediately before the numbers moved — almost always a batch drawn from an older part of the list, or a subject line that surprised people, or a segment that had not heard from you in months.

Enrol in the feedback loops your provider supports, and act on every address they return the same day. A feedback loop reports the messages a provider’s users marked as spam so those addresses can be suppressed immediately, and the one thing worse than a complaint is a second message to somebody who has already made one.

Warm a domain when you have nobody to send to yet

The hardest version of this problem is a brand new domain and a list of zero, which is where most people launching a course actually stand, and it is the case every warm-up table ignores because the table assumes volume to ramp. There is nothing to double. What there is instead is a series of small, real, wanted messages: the confirmation mail to the first people who sign up, the first days of the first course, the receipts, the replies. That is a warm-up, and it is a better one than a synthetic ramp because every message in it was asked for.

What this means in practice is that the launch is the warm-up, so do not save the list up. A hundred people who sign up over three weeks and start receiving a course as they arrive is a gentler ramp than the same hundred imported and mailed on one afternoon. A course helps here by its shape: it fans out one message per subscriber per day counted from the day each person confirmed, so volume spreads across the days people happened to click rather than landing in a single hour.

Do not fabricate the engagement. Sending to accounts you control so that you can open them yourself produces a reputation built on behaviour no real reader will repeat, and the providers that matter have been reading through that particular trick for a long time.

Common questions

Do I need to warm up a domain if my provider uses shared IPs?

Yes. The shared addresses are warm already, but the domain in your DKIM signature and From line is new and carries your reputation, and that is what receivers score. Shared infrastructure means you skip IP warming, not domain warming. Check that the signature names your own sending subdomain rather than the provider’s, because if it names theirs you are building their reputation and not yours.

How many emails a day can a new domain send safely?

No provider publishes a number, and any table that gives one to the message is describing a habit rather than a rule. The habit is a few hundred a day to the most engaged addresses for the first two or three days, then roughly doubling every two to three days while complaints and soft bounces stay flat, reaching normal volume in something like two to four weeks. The pace is set by the signals, so a stage that moves a number is a stage to repeat rather than pass.

What should I do if complaints rise during a warm-up?

Stop increasing volume immediately and hold at the previous level rather than pushing through. Look at the batch that went out just before the rise: it is usually drawn from an older part of the list, or sent to a segment that has not heard from you in months. Suppress every address a feedback loop returns the same day. Receivers weight recent behaviour, so a bad day at higher volume costs more than the clean week before it earned.

Does a sending domain go cold if I stop sending for a while?

Yes, and it is the most common way people end up warming twice. Reputation is built on recent behaviour, so a domain that sends nothing for a couple of months is close to unknown again when it resumes, and resuming at the old volume looks exactly like the burst pattern warming exists to avoid. Keep some steady flow, or ramp again from a smaller base when you come back.

Warming is not a schedule you execute; it is a conversation in which the receiver answers slowly. Publish authentication first, order the list by engagement, start small, double roughly every two to three days only while the complaint and bounce rates stay flat, and expect something like two to four weeks before you are sending normally. If a number moves, hold. And if you are starting from nothing, the first real subscribers are the ramp — which is the one version of this that costs nothing and works better than the tables.

Sources

  1. Google’s email sender guidelines, which state the requirements and the thresholds
  2. Yahoo’s sender requirements and best practices
  3. Google Postmaster Tools, where the complaint rate and domain reputation are visible
  4. RFC 5321, which defines the 4xx temporary failure responses a deferral uses
  5. Apple’s documentation for Mail Privacy Protection

Read next

This page is part of Email deliverability for small senders: what decides it, which is the complete guide to the subject.

These guides are about the format rather than about any particular tool. What this site itself does is on the home page, and the rest of the set is on the guides index .

Elsewhere on this site

The rest of this site comes at the same subject from other directions: guides on the format itself, a tool for one job each, a page for each kind of work, what to check when choosing software, a course written out in full, the courses people have actually published here, and one definition or figure at a time.

Thinking of writing one of these?

5dayemail hosts a five-to-ten day email course: you write it once, and everyone who joins your list gets one email a day, in order, starting from the day they confirm.

Accounts are opened a few at a time rather than by signing up. Leave your address and you will be written to when the next ones open.

One message, when there is room. No course emails, no newsletter, and the address is not passed on. Ask and it is deleted; what is kept, and for how long, is in the privacy policy.