Email Deliverability Checklist for a New Domain
You registered a fresh domain, pointed it at your ESP, imported your subscriber list, and pressed Send. Two hours later bounce rate is 14%, Gmail is throttling you, and Spamhaus has your IP under review. All because you skipped the prep work.
This checklist is the prep work. Twelve steps, roughly in order, covering everything from DNS records to the first week of live sending. Nothing theoretical — each item exists because we have seen the consequences of skipping it.
Phase 1: DNS and authentication
Publish an SPF record
SPF tells receiving servers which IP addresses are allowed to send mail from your domain. Without it, any server on the internet can claim to be you. The record lives in DNS as a TXT entry on your root domain.
Keep it under 10 DNS lookups — that is the hard limit in the spec. Every include: directive counts as one lookup. If your ESP, CRM, transactional service, and helpdesk each add an include, you are already at four. Add a couple of nested includes inside those, and you hit the ceiling fast. Use an SPF flattener if you are close to the limit.
End the record with -all (hard fail) rather than ~all (soft fail). Soft fail was a reasonable default in 2018. In 2026 it signals that you are not confident about your own sending infrastructure.
Configure DKIM signing
DKIM adds a cryptographic signature to every outgoing email. The receiving server checks the signature against a public key in your DNS. If the signature matches, the message has not been tampered with in transit.
Use a 2048-bit key. Most ESPs generate DKIM keys for you — your job is to add the CNAME or TXT record they provide. If you run your own mail server, generate the key pair yourself and rotate it every six to twelve months.
One detail people miss: if you send from multiple systems (marketing ESP, transactional service, CRM), each one needs its own DKIM selector. They can all sign for the same domain, but with separate keys.
Set up DMARC
DMARC ties SPF and DKIM together and tells receiving servers what to do with messages that fail both checks. It also gives you aggregate reports about who is sending mail from your domain — legitimate services and phishing attempts alike.
Start with p=none and a reporting address. Collect data for two to four weeks.
Move to p=quarantine once you confirm all legitimate sources pass SPF or DKIM.
Graduate to p=reject when you are confident nothing legitimate is failing. This is where maximum protection lives.
Gmail and Yahoo reject mail from domains without DMARC if the sender exceeds 5,000 messages per day. For a new domain, you will not hit that volume on day one, but set DMARC up before you need it. Fixing DNS under pressure is how mistakes happen.
Add a custom return-path and tracking domain
Most ESPs use their own domain for the return-path (envelope sender) and for click/open tracking links. That means your emails carry someone else's domain in the headers and link URLs. Mailbox providers notice this mismatch.
Setting up a custom return-path (like bounce.yourdomain.com) and a custom tracking domain (like click.yourdomain.com) aligns everything under your domain. SPF alignment improves. Tracking links stop looking like redirects through a third-party service. Two DNS records, five minutes.
Phase 2: List quality
Validate every address before the first send
A new domain has no reputation. Zero bounces and zero spam complaints in the first days are not a nice-to-have — they are survival requirements. Three hard bounces out of fifty emails on day one means a 6% bounce rate. Mailbox providers will flag you immediately.
Run your entire list through a validation service. uChecker checks syntax, MX records, mailbox existence, and flags role-based addresses, disposable domains, and known spam traps. Keep only addresses with a valid status. Move risky and catch-all addresses to a separate segment — do not include them in your warmup sends.
If a list has not been used in six months or more, expect 15-25% of addresses to be dead. Validating before launch is non-negotiable.
Remove role-based and group addresses
info@, sales@, support@, admin@ — these are not people. They are shared inboxes monitored by rotating staff. The person reading today may have no idea your company exists and will hit the spam button without hesitation.
Role-based addresses also tend to appear on multiple purchased lists, which means they frequently overlap with spam trap databases. Remove them from your launch list entirely. If they are genuinely interested in your product, get a personal contact address instead.
Segment by engagement before warmup
You cannot warm up a domain by sending to cold subscribers. The whole point of warmup is to generate strong engagement signals — opens, clicks, replies — so that mailbox providers learn to trust your domain.
Tier 1
Opened or clicked in the last 30 days. These go first during warmup.
Tier 2
Active within 30-90 days. Add them once daily volume exceeds a few thousand.
Tier 3
90-180 days of silence. Include only after the domain reaches stable reputation. Or not at all.
Phase 3: Infrastructure and monitoring
Register with Google Postmaster Tools
Postmaster Tools is the closest thing to a deliverability dashboard for Gmail, which handles a significant share of most B2C lists. It shows domain reputation (High, Medium, Low, Bad), spam rate, authentication pass rates, and delivery errors.
Set it up before you send the first email. Data takes 24-48 hours to appear. If you wait until there is a problem, you will be debugging blind for two days while reputation damage accumulates.
Separate transactional and marketing streams
Order confirmations, password resets, and shipping notifications need to arrive. Always. Marketing emails generate more complaints by nature. Sending both through the same domain and IP means that a marketing campaign with a high complaint rate can drag down delivery of your transactional mail.
Use a subdomain for marketing (mail.yourdomain.com) and keep the root domain or another subdomain for transactional messages. If you have a dedicated IP, assign separate IPs to each stream. Reputation isolation is the goal.
Set up feedback loops
Feedback loops (FBLs) notify you when a recipient marks your email as spam. Yahoo, Outlook.com, and Mail.ru all offer FBL programs. When you receive a complaint, suppress that address immediately — do not send to them again.
Gmail does not offer a traditional FBL. Instead, it provides spam rate data through Postmaster Tools. Monitor it daily during warmup. The threshold is 0.1% — one complaint per thousand messages. Stay below it.
Phase 4: The first sends
Follow a warmup schedule
Day one: 50 emails to your most engaged subscribers. Day two: 100. Day three: 200. Double the volume every day or every other day, pausing on weekends to let metrics stabilize. Send to Tier 1 first, Tier 2 in week two, Tier 3 no earlier than week three.
Monitor after every send. If bounce rate exceeds 2% or spam complaints exceed 0.1%, stop. Do not push through hoping the numbers will improve. They will not. Go back a step, investigate, clean the segment, and try again the next day at the previous volume.
A typical warmup for a list of 50,000 subscribers takes three to four weeks. Rushing it saves a few days and costs months of recovery.
Make the unsubscribe link visible
This sounds counterproductive. It is not. An unsubscribe is harmless. A spam complaint is destructive. When people cannot find the unsubscribe link, they reach for the spam button. Gmail counts spam complaints against your domain. Unsubscribes, it does not.
Add a List-Unsubscribe header with List-Unsubscribe-Post for one-click unsubscribe. Gmail and Yahoo require this for bulk senders. Put the visible unsubscribe link at the top of the email, not buried in 8px gray text at the bottom. The easier it is to leave, the less damage leavers cause.
Mistakes that wreck a launch
The same errors show up repeatedly when senders migrate to a new domain.
Sending to the full list on day one
50,000 emails from a fresh domain, and Spamhaus has your IP blocked by evening. Warmup takes weeks. Recovering from a blocklist takes months.
Setting up DMARC at the last minute
Configuring DNS under pressure is a reliable way to make mistakes. A forgotten SPF include, a wrong DKIM selector — and your first batch of emails starts failing authentication.
Warming up with inactive subscribers
The logic of "let's test on people we can afford to lose" works backwards. Near-zero engagement in the first days destroys domain reputation faster than almost anything else.
Marketing and transactional on the same IP
A marketing campaign with a high complaint rate will pull down deliverability for order confirmations and password resets. Separate the streams from day one.
After launch
Warmup ends. Reputation work does not. Three things that keep a domain in good standing long-term:
- Consistent volume. Jumping from 10,000 to 100,000 emails in a week raises flags even on a warmed-up domain. Scale by 20-30% at a time.
- Regular validation. A list loses 20-25% of its addresses per year to churn and abandonment. Check it every quarter. Cheaper than recovering from a bounce spike.
- Weekly monitoring. Postmaster Tools, bounce rate, complaint rate. A drop from High to Medium reputation is a signal to act now, not next month.
A new domain is a blank slate. The first four weeks determine whether it becomes a trusted sender or ends up in filters for months. The difference is not budget or ESP. It is preparation.
Step 5 is the quickest win
Upload your list to uChecker and find out in minutes how many addresses are invalid, risky, or pointing to spam traps.
Validate your list in uChecker