Olympus Docs
CookbookUI & content

Warm up a new sending domain

Build sender reputation before high-volume sends

New domain sending email? Your reputation is zero. Mailbox providers (Gmail, Outlook) treat you as suspicious. Sudden burst from new sender = spam folder.

Warm-up: gradually increase volume over 4-6 weeks.

Schedule

Day 1:    100 emails
Day 2:    150
Day 7:    1,000
Day 14:   5,000
Day 21:   10,000
Day 28:   50,000
Day 35:   100,000

Roughly double weekly. Adjust per ESP's recommendations.

DNS first

Before warming, set up SPF, DKIM, DMARC:

acme.com SPF: v=spf1 include:_spf.your-ESP.com -all
default._domainkey.acme.com DKIM: v=DKIM1; k=rsa; p=...
_dmarc.acme.com DMARC: v=DMARC1; p=quarantine; rua=mailto:dmarc@acme.com

Without these, you're flagged regardless of volume.

Initial sends: warm contacts

Day 1: send to people you KNOW will open / interact:

  • Your own team.
  • Beta testers.
  • Existing customers you have permission to email.

Positive engagement boosts reputation.

DON'T:

  • Send to a purchased list.
  • Send to old / cold contacts.

Monitor metrics

Watch:

  • Bounce rate: < 2% target.
  • Spam complaints: < 0.1%.
  • Open rate: > 30%.
  • Reply rate: > 5%.

If any deteriorate: pause, investigate. Don't push through.

# ESP webhooks track these
curl $ESP/stats?domain=acme.com

Volume increase rules

Increase IF:

  • Bounce rate stable / decreasing.
  • Spam complaints near 0.
  • Engagement healthy.

Hold (don't increase) IF:

  • Bounce > 5%.
  • Spam complaints > 0.1%.

Decrease IF:

  • Bounces continue.
  • Inboxing dropping.

Subdomain delegation

For high-volume marketing AND transactional:

  • noreply@acme.com, transactional (high inboxing needed).
  • marketing@list.acme.com, bulk marketing.

Different subdomains have different reputations. Transactional doesn't suffer from marketing's bulk patterns.

Olympus emails: transactional → use mail.acme.com or noreply@acme.com.

ESP automated warm-up

Some ESPs (SendGrid, Postmark) automatically pace sends during warm-up. Enable:

sendgrid.send({ ..., ip_pool_name: "warmup-pool" });

ESP gates throughput. Less manual work.

Move to dedicated IP later

For high volume (50k+/day), consider dedicated IP:

Shared IP: pool of senders. Other senders' problems affect you.
Dedicated IP: your reputation only.

ESPs offer dedicated for $50-300/mo. Worth it at scale.

Bounces during warmup

Hard bounces should drop:

Day 1: 5% bounces (old list, lots of invalid).
Day 14: 1% (improving).
Day 28: 0.3% (clean list).

If bounces stay high: your list is bad. Clean it.

Spam complaint thresholds

Mailbox providers' tolerance:

  • Gmail: ~0.3% complaints triggers issues.
  • Outlook: ~0.5%.
  • Yahoo: ~0.5%.

Over: deliverability drops. Below: gradual reputation improves.

Engagement as proxy

If your emails are opened / clicked / replied to:

  • Providers see engagement = "users want this."
  • Reputation improves.

If not opened:

  • Providers see "user doesn't want this."
  • Reputation degrades.

Send fewer / better emails > more / mediocre.

Tools

Run before each warm-up phase.

For customer's white-label domain

If your B2B customer adds their domain (white-label):

  • They handle warm-up.
  • You can provide guidance.
  • Start them slow.
<Banner intent="info">
  Your domain {customer.domain} is new. Start with 100 emails / day for the first week to build reputation.
</Banner>

Don't migrate domains casually

Switching from your-saas.com to mail.your-saas.com = re-warm-up. Even if it's similar / same TLD.

Plan migrations.

Maintain reputation

Once warmed:

  • Don't send to cold lists.
  • Clean bounces from list.
  • Honor unsubscribes.
  • Monitor weekly.

Reputation can degrade in weeks if you slip.

On this page