Email Deliverability
Overview
Deliverability is the foundation on which all outbound email rests. Without it,
the best copy, the most sophisticated sequence, and the highest-quality list
produce zero pipeline — because the email never reaches the inbox. The inbox
placement rate is the single most important metric in cold email, and it is
entirely a function of technical configuration plus ongoing reputation
management.
This skill produces a deliverability setup and monitoring plan: DNS
authentication configuration (SPF, DKIM, DMARC), a 4-week warmup schedule
with per-week volume targets, reputation monitoring protocols, bounce and
complaint handling procedures, and a deliverability health dashboard
definition. It covers the full lifecycle from initial setup through ongoing
maintenance.
The non-obvious rule: most deliverability problems are not technical. They are
behavioral. Sending too many emails too fast, sending to unverified addresses,
sending from a primary domain, or ignoring bounce spikes will defeat even
perfect DNS configuration. Deliverability is 30% setup and 70% discipline.
CRITICAL: Never describe validation internals. Email validation is a blackbox
subject — this skill covers the strategy of validation (when to validate,
how to handle results) but NEVER describes how validation algorithms work.
When to Use
- User says "set up SPF/DKIM/DMARC" or "configure DNS for email" →
activate this skill
- User asks "how do I warm up a domain" or "what's the warmup schedule" →
activate this skill
- User reports "my emails are going to spam" or "open rates dropped" →
activate this skill
- User asks about "bounce rate targets," "complaint handling," or
"reputation monitoring" → activate this skill
- User wants to "check domain reputation" or "set up DMARC monitoring" →
activate this skill
- User asks "how many emails per day per mailbox" → activate this skill
Do NOT use for:
- Buying and configuring secondary domains and mailboxes →
use
domain-infrastructure
- Selecting a sending platform → use
sending-platforms
- Designing the email sequence → use
cold-email-strategy
- Writing email copy → use
cold-email-copywriting
Authoritative Foundations
This skill draws from the following established methodologies:
Google Postmaster Tools — The authoritative source for Gmail deliverability
data. Provides domain-level spam rate, IP reputation, domain reputation,
feedback loop data, authentication status, and encryption status. Every
sending domain must be registered here. Google processes ~45% of B2B email
— if your Gmail deliverability is broken, your outbound is broken.
Microsoft SNDS (Smart Network Data Services) — The equivalent for
Outlook/Hotmail/Office 365. Provides IP-level reputation data, spam
complaint rates, and trap hits. Microsoft processes ~20% of B2B email.
Combined with Google Postmaster Tools, these cover ~65% of all B2B inboxes.
M³AAWG (Messaging, Malware, Mobile Anti-Abuse Working Group) — Industry
best practices for email sending. Their guidelines inform the volume limits,
authentication requirements, and complaint thresholds used by all major
inbox providers and email service providers.
Validity / Return Path — Email certification and reputation data.
Industry-standard Sender Score (0-100) used by many inbox providers as a
reputation input. Sender Score above 90 is good; below 70 is concerning;
below 50 will cause widespread blocking.
RFC 7208 (SPF), RFC 6376 (DKIM), RFC 7489 (DMARC) — The IETF standards
that define these protocols. This skill describes compliant configurations,
not every possible variation.
Eric Nowoslawski (Growth Engine X) — Agency-scale deliverability defaults:
2 inboxes/domain, 30 sends/inbox/day baseline, 3-week warmup, 50% backup
capacity, 1:1 active-to-backup inbox ratio. → ../cold-email-strategy/references/eric-nowoslawski-outbound.md
Eric Nowoslawski — Growth Engine X Cold Email Infrastructure. Operational
defaults for agency-scale outbound: 2 inboxes per domain, 30 sends/day/inbox
baseline (escalate only on winning campaigns with ~1 positive per 50 sends),
3-week warmup minimum, 50% spare capacity always warming, 1:1 backup
rule (backup inboxes = active sending capacity for zero-downtime swap). Burned
inboxes are not reliably recyclable — provision fresh capacity. Canonical playbook →
../cold-email-strategy/references/eric-nowoslawski-outbound.md.
Prerequisites
- Run
domain-infrastructure first — you need domains and mailboxes to
configure deliverability for
- Required user inputs: sending domains, mailbox credentials/providers,
current sending volume if already active
- Access required: DNS management console for each sending domain, admin
access to Google Workspace / M365 / Zoho for mailbox configuration
- Optional: LeadMagic API key for pre-send email verification (verify
addresses before adding to sequences to maintain low bounce rates)
- Reference files:
references/deliverability-primer.md for detailed
warmup schedules and sending limits
Step-by-Step Process
Phase 1: Intake
Gather the following from the user. Ask all questions at once:
Sending domains: List all domains being used for cold email. Confirm
these are SECONDARY domains — never the primary business domain.
Mailbox details: For each domain, how many mailboxes? Which provider
(Google Workspace, M365, Zoho, other)? Are they already sending or new?
Current volume: How many emails per day per mailbox currently? If
already sending, what's the current bounce rate, spam complaint rate,
open rate, reply rate?
DNS access: Who controls DNS? Do they have access to add SPF, DKIM,
DMARC records? Which DNS provider?
Current authentication status: Are SPF, DKIM, DMARC already configured?
If yes, what are the current records? If not, this is step one.
Sending platform: Which platform (Smartlead, Instantly, Salesforge,
Apollo, other)? Different platforms have different warmup capabilities
and authentication requirements.
Deliverability issues: Any known problems? Emails going to spam?
Blacklisting? Sudden open rate drops? Specific domains blocking?
Compliance requirements: GDPR, CAN-SPAM, CASL, other regulations?
This affects list practices and unsubscribe handling.
Phase 2: Research
Before configuring, audit the current state:
DNS audit: Check current SPF, DKIM, DMARC records for all sending
domains. Use dig TXT [domain] for SPF, dig TXT [selector]._domainkey.[domain]
for DKIM, dig TXT _dmarc.[domain] for DMARC. Document what exists
and what's missing.
Blacklist check: Run all sending IPs and domains through MXToolbox,
Spamhaus, Barracuda, and SURBL blacklists. If any domain or IP is listed,
that's the first priority to address before sending resumes.
Reputation check: If domains have been sending, check Google
Postmaster Tools for domain reputation, spam rate, and feedback loop.
Check Microsoft SNDS for IP reputation. Check Sender Score (Validity)
for overall score. Document the baseline.
Bounce analysis: If currently sending, pull bounce data for the last
30 days. Categorize bounces: hard bounce (invalid address), soft bounce
(mailbox full, server issue), block (spam filter rejection). Calculate
rates per mailbox and per domain.
Spam complaint analysis: Pull complaint data from the sending platform
and Google Postmaster Tools. Industry target: under 0.1% complaint rate
(1 complaint per 1,000 sends). Above 0.3% triggers Google spam filtering
regardless of authentication.
Inbox placement test: If possible, use GlockApps, MailGenius, or
Mail-Tester to send test emails and see where they land (inbox, spam,
promotions, missing) across Google, Microsoft, Yahoo, and other providers.
Phase 3: Execution
Step 1: Configure SPF
SPF (Sender Policy Framework) tells receiving servers which IP addresses and
hostnames are authorized to send mail on behalf of your domain.
Create/update the TXT record at the domain root:
For dedicated sending IPs (recommended for high volume):
v=spf1 ip4:[your_sending_ip] -all
For sending platforms with shared IPs (most SMB outbound):
v=spf1 include:[platform_spf_host] -all
Common platform SPF includes:
- Google Workspace:
include:_spf.google.com
- M365:
include:spf.protection.outlook.com
- Smartlead:
include:_spf.smartlead.ai
- Instantly:
include:_spf.instantly.ai
- Salesforge:
include:spf.salesforge.ai
Rules:
- Use
-all (hard fail) for cold sending domains, not ~all (soft fail).
You want receiving servers to reject unauthorized mail, not mark it as
suspicious.
- One SPF record per domain. If you already have an SPF record, merge the
includes into a single record.
- No more than 10 DNS lookups per SPF record (the include chain counts).
If you exceed this, use subdomain-specific SPF records.
- The
+ or - qualifier on all must be the last mechanism.
Step 2: Configure DKIM
DKIM (DomainKeys Identified Mail) adds a cryptographic signature to each
email, proving the message wasn't altered in transit.
For Google Workspace:
- In Google Admin console, go to Apps → Google Workspace → Gmail →
Authenticate email.
- Generate a DKIM key for your domain. Google provides the DNS record.
- Add the TXT record at
google._domainkey.[domain] with the value
Google provides.
- After DNS propagation (up to 48 hours), click "Start Authentication"
in Google Admin.
For M365:
- In Microsoft 365 Defender portal, go to Email & Collaboration →
Policies & Rules → Threat Policies → Email Authentication Settings → DKIM.
- Select your domain, enable DKIM, and copy the CNAME records.
- Add CNAME records:
selector1._domainkey.[domain] and
selector2._domainkey.[domain] pointing to the Microsoft-provided targets.
For Zoho:
- In Zoho Mail Admin, go to Email Authentication → DKIM.
- Generate keys and add the provided TXT record.
Key selection: Use a distinct DKIM selector for each sending platform
(e.g., google._domainkey, smartlead._domainkey). This allows independent
key rotation without breaking other services.
DKIM key length: 2048-bit minimum. 1024-bit keys are deprecated and
increasingly rejected by major inbox providers.
Step 3: Configure DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) tells
receiving servers what to do when SPF or DKIM fails and provides aggregate
reports on authentication results.
Create the TXT record at _dmarc.[domain]:
Starting configuration (monitoring mode):
v=DMARC1; p=none; rua=mailto:dmarc-reports@[yourdomain].com; ruf=mailto:dmarc-forensics@[yourdomain].com; fo=1;
After 2-4 weeks of monitoring with zero issues, move to quarantine:
v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@[yourdomain].com;
Eventual target (full protection):
v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@[yourdomain].com;
Rules:
- Start with
p=none — you need monitoring data before enforcement.
- Set up
rua to a real email address that receives DMARC aggregate reports
(XML files). Use services like DMARCIAN, Postmark DMARC, or Valimail to
parse these into human-readable dashboards.
- After 2-4 weeks of clean monitoring (no legitimate mail failing auth),
move to
p=quarantine for another 2-4 weeks.
p=reject is the goal but only after full confidence. A misconfigured
reject policy will silently discard legitimate mail.
pct=100 means apply the policy to 100% of mail. Use pct=25 or
pct=50 to gradually roll out enforcement.
Step 4: Design the Warmup Schedule
New domains and mailboxes need 2-4 weeks of warmup before sending cold
email at full volume. Warmup builds a positive reputation by sending small
volumes to known-engaging addresses, establishing a pattern of high engagement
before introducing colder contacts.
Week 1 — Foundation (Days 1-7):
- Daily volume: 5-10 emails per mailbox
- Recipient composition: 100% warm (internal team, friends, colleagues,
test accounts) who will open and reply
- Sending pattern: spread across the day, not all at once
- Goal: establish initial engagement signal
Week 2 — Gradual Increase (Days 8-14):
- Daily volume: 15-25 emails per mailbox
- Recipient composition: 70% warm, 30% lukewarm (known contacts, past
conversations, opted-in lists)
- Sending pattern: spread across business hours
- Goal: build volume tolerance while maintaining high engagement
Week 3 — Introducing Cold (Days 15-21):
- Daily volume: 30-40 emails per mailbox
- Recipient composition: 50% warm/lukewarm, 50% cold (verified addresses,
Tier 3 personalization, highest-quality leads first)
- Sending pattern: normal business hours
- Goal: transition to cold sending without engagement cliff
Week 4 — Full Volume (Days 22-28):
- Daily volume: 40-50 emails per mailbox
- Recipient composition: 20% warm/lukewarm, 80% cold
- Sending pattern: optimized for recipient time zone
- Goal: sustained reputation at full capacity
Important: If at any point during warmup the bounce rate exceeds 2% or the
spam complaint rate exceeds 0.1%, pause the escalation and stay at the
current volume until resolved.
Using platform-based warmup (Smartlead, Instantly, Salesforge): Most platforms
include automated warmup that sends to their network of warmup addresses.
This is a supplement, not a replacement for the manual warmup above.
Automated warmup builds base reputation; manual warmup with real contacts
builds domain-specific engagement patterns.
NEVER use automated warmup as the sole warmup method. The warmup network
addresses are known to inbox providers — engagement with them is weighted
lower than engagement with real, diverse contacts.
Step 5: Set Up Reputation Monitoring
Ongoing monitoring is not optional. Set up the following:
Google Postmaster Tools: Register every sending domain. Check weekly
at minimum. Key metrics to monitor:
- Spam rate: must stay under 0.1% (target <0.05%)
- Domain reputation: must stay "high" or "medium-high"
- Feedback loop: watch for complaint spikes
- Authentication: all DKIM/SPF should show "pass"
Microsoft SNDS: Register every sending IP. Check weekly. Watch for:
- Spam complaint rate: under 0.1%
- Trap hits: zero is the only acceptable number
- Block status: any block requires immediate investigation
Blacklist monitoring: Use MXToolbox or similar to check major
blacklists weekly. Automate with alerts. Blacklists to monitor:
- Spamhaus (SBL, XBL, PBL)
- Barracuda
- SURBL
- SpamCop
- Invaluement
- UCEPROTECT
Sending platform metrics: Monitor in-platform deliverability metrics
daily:
- Delivery rate (target: >98%)
- Bounce rate (target: <2%, warning at 3%, critical at 5%)
- Spam complaint rate (target: <0.1%, critical at 0.3%)
- Open rate trends (a sudden 30%+ drop signals deliverability issue)
- Inbox placement rate (if platform provides)
DMARC aggregate reports: Parse the XML reports from rua to track:
- Which IPs are sending on your behalf (authorized and unauthorized)
- SPF and DKIM pass/fail rates
- Spoofing attempts (someone else sending as your domain)
- Gradual DKIM alignment failures (key rotation issues)
Step 6: Establish Bounce and Complaint Handling Procedures
Use references/bounce-complaint-procedures.md for the full procedure library. Main output should include bounce thresholds, complaint thresholds, owner, escalation route, and stop conditions.
Phase 4: Delivery
Deliver a complete deliverability setup and monitoring plan:
DNS Configuration Spec: Exact SPF, DKIM, DMARC records to add,
formatted for copy-paste into the DNS console.
Warmup Calendar: Week-by-week volume targets, recipient composition,
monitoring checkpoints. Formatted as a calendar with daily targets.
Monitoring Dashboard Spec: What to track, where, how often, and
what thresholds trigger action.
Incident Response Plan: For bounce spikes, complaint spikes,
blacklisting, and domain reputation drops. What to do in the first
hour, first day, first week.
Quarterly Audit Checklist: Deliverability degrades over time.
A quarterly audit prevents silent decay.
Output Format
# Deliverability Setup Plan for [Company]
## Output Artifact Details
Use `references/output-artifacts.md` for the full audit, DNS configuration, warmup schedule, monitoring dashboard, incident response plan, and quarterly audit checklist. The main output must summarize current risk, DNS status, ramp schedule, alert thresholds, and owner.
## Quality Check
Before delivering, verify:
- [ ] Are SPF, DKIM, DMARC records provided in copy-paste format?
- [ ] Does SPF use `-all` (hard fail), not `~all`?
- [ ] Is DKIM using 2048-bit keys minimum?
- [ ] Does DMARC start with `p=none` and plan to progress to `p=reject`?
- [ ] Is the warmup schedule 2-4 weeks with per-week volume targets?
- [ ] Does the plan NEVER recommend sending cold from the primary domain?
- [ ] Are bounce thresholds clear (target <2%, warning 2-5%, critical >5%)?
- [ ] Are complaint thresholds clear (target <0.1%, critical >0.3%)?
- [ ] Is Google Postmaster Tools registration included?
- [ ] Is blacklist monitoring included with specific blacklists named?
- [ ] Does the incident response plan have time-based escalation steps?
- [ ] Is there a quarterly audit checklist?
- [ ] Are unsubscribe requirements specified (CAN-SPAM, GDPR)?
- [ ] Is email validation mentioned but NEVER described internally?
## Common Pitfalls
1. **Sending cold email from the primary business domain.** One spam
complaint, one blacklisting event, and your transactional emails
(password resets, invoices, customer notifications) are broken.
This is the #1 deliverability mistake and it is catastrophic when
it happens. Always use secondary domains for cold outreach.
2. **Skipping warmup.** A new domain sending 50 emails on Day 1 gets
flagged within 48 hours. Google and Microsoft's algorithms interpret
sudden volume from a new domain as spam behavior. No amount of
authentication quality overrides the volume pattern.
3. **Soft DMARC (`p=none`) forever.** Many teams set `p=none` and never
progress to enforcement. This is better than nothing but leaves the
domain vulnerable to spoofing. Have a plan to reach `p=reject` within
8 weeks of clean monitoring.
4. **Ignoring bounce rate creep.** A bounce rate that creeps from 1% to 3%
over months is easy to miss because it's gradual. But inbox providers
catch it. Set a weekly bounce rate review and a hard alert at 3%.
5. **No email verification before sending.** Every unverified address in a
sequence is a potential bounce. Bounces above 5% trigger spam filtering
at Google and Microsoft, and recovery takes weeks. Always verify before
sending.
6. **Warmup-only via platform networks.** The automated warmup networks
(warmup pools) are known to inbox providers. They're a supplement, not
a replacement. Real engagement from real, diverse contacts builds
stronger reputation than automated warmup alone.
7. **No DMARC reporting.** Without `rua` reports, you don't know who is
sending on your behalf. You won't catch spoofing attempts, gradual
DKIM alignment failures, or misconfigured third-party senders until
they cause a deliverability crisis.
8. **Too many mailboxes per domain.** When one mailbox on a domain gets
flagged for spam, it affects the domain reputation — which affects
all mailboxes on that domain. Limit to 2-3 mailboxes per domain to
contain blast radius.
## Sending Limits Reference
Use `references/sending-limits-reference.md` for provider-specific sending limits. Keep the primary output focused on safe ramping, monitoring thresholds, DNS auth, and incident response.
## Execution Artifacts
- `references/framework-notes.md` — Framework index and authority routing
- `templates/output-template.md` — Deliverable shell for agent output
- `scripts/check-output.py` — Lightweight deliverable validator
- `../cold-email-strategy/references/eric-nowoslawski-outbound.md` — Infra at scale, backup inbox strategy, volume escalation rules (Eric Nowoslawski)
- `references/bounce-complaint-procedures.md` — Bounce and complaint handling SOP
- `references/deliverability-primer.md` — Deliverability fundamentals
- `references/output-artifacts.md` — Extended output tables and inventories
- `references/sending-limits-reference.md` — Provider sending limits reference
## Related Skills
- `domain-infrastructure` — adjacent workflow to use before or after this skill
- `sending-platforms` — adjacent workflow to use before or after this skill
- `cold-email-strategy` — adjacent workflow to use before or after this skill
- `campaign-analytics` — adjacent workflow to use before or after this skill
1---2name: email-deliverability3description: Sets up and monitors email deliverability infrastructure including SPF, DKIM, DMARC configuration, warmup strategy, reputation monitoring, bounce and complaint handling, and ongoing deliverability health. Use when the user asks about email deliverability, SPF/DKIM/DMARC setup, warmup schedules, bounce rate troubleshooting, spam placement issues, or domain reputation. Activates on phrases like "improve deliverability," "emails going to spam," "warmup my domain," "DNS setup for cold email," "bounce rate," or "DMARC setup."4license: MIT5---67# Email Deliverability89## Overview1011Deliverability is the foundation on which all outbound email rests. Without it,12the best copy, the most sophisticated sequence, and the highest-quality list13produce zero pipeline — because the email never reaches the inbox. The inbox14placement rate is the single most important metric in cold email, and it is15entirely a function of technical configuration plus ongoing reputation16management.1718This skill produces a deliverability setup and monitoring plan: DNS19authentication configuration (SPF, DKIM, DMARC), a 4-week warmup schedule20with per-week volume targets, reputation monitoring protocols, bounce and21complaint handling procedures, and a deliverability health dashboard22definition. It covers the full lifecycle from initial setup through ongoing23maintenance.2425The non-obvious rule: most deliverability problems are not technical. They are26behavioral. Sending too many emails too fast, sending to unverified addresses,27sending from a primary domain, or ignoring bounce spikes will defeat even28perfect DNS configuration. Deliverability is 30% setup and 70% discipline.2930CRITICAL: Never describe validation internals. Email validation is a blackbox31subject — this skill covers the strategy of validation (when to validate,32how to handle results) but NEVER describes how validation algorithms work.3334## When to Use3536- User says "set up SPF/DKIM/DMARC" or "configure DNS for email" →37 activate this skill38- User asks "how do I warm up a domain" or "what's the warmup schedule" →39 activate this skill40- User reports "my emails are going to spam" or "open rates dropped" →41 activate this skill42- User asks about "bounce rate targets," "complaint handling," or43 "reputation monitoring" → activate this skill44- User wants to "check domain reputation" or "set up DMARC monitoring" →45 activate this skill46- User asks "how many emails per day per mailbox" → activate this skill4748Do NOT use for:49- Buying and configuring secondary domains and mailboxes →50 use `domain-infrastructure`51- Selecting a sending platform → use `sending-platforms`52- Designing the email sequence → use `cold-email-strategy`53- Writing email copy → use `cold-email-copywriting`5455## Authoritative Foundations5657This skill draws from the following established methodologies:5859- **Google Postmaster Tools** — The authoritative source for Gmail deliverability60 data. Provides domain-level spam rate, IP reputation, domain reputation,61 feedback loop data, authentication status, and encryption status. Every62 sending domain must be registered here. Google processes ~45% of B2B email63 — if your Gmail deliverability is broken, your outbound is broken.6465- **Microsoft SNDS (Smart Network Data Services)** — The equivalent for66 Outlook/Hotmail/Office 365. Provides IP-level reputation data, spam67 complaint rates, and trap hits. Microsoft processes ~20% of B2B email.68 Combined with Google Postmaster Tools, these cover ~65% of all B2B inboxes.6970- **M³AAWG (Messaging, Malware, Mobile Anti-Abuse Working Group)** — Industry71 best practices for email sending. Their guidelines inform the volume limits,72 authentication requirements, and complaint thresholds used by all major73 inbox providers and email service providers.7475- **Validity / Return Path** — Email certification and reputation data.76 Industry-standard Sender Score (0-100) used by many inbox providers as a77 reputation input. Sender Score above 90 is good; below 70 is concerning;78 below 50 will cause widespread blocking.7980- **RFC 7208 (SPF), RFC 6376 (DKIM), RFC 7489 (DMARC)** — The IETF standards81 that define these protocols. This skill describes compliant configurations,82 not every possible variation.8384- **Eric Nowoslawski (Growth Engine X)** — Agency-scale deliverability defaults:85 2 inboxes/domain, 30 sends/inbox/day baseline, 3-week warmup, 50% backup86 capacity, 1:1 active-to-backup inbox ratio. → `../cold-email-strategy/references/eric-nowoslawski-outbound.md`8788- **Eric Nowoslawski — Growth Engine X Cold Email Infrastructure.** Operational89 defaults for agency-scale outbound: **2 inboxes per domain**, **30 sends/day/inbox**90 baseline (escalate only on winning campaigns with ~1 positive per 50 sends),91 **3-week warmup minimum**, **50% spare capacity** always warming, **1:1 backup92 rule** (backup inboxes = active sending capacity for zero-downtime swap). Burned93 inboxes are not reliably recyclable — provision fresh capacity. Canonical playbook →94 `../cold-email-strategy/references/eric-nowoslawski-outbound.md`.9596## Prerequisites9798- Run `domain-infrastructure` first — you need domains and mailboxes to99 configure deliverability for100- Required user inputs: sending domains, mailbox credentials/providers,101 current sending volume if already active102- Access required: DNS management console for each sending domain, admin103 access to Google Workspace / M365 / Zoho for mailbox configuration104- Optional: LeadMagic API key for pre-send email verification (verify105 addresses before adding to sequences to maintain low bounce rates)106- Reference files: `references/deliverability-primer.md` for detailed107 warmup schedules and sending limits108109## Step-by-Step Process110111### Phase 1: Intake112113Gather the following from the user. Ask all questions at once:1141151. **Sending domains:** List all domains being used for cold email. Confirm116 these are SECONDARY domains — never the primary business domain.1171182. **Mailbox details:** For each domain, how many mailboxes? Which provider119 (Google Workspace, M365, Zoho, other)? Are they already sending or new?1201213. **Current volume:** How many emails per day per mailbox currently? If122 already sending, what's the current bounce rate, spam complaint rate,123 open rate, reply rate?1241254. **DNS access:** Who controls DNS? Do they have access to add SPF, DKIM,126 DMARC records? Which DNS provider?1271285. **Current authentication status:** Are SPF, DKIM, DMARC already configured?129 If yes, what are the current records? If not, this is step one.1301316. **Sending platform:** Which platform (Smartlead, Instantly, Salesforge,132 Apollo, other)? Different platforms have different warmup capabilities133 and authentication requirements.1341357. **Deliverability issues:** Any known problems? Emails going to spam?136 Blacklisting? Sudden open rate drops? Specific domains blocking?1371388. **Compliance requirements:** GDPR, CAN-SPAM, CASL, other regulations?139 This affects list practices and unsubscribe handling.140141### Phase 2: Research142143Before configuring, audit the current state:1441451. **DNS audit:** Check current SPF, DKIM, DMARC records for all sending146 domains. Use `dig TXT [domain]` for SPF, `dig TXT [selector]._domainkey.[domain]`147 for DKIM, `dig TXT _dmarc.[domain]` for DMARC. Document what exists148 and what's missing.1491502. **Blacklist check:** Run all sending IPs and domains through MXToolbox,151 Spamhaus, Barracuda, and SURBL blacklists. If any domain or IP is listed,152 that's the first priority to address before sending resumes.1531543. **Reputation check:** If domains have been sending, check Google155 Postmaster Tools for domain reputation, spam rate, and feedback loop.156 Check Microsoft SNDS for IP reputation. Check Sender Score (Validity)157 for overall score. Document the baseline.1581594. **Bounce analysis:** If currently sending, pull bounce data for the last160 30 days. Categorize bounces: hard bounce (invalid address), soft bounce161 (mailbox full, server issue), block (spam filter rejection). Calculate162 rates per mailbox and per domain.1631645. **Spam complaint analysis:** Pull complaint data from the sending platform165 and Google Postmaster Tools. Industry target: under 0.1% complaint rate166 (1 complaint per 1,000 sends). Above 0.3% triggers Google spam filtering167 regardless of authentication.1681696. **Inbox placement test:** If possible, use GlockApps, MailGenius, or170 Mail-Tester to send test emails and see where they land (inbox, spam,171 promotions, missing) across Google, Microsoft, Yahoo, and other providers.172173### Phase 3: Execution174175#### Step 1: Configure SPF176177SPF (Sender Policy Framework) tells receiving servers which IP addresses and178hostnames are authorized to send mail on behalf of your domain.179180Create/update the TXT record at the domain root:181182For dedicated sending IPs (recommended for high volume):183```184v=spf1 ip4:[your_sending_ip] -all185```186187For sending platforms with shared IPs (most SMB outbound):188```189v=spf1 include:[platform_spf_host] -all190```191192Common platform SPF includes:193- Google Workspace: `include:_spf.google.com`194- M365: `include:spf.protection.outlook.com`195- Smartlead: `include:_spf.smartlead.ai`196- Instantly: `include:_spf.instantly.ai`197- Salesforge: `include:spf.salesforge.ai`198199Rules:200- Use `-all` (hard fail) for cold sending domains, not `~all` (soft fail).201 You want receiving servers to reject unauthorized mail, not mark it as202 suspicious.203- One SPF record per domain. If you already have an SPF record, merge the204 includes into a single record.205- No more than 10 DNS lookups per SPF record (the include chain counts).206 If you exceed this, use subdomain-specific SPF records.207- The `+` or `-` qualifier on `all` must be the last mechanism.208209#### Step 2: Configure DKIM210211DKIM (DomainKeys Identified Mail) adds a cryptographic signature to each212email, proving the message wasn't altered in transit.213214For Google Workspace:2151. In Google Admin console, go to Apps → Google Workspace → Gmail →216 Authenticate email.2172. Generate a DKIM key for your domain. Google provides the DNS record.2183. Add the TXT record at `google._domainkey.[domain]` with the value219 Google provides.2204. After DNS propagation (up to 48 hours), click "Start Authentication"221 in Google Admin.222223For M365:2241. In Microsoft 365 Defender portal, go to Email & Collaboration →225 Policies & Rules → Threat Policies → Email Authentication Settings → DKIM.2262. Select your domain, enable DKIM, and copy the CNAME records.2273. Add CNAME records: `selector1._domainkey.[domain]` and228 `selector2._domainkey.[domain]` pointing to the Microsoft-provided targets.229230For Zoho:2311. In Zoho Mail Admin, go to Email Authentication → DKIM.2322. Generate keys and add the provided TXT record.233234Key selection: Use a distinct DKIM selector for each sending platform235(e.g., `google._domainkey`, `smartlead._domainkey`). This allows independent236key rotation without breaking other services.237238DKIM key length: 2048-bit minimum. 1024-bit keys are deprecated and239increasingly rejected by major inbox providers.240241#### Step 3: Configure DMARC242243DMARC (Domain-based Message Authentication, Reporting and Conformance) tells244receiving servers what to do when SPF or DKIM fails and provides aggregate245reports on authentication results.246247Create the TXT record at `_dmarc.[domain]`:248249Starting configuration (monitoring mode):250```251v=DMARC1; p=none; rua=mailto:dmarc-reports@[yourdomain].com; ruf=mailto:dmarc-forensics@[yourdomain].com; fo=1;252```253254After 2-4 weeks of monitoring with zero issues, move to quarantine:255```256v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@[yourdomain].com;257```258259Eventual target (full protection):260```261v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@[yourdomain].com;262```263264Rules:265- Start with `p=none` — you need monitoring data before enforcement.266- Set up `rua` to a real email address that receives DMARC aggregate reports267 (XML files). Use services like DMARCIAN, Postmark DMARC, or Valimail to268 parse these into human-readable dashboards.269- After 2-4 weeks of clean monitoring (no legitimate mail failing auth),270 move to `p=quarantine` for another 2-4 weeks.271- `p=reject` is the goal but only after full confidence. A misconfigured272 reject policy will silently discard legitimate mail.273- `pct=100` means apply the policy to 100% of mail. Use `pct=25` or274 `pct=50` to gradually roll out enforcement.275276#### Step 4: Design the Warmup Schedule277278New domains and mailboxes need 2-4 weeks of warmup before sending cold279email at full volume. Warmup builds a positive reputation by sending small280volumes to known-engaging addresses, establishing a pattern of high engagement281before introducing colder contacts.282283Week 1 — Foundation (Days 1-7):284- Daily volume: 5-10 emails per mailbox285- Recipient composition: 100% warm (internal team, friends, colleagues,286 test accounts) who will open and reply287- Sending pattern: spread across the day, not all at once288- Goal: establish initial engagement signal289290Week 2 — Gradual Increase (Days 8-14):291- Daily volume: 15-25 emails per mailbox292- Recipient composition: 70% warm, 30% lukewarm (known contacts, past293 conversations, opted-in lists)294- Sending pattern: spread across business hours295- Goal: build volume tolerance while maintaining high engagement296297Week 3 — Introducing Cold (Days 15-21):298- Daily volume: 30-40 emails per mailbox299- Recipient composition: 50% warm/lukewarm, 50% cold (verified addresses,300 Tier 3 personalization, highest-quality leads first)301- Sending pattern: normal business hours302- Goal: transition to cold sending without engagement cliff303304Week 4 — Full Volume (Days 22-28):305- Daily volume: 40-50 emails per mailbox306- Recipient composition: 20% warm/lukewarm, 80% cold307- Sending pattern: optimized for recipient time zone308- Goal: sustained reputation at full capacity309310Important: If at any point during warmup the bounce rate exceeds 2% or the311spam complaint rate exceeds 0.1%, pause the escalation and stay at the312current volume until resolved.313314Using platform-based warmup (Smartlead, Instantly, Salesforge): Most platforms315include automated warmup that sends to their network of warmup addresses.316This is a supplement, not a replacement for the manual warmup above.317Automated warmup builds base reputation; manual warmup with real contacts318builds domain-specific engagement patterns.319320NEVER use automated warmup as the sole warmup method. The warmup network321addresses are known to inbox providers — engagement with them is weighted322lower than engagement with real, diverse contacts.323324#### Step 5: Set Up Reputation Monitoring325326Ongoing monitoring is not optional. Set up the following:3273281. **Google Postmaster Tools:** Register every sending domain. Check weekly329 at minimum. Key metrics to monitor:330 - Spam rate: must stay under 0.1% (target <0.05%)331 - Domain reputation: must stay "high" or "medium-high"332 - Feedback loop: watch for complaint spikes333 - Authentication: all DKIM/SPF should show "pass"3343352. **Microsoft SNDS:** Register every sending IP. Check weekly. Watch for:336 - Spam complaint rate: under 0.1%337 - Trap hits: zero is the only acceptable number338 - Block status: any block requires immediate investigation3393403. **Blacklist monitoring:** Use MXToolbox or similar to check major341 blacklists weekly. Automate with alerts. Blacklists to monitor:342 - Spamhaus (SBL, XBL, PBL)343 - Barracuda344 - SURBL345 - SpamCop346 - Invaluement347 - UCEPROTECT3483494. **Sending platform metrics:** Monitor in-platform deliverability metrics350 daily:351 - Delivery rate (target: >98%)352 - Bounce rate (target: <2%, warning at 3%, critical at 5%)353 - Spam complaint rate (target: <0.1%, critical at 0.3%)354 - Open rate trends (a sudden 30%+ drop signals deliverability issue)355 - Inbox placement rate (if platform provides)3563575. **DMARC aggregate reports:** Parse the XML reports from `rua` to track:358 - Which IPs are sending on your behalf (authorized and unauthorized)359 - SPF and DKIM pass/fail rates360 - Spoofing attempts (someone else sending as your domain)361 - Gradual DKIM alignment failures (key rotation issues)362363#### Step 6: Establish Bounce and Complaint Handling Procedures364365Use `references/bounce-complaint-procedures.md` for the full procedure library. Main output should include bounce thresholds, complaint thresholds, owner, escalation route, and stop conditions.366367### Phase 4: Delivery368369Deliver a complete deliverability setup and monitoring plan:3703711. **DNS Configuration Spec:** Exact SPF, DKIM, DMARC records to add,372 formatted for copy-paste into the DNS console.3733742. **Warmup Calendar:** Week-by-week volume targets, recipient composition,375 monitoring checkpoints. Formatted as a calendar with daily targets.3763773. **Monitoring Dashboard Spec:** What to track, where, how often, and378 what thresholds trigger action.3793804. **Incident Response Plan:** For bounce spikes, complaint spikes,381 blacklisting, and domain reputation drops. What to do in the first382 hour, first day, first week.3833845. **Quarterly Audit Checklist:** Deliverability degrades over time.385 A quarterly audit prevents silent decay.386387## Output Format388389```markdown390# Deliverability Setup Plan for [Company]391392## Output Artifact Details393394Use `references/output-artifacts.md` for the full audit, DNS configuration, warmup schedule, monitoring dashboard, incident response plan, and quarterly audit checklist. The main output must summarize current risk, DNS status, ramp schedule, alert thresholds, and owner.395396## Quality Check397398Before delivering, verify:399400- [ ] Are SPF, DKIM, DMARC records provided in copy-paste format?401- [ ] Does SPF use `-all` (hard fail), not `~all`?402- [ ] Is DKIM using 2048-bit keys minimum?403- [ ] Does DMARC start with `p=none` and plan to progress to `p=reject`?404- [ ] Is the warmup schedule 2-4 weeks with per-week volume targets?405- [ ] Does the plan NEVER recommend sending cold from the primary domain?406- [ ] Are bounce thresholds clear (target <2%, warning 2-5%, critical >5%)?407- [ ] Are complaint thresholds clear (target <0.1%, critical >0.3%)?408- [ ] Is Google Postmaster Tools registration included?409- [ ] Is blacklist monitoring included with specific blacklists named?410- [ ] Does the incident response plan have time-based escalation steps?411- [ ] Is there a quarterly audit checklist?412- [ ] Are unsubscribe requirements specified (CAN-SPAM, GDPR)?413- [ ] Is email validation mentioned but NEVER described internally?414415## Common Pitfalls4164171. **Sending cold email from the primary business domain.** One spam418 complaint, one blacklisting event, and your transactional emails419 (password resets, invoices, customer notifications) are broken.420 This is the #1 deliverability mistake and it is catastrophic when421 it happens. Always use secondary domains for cold outreach.4224232. **Skipping warmup.** A new domain sending 50 emails on Day 1 gets424 flagged within 48 hours. Google and Microsoft's algorithms interpret425 sudden volume from a new domain as spam behavior. No amount of426 authentication quality overrides the volume pattern.4274283. **Soft DMARC (`p=none`) forever.** Many teams set `p=none` and never429 progress to enforcement. This is better than nothing but leaves the430 domain vulnerable to spoofing. Have a plan to reach `p=reject` within431 8 weeks of clean monitoring.4324334. **Ignoring bounce rate creep.** A bounce rate that creeps from 1% to 3%434 over months is easy to miss because it's gradual. But inbox providers435 catch it. Set a weekly bounce rate review and a hard alert at 3%.4364375. **No email verification before sending.** Every unverified address in a438 sequence is a potential bounce. Bounces above 5% trigger spam filtering439 at Google and Microsoft, and recovery takes weeks. Always verify before440 sending.4414426. **Warmup-only via platform networks.** The automated warmup networks443 (warmup pools) are known to inbox providers. They're a supplement, not444 a replacement. Real engagement from real, diverse contacts builds445 stronger reputation than automated warmup alone.4464477. **No DMARC reporting.** Without `rua` reports, you don't know who is448 sending on your behalf. You won't catch spoofing attempts, gradual449 DKIM alignment failures, or misconfigured third-party senders until450 they cause a deliverability crisis.4514528. **Too many mailboxes per domain.** When one mailbox on a domain gets453 flagged for spam, it affects the domain reputation — which affects454 all mailboxes on that domain. Limit to 2-3 mailboxes per domain to455 contain blast radius.456457## Sending Limits Reference458459Use `references/sending-limits-reference.md` for provider-specific sending limits. Keep the primary output focused on safe ramping, monitoring thresholds, DNS auth, and incident response.460461## Execution Artifacts462463- `references/framework-notes.md` — Framework index and authority routing464- `templates/output-template.md` — Deliverable shell for agent output465- `scripts/check-output.py` — Lightweight deliverable validator466- `../cold-email-strategy/references/eric-nowoslawski-outbound.md` — Infra at scale, backup inbox strategy, volume escalation rules (Eric Nowoslawski)467- `references/bounce-complaint-procedures.md` — Bounce and complaint handling SOP468- `references/deliverability-primer.md` — Deliverability fundamentals469- `references/output-artifacts.md` — Extended output tables and inventories470- `references/sending-limits-reference.md` — Provider sending limits reference471472## Related Skills473474- `domain-infrastructure` — adjacent workflow to use before or after this skill475- `sending-platforms` — adjacent workflow to use before or after this skill476- `cold-email-strategy` — adjacent workflow to use before or after this skill477- `campaign-analytics` — adjacent workflow to use before or after this skill