| name | Email Marketing Engine |
| description | Complete email marketing system — deliverability, list building, sequences, cold outreach, automation, analytics, and revenue optimization. Zero dependencies. |
| metadata | {"category":"marketing","skills":["email","marketing","newsletters","cold-email","outreach","sequences","deliverability","automation","lead-generation","drip-campaigns"]} |
Email Marketing Engine
Complete methodology for building, running, and optimizing email marketing — from domain setup to revenue attribution. Covers lifecycle email (newsletters, onboarding, retention) AND cold outreach (prospecting, personalization, follow-up). No API keys, no paid tools required.
Phase 1: Infrastructure & Deliverability
Domain Authentication Checklist
Before sending a single email, complete ALL of these:
domain_auth:
spf:
record: "v=spf1 include:_spf.google.com include:[esp-domain] ~all"
check: "nslookup -type=txt yourdomain.com"
status: pending
dkim:
selector: "google"
key_length: 2048
status: pending
dmarc:
policy: "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100"
progression: "none → quarantine → reject (over 4 weeks)"
status: pending
bimi:
logo_format: "SVG Tiny 1.2"
vmc_certificate: false
reverse_dns: pending
custom_return_path: pending
Domain Warm-Up Schedule
New domain or IP? Follow this exactly:
| Week | Daily Volume | Target Audience | Content Type |
|---|
| 1 | 20-50 | Known engaged contacts | Personal, high-value |
| 2 | 50-150 | Recent subscribers | Welcome + best content |
| 3 | 150-500 | Active segment (opened 30d) | Mix of content types |
| 4 | 500-1500 | Broader active list | Regular campaigns |
| 5 | 1500-5000 | Full active list | Normal operations |
| 6+ | Scale 20%/week | Full list minus unengaged | All campaign types |
Warm-up rules:
- Send to Gmail/Outlook first (strictest filters = best signal)
- Get replies during warm-up — ask questions, request feedback
- If bounce rate exceeds 3% at any stage, STOP and clean list
- Monitor Google Postmaster Tools daily during warm-up
- Never skip weeks — rebuilding from a spam flag takes 3-6 months
Sender Reputation Monitoring
Check these weekly:
reputation_dashboard:
google_postmaster:
domain_reputation: high
spam_rate: 0.02%
authentication: pass
encryption: tls
blacklists:
check_url: "https://mxtoolbox.com/blacklists.aspx"
listed_on: []
bounce_tracking:
hard_bounces: 0.3%
soft_bounces: 1.2%
complaint_rate: 0.04%
inbox_placement:
gmail: 94%
outlook: 91%
yahoo: 88%
corporate: 85%
Emergency response if reputation drops:
- Immediately reduce volume by 75%
- Send ONLY to most engaged segment (opened in 7 days)
- Pause all cold outreach and promotional campaigns
- Review last 5 campaigns for content triggers
- Check for spam trap hits (sudden bounces from old addresses)
- Rebuild gradually over 2-4 weeks
Phase 2: List Building & Management
List Growth Strategy
Organic growth methods (ranked by quality):
| Method | Quality | Volume | Setup Effort |
|---|
| Content upgrade (in-article) | ★★★★★ | Medium | Medium |
| Webinar/event registration | ★★★★★ | Low-Med | High |
| Free tool/calculator | ★★★★☆ | High | High |
| Newsletter referral program | ★★★★☆ | Medium | Medium |
| Exit-intent popup | ★★★☆☆ | High | Low |
| Social media bio link | ★★★☆☆ | Low | Low |
| Co-marketing swap | ★★★☆☆ | Medium | Medium |
| Gated whitepaper/report | ★★★☆☆ | Medium | Medium |
| Contest/giveaway | ★★☆☆☆ | High | Medium |
| Purchased list | ☆☆☆☆☆ | High | Low |
Never buy lists. Purchased lists contain spam traps, kill deliverability, and violate GDPR/CAN-SPAM. The "shortcut" costs more than building organically.
Lead Magnet Framework
Every opt-in needs a compelling reason:
lead_magnet:
name: "[Specific Outcome] [Format]"
format: checklist | template | calculator | swipe_file | mini_course | report
promise: "What specific result will they get?"
time_to_value: "< 5 minutes"
quality_bar: "Would someone pay $20 for this?"
delivery: immediate
headline: "[Number] [Outcome] without [Pain]"
subhead: "One specific proof point or social proof"
bullet_1: "Specific benefit with number"
bullet_2: "Addresses main objection"
bullet_3: "Speed/ease promise"
form_fields: [email]
cta_button: "Get the [Format]"
social_proof: "[X] people downloaded this week"
Segmentation Architecture
Core segments (minimum viable):
segments:
lifecycle:
- new_subscriber:
definition: "Joined < 14 days ago"
treatment: "Welcome sequence, daily for 2 weeks"
- active:
definition: "Opened or clicked in last 30 days"
treatment: "Full campaigns, all content types"
- cooling:
definition: "No opens 30-60 days"
treatment: "Reduced frequency, best content only"
- dormant:
definition: "No opens 60-90 days"
treatment: "Re-engagement sequence"
- dead:
definition: "No opens > 90 days, re-engagement failed"
treatment: "Remove from list (improves deliverability)"
- customer:
definition: "Has purchased"
treatment: "Retention, upsell, referral"
- vip:
definition: "Top 10% by engagement OR revenue"
treatment: "Early access, exclusives, personal touch"
behavioral:
- clicked_pricing: "Sales-ready, trigger demo offer"
-
List Hygiene Protocol
Run monthly:
List Hygiene Checklist:
□ Remove all hard bounces (immediately, never re-add)
□ Suppress soft bounces with 3+ consecutive failures
□ Remove spam complainers (permanent suppress)
□ Flag role addresses (info@, admin@, support@) — lower priority
□ Identify spam traps (sudden old-domain bounces)
□ Run email verification on new imports (NeverBounce, ZeroBounce)
□ Sunset dormant subscribers (90 days no engagement)
□ Merge duplicates (same email, different entries)
□ Update preference center opt-outs
□ Document list size change: [before] → [after] = [% change]
Phase 3: Email Sequences & Campaigns
Welcome Sequence (7 emails, 14 days)
The most important sequence you'll ever write:
welcome_sequence:
email_1:
timing: "Immediate (within 60 seconds)"
subject: "Here's your [lead magnet] + a quick question"
goal: "Deliver value, set expectations, get a reply"
structure:
- deliver_lead_magnet: "Direct download link, no hoops"
- set_expectations: "Here's what you'll get from me and how often"
- personal_question: "What's your biggest challenge with [topic]?"
- ps: "Reply to this email — I read every response"
why: "First email gets 50-80% open rate. Replies train inbox placement."
email_2:
timing: "Day 1 (24 hours)"
subject: "The [thing] that changed everything for me"
goal: "Build connection through story + deliver quick win"
structure:
- origin_story: "Why I care about [topic] (brief, 3-4 sentences)"
- quick_win: "One actionable tip they can use in 5 minutes"
- result: "What happened when I/client did this"
email_3:
timing: "Day 3"
subject: "[Number] mistakes killing your [desired outcome]"
goal:
Cold Outreach Sequence (5 emails, 21 days)
For prospects who don't know you:
cold_outreach:
principles:
- "Research before writing — generic = spam"
- "One ask per email — never multiple CTAs"
- "Under 125 words — busy people skim"
- "No HTML, no images — plain text performs 2x better"
- "Personalize first 2 lines or don't send"
- "Never lie about prior relationship ('We met at...' when you didn't)"
email_1:
timing: "Day 0"
subject: "[First name], quick question about [their specific initiative]"
template: |
Hi [Name],
Saw [specific thing — blog post, LinkedIn update, company news, job posting].
[One sentence connecting their situation to your value prop].
We helped [similar company] [specific result with numbers]
[ ]
[ ]
[ ]
[ ] [ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ] [] []
[ ]
[ ]
[] [ ]
[ ]
[ ]
[ ]
[]
[]
[ ]
Personalization Framework
Move beyond {first_name}:
personalization_levels:
level_1_basic:
- first_name
- company_name
- industry
impact: "5-10% lift in opens"
level_2_contextual:
- role/title reference
- company size tier messaging
- industry-specific pain points
- geographic reference
impact: "15-25% lift in opens and clicks"
level_3_behavioral:
- reference their recent action (download, page visit, event)
- mention content they engaged with
- tailor offer to demonstrated interest
impact: "30-50% lift in conversions"
Re-Engagement Sequence (3 emails)
For subscribers going dark (30-90 days no opens):
re_engagement:
email_1:
timing: "Day 0 (triggered at 60 days no open)"
subject: "Still interested in [topic]?"
content: |
We noticed you haven't opened our emails in a while.
No hard feelings — priorities change.
Here's what you missed: [link to best content from last 60 days]
Want to stay on the list? Just click here: [re-confirm link]
If not, we'll automatically remove you in 14 days.
Either way, no spam — that's a promise.
email_2:
timing: "Day 7"
subject: "Last chance: [special offer or best content piece]"
content: "Offer genuine incentive — exclusive content, discount, or early access"
email_3:
timing:
[ ]
Phase 4: Campaign Types & Templates
Newsletter Framework
newsletter:
frequency: weekly | biweekly
best_day: "Tuesday-Thursday, 9-11 AM recipient timezone"
structure:
hook: "Opening line — personal, topical, or contrarian (2 sentences max)"
main_content:
format: "1 deep piece OR 3-5 curated pieces with commentary"
rule: "80% education, 20% promotion maximum"
voice: "Write like you're emailing a smart friend"
cta: "One clear ask — reply, click, share, or buy"
ps: "Secondary link, personal note, or teaser for next issue"
subject_line_formulas:
curiosity: "[Number] things I learned about [topic] this week"
utility: "How to [achieve X] without [pain Y]"
contrarian: "Stop [common advice] — here's what works instead"
news: "[Topic] just changed — here's what it means for you"
personal: "I made a mistake with [topic] (here's what happened)"
metrics_targets:
open_rate: "> 35% (engaged list), > 20% (broad)"
click_rate: "> 3%"
reply_rate: "> 0.5%"
unsubscribe: "< 0.3% per send"
Promotional Campaign Template
promotional:
pre_launch:
email_1: "Tease — 'Something's coming for [audience]'"
email_2: "Behind-the-scenes — why we built this"
launch:
email_1: "Announcement — what it is, who it's for, how to get it"
email_2: "Social proof — early results, testimonials"
follow_up:
email_1: "FAQ — address top objections"
email_2: "Case study — detailed success story"
email_3: "Last chance — genuine deadline or limit"
rules:
- "Never fake scarcity — if it's evergreen, don't say 'limited time'"
- "Segment: don't pitch customers what they already own"
- "Track revenue per email, not just clicks"
- "3 promotional emails per month maximum (ratio to value emails)"
Transactional Email Optimization
Most companies waste transactional emails (70%+ open rate):
transactional_upgrades:
order_confirmation:
must_have: "Order details, delivery estimate"
add: "Onboarding tip, complementary product, referral ask"
shipping_notification:
must_have: "Tracking link, delivery date"
add: "Setup guide, community invite, content recommendation"
receipt:
must_have: "Amount, description, support contact"
add: "Usage tips, upgrade path, review request (after delivery)"
password_reset:
must_have: "Reset link, security note"
add: "Account security tips, feature reminder"
rule: "Transactional emails MUST remain primarily transactional. Marketing content should be secondary and relevant."
Phase 5: A/B Testing & Optimization
Testing Protocol
ab_testing:
minimum_sample: 1000
confidence_level: 95%
priority_order:
1: "Subject line (biggest lever — 30-50% impact on opens)"
2: "Send time (10-20% impact)"
3: "From name (15-25% impact — personal name vs brand)"
4: "CTA copy and placement (20-40% impact on clicks)"
5: "Email length (varies wildly by audience)"
6: "Plain text vs HTML"
7: "Personalization depth"
8: "Preheader text"
methodology:
split: "20% test / 80% winner (for subject lines)"
duration: "Wait minimum 4 hours before declaring winner"
isolation: "Change ONE variable per test"
documentation: "Log every test result — institutional knowledge"
test_log_template:
date: "YYYY-MM-DD"
variable: "Subject line | Send time | CTA | etc."
variant_a: "Description"
variant_b: "Description"
sample_size: "N per variant"
metric:
Subject Line Scoring
Rate every subject line before sending:
subject_line_rubric:
length:
score: 0-2
criteria:
2: "30-50 characters (optimal mobile display)"
1: "50-70 characters (acceptable)"
0: "> 70 characters (truncated on most devices)"
specificity:
score: 0-2
criteria:
2: "Contains a specific number, name, or outcome"
1: "Somewhat specific"
0: "Vague or generic"
curiosity_gap:
score: 0-2
criteria:
2: "Creates genuine curiosity without being clickbait"
1: "Mildly interesting"
0: "No reason to open"
relevance:
score: 0-2
criteria:
2: "Directly addresses recipient's known interest/pain"
1: "Generally relevant to audience"
0: "Could be for anyone"
spam_risk:
score: 0-2
criteria:
2: "No spam triggers, natural language"
Email Copy Scoring
email_quality_rubric:
clarity:
weight: 25
criteria:
25: "One clear message, one CTA, instantly understood"
15: "Clear but slightly unfocused"
5: "Multiple messages competing for attention"
value:
weight: 25
criteria:
25: "Reader gains actionable insight or clear benefit"
15: "Somewhat useful"
5: "Self-serving with no reader benefit"
voice:
weight: 20
criteria:
20: "Sounds like a human wrote it to one person"
12: "Professional but slightly generic"
4: "Corporate-speak, AI-obvious, or template-y"
structure:
weight: 15
criteria:
15: "Scannable: short paragraphs, bold key points, bullets"
9: "Readable but dense"
3: "Wall of text, no formatting"
mobile:
weight: 15
criteria:
15: "Single column, large CTA, < 300 words, images optional"
9: "Mostly mobile-friendly"
Phase 6: Cold Outreach System
Prospect Research Template
Before writing a single cold email:
prospect_research:
person:
full_name: ""
title: ""
linkedin_url: ""
recent_post_or_article: ""
career_trajectory: ""
mutual_connections: ""
company:
name: ""
website: ""
industry: ""
employee_count: ""
recent_news: ""
tech_stack: ""
job_postings: ""
trigger_events:
- "New funding round"
- "New executive hire"
- "Product launch"
- "Competitor move"
- "Industry regulation change"
- "Job posting related to your solution"
- "Negative review/complaint about current tool"
connection_points:
-
Cold Email Deliverability Rules
Cold outreach has DIFFERENT rules than marketing email:
cold_email_rules:
domain:
- "Use a separate domain for cold outreach (not your main domain)"
- "Set up: outreach.yourdomain.com or yourdomain.co"
- "Full SPF/DKIM/DMARC on the outreach domain"
- "Warm up for minimum 2 weeks before sending"
volume:
- "Maximum 50 cold emails per day per inbox"
- "Use multiple inboxes to scale (5 inboxes = 250/day)"
- "Spread sends throughout the day (not all at once)"
- "Randomize send times ±15 minutes"
content:
- "Plain text only — no HTML, no images, no tracking pixels"
- "Under 125 words (3-4 short paragraphs)"
- "No more than 1 link per email"
- "Avoid spam trigger words (free, guaranteed, act now, limited)"
- "Include physical address and opt-out mechanism"
list:
- "Verify every email address before sending (< 3% bounce)"
- "Never send to catch-all domains without verification"
- "Remove any email that bounces immediately"
- "Respect unsubscribe within 24 hours"
Reply Handling Framework
reply_handling:
positive:
signals: ["interested", "tell me more", "let's talk", "send info"]
response_time: "< 1 hour during business hours"
action: |
1. Thank them specifically for what they said
2. Answer any questions in the reply
3. Propose 2-3 specific meeting times
4. Keep it short — they said yes, don't oversell
objection:
signals: ["too expensive", "not now", "using competitor", "not interested"]
response_time: "< 4 hours"
action: |
1. Acknowledge their concern genuinely
2. Address the specific objection (not a generic rebuttal)
3. Offer lighter alternative (case study, free resource)
4. Leave door open: "If things change, I'm here"
referral:
signals: ["talk to [name]", "not the right person", "try [department]"]
action: |
1. Thank them warmly
2. Ask: "Would you mind making an intro, or should I reach out directly and mention you?"
3. Reference the referral in new outreach
negative:
signals: ["remove me", "stop emailing", "spam", "unsubscribe"]
action: "Immediately suppress. Reply with brief apology. Never re-add."
Phase 7: Automation & Workflows
Email Automation Map
automations:
lead_magnet_download:
trigger: "Form submission"
action: "Deliver asset → Start welcome sequence → Tag by lead magnet topic"
webinar_registration:
trigger: "Registration"
action: "Confirmation → 3 reminder emails → Post-event replay + offer"
trial_signup:
trigger: "Account created"
sequence:
day_0: "Welcome + first action to take"
day_1: "Quick win tutorial"
day_3: "Feature highlight relevant to their use case"
day_5: "Case study from similar company"
day_7: "Check-in: 'How's it going?'"
day_10: "Advanced feature + upgrade nudge"
day_13: "Trial ending reminder + offer"
day_14: "Last day — decision time"
abandoned_cart:
trigger: "Cart created, no purchase in 1 hour"
sequence:
1_hour: "Forgot something? [Cart contents]"
24_hours: "Still thinking about it? [Social proof]"
72_hours: "Last chance + incentive (if margin allows)"
recovery_rate_target: "5-15%"
Send Time Optimization
send_time_strategy:
b2b:
best: "Tuesday-Thursday, 9:00-11:00 AM recipient timezone"
good: "Monday 10AM, Friday 9AM"
avoid: "Friday afternoon, weekends, holidays"
b2c:
best: "Saturday 10AM, Sunday 6PM, Tuesday 8PM"
good: "Weekday evenings 6-9PM"
avoid: "Weekday mornings (competing with work email)"
cold_outreach:
best: "Tuesday-Thursday, 7:00-8:00 AM (before inbox floods)"
good: "Monday 7AM, Thursday 4PM"
avoid: "Weekends, lunch hour, Friday PM"
advanced:
- "Use ESP's send-time optimization if available"
- "Test YOUR audience — benchmarks are averages, not your data"
- "Consider timezone — segment by geography for large lists"
- "Account for industry patterns (retail ≠ enterprise ≠ healthcare)"
Phase 8: Analytics & Revenue Attribution
Email Marketing Dashboard
Track weekly:
dashboard:
growth:
list_size: 0
new_subscribers_this_week: 0
unsubscribes_this_week: 0
net_growth_rate: "0%"
engagement:
avg_open_rate: "0%"
avg_click_rate: "0%"
avg_reply_rate: "0%"
click_to_open_rate: "0%"
health:
bounce_rate: "0%"
spam_complaint_rate: "0%"
list_churn_rate: "0%"
deliverability_rate: "0%"
revenue:
email_attributed_revenue: "$0"
revenue_per_subscriber: "$0"
revenue_per_email_sent: "$0"
conversion_rate: "0%"
cold_outreach:
emails_sent: 0
open_rate: "0%"
reply_rate: "0%"
positive_reply_rate: "0%"
meetings_booked: 0
pipeline_generated: "$0"
Revenue Attribution Model
attribution:
last_touch:
description: "Credit to last email before conversion"
use_when: "Simple tracking, small list, direct sales"
first_touch:
description: "Credit to email that acquired the subscriber"
use_when: "Measuring list-building ROI"
linear:
description: "Equal credit to all emails in journey"
use_when: "Understanding full funnel contribution"
time_decay:
description: "More credit to emails closer to conversion"
use_when: "Mature program with long sales cycles"
calculation: |
Email ROI = (Revenue attributed to email - Email costs) / Email costs × 100
Email costs include:
- ESP subscription
- Email verification tools
- Content creation time (hourly rate × hours)
- Design/template costs
Industry benchmark: $36-42 return per $1 spent
Healthy program: >
Weekly Review Template
## Email Marketing Weekly Review — [Date]
### Growth
- List size: [N] ([+/-X] from last week, [Y%] growth)
- Top acquisition source: [source] ([N] new subs)
- Churn: [N] unsubscribes + [N] bounces = [X%] churn rate
### Campaign Performance
| Campaign | Sent | Opens | Clicks | Unsubs | Revenue |
|----------|------|-------|--------|--------|---------|
| [name] | [N] | [X%] | [X%] | [N] | $[X] |
### Cold Outreach
- Sent: [N] | Opens: [X%] | Replies: [N] ([X%])
- Positive replies: [N] | Meetings booked: [N]
- Pipeline generated: $[X]
### A/B Test Results
- Test: [variable] — [A] vs [B]
- Winner: [variant] by [X%] ([confidence]% confidence)
- Learning: [insight]
### Health Check
- Deliverability: [X%] | Spam rate: [X%] | Blacklists: [clean/listed]
- Domain reputation: [high/medium/low]
### Next Week
- [ ] [Action item 1]
- [ ] [Action item 2]
- [ ] [Test to run]
Phase 9: Compliance & Legal
Compliance Checklist by Region
compliance:
can_spam_us:
- "Include physical mailing address"
- "Clear 'From' name — no deceptive headers"
- "Subject line must reflect content"
- "Identify as ad if promotional"
- "One-click unsubscribe link in every email"
- "Honor unsubscribe within 10 business days"
- "No harvested or purchased emails"
penalty: "Up to $51,744 per email violation"
gdpr_eu_uk:
- "Explicit opt-in consent (no pre-checked boxes)"
- "Record consent: who, when, what, how"
- "Right to be forgotten — delete on request within 30 days"
- "Data portability — export subscriber data on request"
- "Privacy policy link accessible"
- "Legitimate interest for B2B cold outreach (document your basis)"
- "Data Processing Agreement with ESP"
penalty: "Up to €20M or 4% of annual revenue"
casl_canada:
- "Express consent required (implied consent expires after 2 years)"
- "Sender identification + physical address"
- "Unsubscribe processed within 10 business days"
- "Record of consent for all recipients"
penalty:
Edge Cases & Advanced Patterns
Multi-Language Email
- Segment by language preference, never auto-translate and send
- Subject lines don't translate well — write natively for each language
- Cultural norms vary: formality, humor, directness, imagery
- Compliance differs by country — check local laws
Email + SMS Integration
- Email for content/education, SMS for time-sensitive alerts
- Never send same message on both channels simultaneously
- SMS opt-in is separate from email — don't assume permission
- Use email for story, SMS for action trigger
B2B vs B2C Differences
- B2B: longer sequences, more education, weekday sends, case studies
- B2C: shorter, emotional, weekend-friendly, social proof, urgency
- B2B: decision involves multiple stakeholders — forward-friendly content
- B2C: decision is individual — focus on desire and urgency
Large List Migration
- Moving ESPs? Export everything: subscribers, tags, engagement history
- Re-warm from the new ESP — don't blast full list on day 1
- Start with most engaged segment, scale up over 2-4 weeks
- Update DNS records before first send from new platform
High-Volume Sending (50K+ per campaign)
- Dedicated IP required (shared IP risk increases)
- Throttle sends: 1000-2000/hour to avoid triggering filters
- Monitor seed list inbox placement across providers
- Separate IPs for transactional vs marketing email
Natural Language Commands
"Set up email authentication for [domain]" → Generate DNS records
"Build a welcome sequence for [business/product]" → 7-email sequence
"Write a cold email for [prospect] at [company]" → Research + personalized email
"Score this subject line: [text]" → Subject line rubric evaluation
"Review this email for quality" → Email copy scoring rubric
"Create a lead magnet for [topic/audience]" → Lead magnet framework
"Audit my email list health" → List hygiene checklist
"Build an abandoned cart sequence" → 3-email recovery flow
"Plan my A/B test for [campaign]" → Testing protocol
"Generate my weekly email report" → Dashboard template
"Check compliance for [region]" → Region-specific checklist
"Create a re-engagement campaign" → 3-email win-back sequence