A schedule for ramping email volume on a fresh domain so mailbox providers learn to trust it before real traffic arrives — configuration and patience, not tooling.
When to run it
You're standing up lifecycle email on a new domain or subdomain — a client
launch, a migration off a shared IP, a mail. subdomain to isolate
marketing from transactional. Mailbox providers have no history for the
domain, and no history is treated as suspicion: full volume on day one is
the classic self-inflicted deliverability wound, and recovering a burned
domain takes far longer than warming one.
Why it works
Inbox providers score senders on the pattern of their history: volume growth, bounce rate, complaint rate, and whether recipients engage. A ramp that starts small and grows steadily is the good-sender pattern. Sending the early, small batches to your most-engaged recipients stacks the deck — their opens and clicks are the positive signals that compound into reputation, which is why warmup order matters as much as warmup volume.
The play
- Do the table stakes first: SPF, DKIM, and DMARC on the new domain, and a matching tracking domain so links resolve through it too.
- Segment by engagement — recipients who opened or clicked recently go first. Hogsend's first-party open/click tracking means you already have this data on your own sends.
- Ramp on a schedule: start in the low dozens per day, roughly double every few days, and hold volume flat for a day whenever bounces or complaints tick up.
- Suppress hard bounces immediately — a warming domain has no reputation cushion to absorb them.
- Only route real campaign volume once the ramp completes clean.
Ship it with Hogsend
Broadcast waves split a send into scheduled slices, so the ramp is configuration instead of a spreadsheet and a calendar. The engagement segment comes from your own send history.
// A warmup wave plan: the same broadcast, released in slices.
// Each wave goes to the next tranche of the engaged-first segment.
const warmupWaves = [
{ day: 1, recipients: 50 },
{ day: 3, recipients: 100 },
{ day: 6, recipients: 250 },
{ day: 9, recipients: 500 },
{ day: 13, recipients: 1_000 },
{ day: 18, recipients: 2_500 },
// hold or step back a wave if bounces/complaints rise
];Bounces and complaints flow back through the provider webhook
(email.bounced / email.complained) and suppress automatically —
campaigns and broadcasts covers waves and the
delivery events end to end.
How you'll know
Bounce rate and complaint rate per wave — bounces under a couple of
percent and complaints well under one in a thousand are the widely
published thresholds providers punish past. The engine's email.delivered
and email.opened events give you per-wave delivery and engagement
without leaving Hogsend; if a wave degrades, hold the ramp rather than
push through it.