Install
openclaw skills install @leooooooow/email-deliverabilityAudit and improve email deliverability for ecommerce marketing by diagnosing spam folder issues, list hygiene problems, authentication gaps, and sending reputation issues.
openclaw skills install @leooooooow/email-deliverabilityAudit and improve email deliverability for ecommerce marketing. This skill provides a systematic framework for diagnosing why emails land in spam, identifying authentication gaps, cleaning subscriber lists, and repairing sending reputation to maximize inbox placement rates.
Use this table to rapidly assess the current state of any deliverability dimension.
| Decision Area | Strong | Acceptable | Weak |
|---|---|---|---|
| Inbox Placement Rate | >95% inbox placement across major providers | 85-95% placement with minor provider-specific issues | <85% placement or blacklisted at one or more major provider |
| Authentication (SPF/DKIM/DMARC) | All three configured with DMARC at p=reject and aligned | SPF + DKIM in place, DMARC at p=none or p=quarantine | Missing one or more protocol, no DMARC, or misaligned records |
| Bounce Rate | <1% hard bounces per campaign | 1-2% hard bounces, soft bounces under 5% | >2% hard bounces or >5% soft bounces per campaign |
| Spam Complaint Rate | <0.05% (below 1 per 2,000 emails) | 0.05-0.08% with downward trend | >0.08% or rising trend (Google threshold is 0.10%) |
| List Hygiene | Verified within 90 days, engaged segments defined, sunset policy active | Verified within 6 months, basic segmentation in place | No verification in 6+ months, no segmentation, no sunset policy |
| Sending Infrastructure | Dedicated IP with warm-up complete, consistent volume, subdomain isolation | Shared IP with reputable ESP, moderate volume consistency | Unknown IP reputation, erratic volume, no subdomain separation |
| Content Quality | Personalized, mobile-optimized, <0.1% spam trigger density, clear unsubscribe | Template-based with some personalization, visible unsubscribe | Heavy image-to-text ratio, spam trigger words, hidden unsubscribe |
| Engagement Metrics | >20% open rate, >2.5% CTR, <0.3% unsubscribe rate | 15-20% open rate, 1.5-2.5% CTR, 0.3-0.5% unsubscribe | <15% open rate, <1.5% CTR, >0.5% unsubscribe rate |
This skill addresses the following ecommerce email marketing problems:
Emails landing in spam or promotions tabs -- Campaigns reach spam folders at Gmail, Outlook, or Yahoo despite legitimate content, reducing revenue from email marketing by 50-80%.
Declining open and click-through rates -- Engagement metrics drop over time as sender reputation degrades, list quality decays, or content triggers spam filters.
Authentication failures and spoofing vulnerability -- Missing or misconfigured SPF, DKIM, or DMARC records cause delivery failures and leave the domain open to phishing impersonation.
High bounce rates damaging sender reputation -- Accumulated invalid addresses, typo domains, and abandoned mailboxes generate hard bounces that erode IP and domain reputation with mailbox providers.
Blacklisting and IP reputation damage -- Sending IP or domain appears on one or more DNS-based blacklists (Spamhaus, Barracuda, SORBS), causing widespread delivery failures.
Subscriber list decay and disengagement -- Lists degrade at 25-30% per year through abandoned addresses, role accounts, and spam traps, dragging down overall deliverability.
Inconsistent sending patterns triggering throttling -- Irregular send volumes (e.g., nothing for weeks then a massive blast) cause mailbox providers to throttle or defer messages.
Establish the current state by gathering quantitative data across all relevant dimensions.
Inputs needed:
Actions:
Output: A baseline scorecard with numeric values for each Quick Reference dimension.
Verify that all email authentication protocols are correctly configured and aligned.
Actions:
Output: Authentication status matrix. See references/authentication-setup-guide.md for remediation steps.
Assess the quality, composition, and engagement profile of the subscriber list.
Actions:
Output: List health report with segment sizes, risk flags, and recommended removals. See references/list-hygiene-guide.md.
Evaluate email content for spam filter triggers and technical issues.
Actions:
Output: Content audit findings with specific fix recommendations per campaign template.
Evaluate the technical sending setup and its impact on deliverability.
Actions:
Output: Infrastructure assessment with configuration recommendations.
Prioritize and sequence fixes based on impact and effort.
Priority framework:
Actions:
references/authentication-setup-guide.md.references/list-hygiene-guide.md.Output: Prioritized remediation plan with owners, timelines, and success criteria.
Set up ongoing monitoring to maintain deliverability gains.
Actions:
Output: Monitoring configuration and deliverability dashboard template. See assets/quality-checklist.md for ongoing audit use.
Situation: An online fashion retailer (250K subscriber list) using Klaviyo sees their Gmail open rates drop from 22% to 9% over 8 weeks. Their Black Friday campaign drove 40% of annual email revenue last year, and the holiday season is 10 weeks away.
Step 1 -- Baseline Assessment:
| Metric | Current Value | Target |
|---|---|---|
| Overall open rate | 12.4% | >20% |
| Gmail open rate | 9.1% | >20% |
| Outlook open rate | 18.7% | >20% |
| Yahoo open rate | 16.2% | >20% |
| Bounce rate | 3.2% | <1% |
| Spam complaint rate | 0.12% | <0.05% |
| List size | 248,600 | -- |
| Last list cleaning | 14 months ago | Every 90 days |
Google Postmaster Tools shows domain reputation as "Low" and IP reputation as "Medium."
Step 2 -- Authentication Audit:
v=DMARC1; p=none; -- No enforcement, no reporting configured.Step 3 -- List Health Analysis:
| Segment | Count | Percentage |
|---|---|---|
| Active (30 days) | 62,150 | 25.0% |
| Lapsing (31-90 days) | 49,720 | 20.0% |
| Inactive (91-180 days) | 54,692 | 22.0% |
| Dead (180+ days) | 82,038 | 33.0% |
Verification service results: 8,400 invalid addresses (3.4%), 2,100 spam traps identified (0.84%), 4,200 role accounts (1.7%).
Step 4 -- Content Scan:
Step 5 -- Infrastructure Review:
Step 6 -- Remediation Plan:
| Priority | Action | Timeline | Expected Impact |
|---|---|---|---|
| Critical | Remove 8,400 invalid addresses and 2,100 spam traps | Day 1 | Reduce bounce rate from 3.2% to ~1.5% |
| Critical | Fix SPF record: flatten to reduce lookups below 10 | Day 1 | Resolve intermittent SPF failures |
| High | Suppress 82,038 dead subscribers from regular campaigns | Day 2 | Reduce complaint rate, improve engagement ratios |
| High | Configure DMARC reporting: add rua tag | Day 2 | Gain visibility into authentication failures |
| High | Set up custom bounce domain in Klaviyo | Day 3 | Align return-path for SPF |
| Medium | Redesign templates: 60/40 text-to-image ratio | Week 1-2 | Reduce spam filter scoring |
| Medium | Add plain-text parts and List-Unsubscribe header | Week 1 | Improve Gmail compliance |
| Medium | Implement sunset policy: suppress 180+ day inactives | Week 2 | Long-term list health |
| Low | Upgrade DKIM to 2048-bit | Week 3 | Future-proof authentication |
| Low | Move DMARC to p=quarantine after 30 days of monitoring | Week 4 | Strengthen domain protection |
Step 7 -- Results after 6 weeks:
| Metric | Before | After | Change |
|---|---|---|---|
| Overall open rate | 12.4% | 24.8% | +100% |
| Gmail open rate | 9.1% | 22.3% | +145% |
| Bounce rate | 3.2% | 0.6% | -81% |
| Spam complaint rate | 0.12% | 0.03% | -75% |
| Active list size | 248,600 | 156,200 | -37% (intentional) |
| Revenue per email | $0.04 | $0.11 | +175% |
Situation: A health supplements DTC brand (80K subscribers) migrated from Mailchimp to Omnisend. Two weeks after migration, delivery rates collapse. Customer service reports customers are not receiving order confirmations.
Step 1 -- Baseline Assessment:
| Metric | Pre-Migration | Post-Migration |
|---|---|---|
| Delivery rate | 97.8% | 72.4% |
| Open rate | 24.1% | 8.3% |
| Bounce rate | 0.8% | 11.6% |
| Spam complaints | 0.03% | 0.22% |
Step 2 -- Authentication Audit:
v=DMARC1; p=quarantine; -- Emails failing DKIM are being quarantined by receiving servers. This is the primary cause of the delivery collapse.Step 3 -- List Health Analysis: During migration, the full list was imported without suppression lists. Result:
The initial Omnisend campaign was sent to all 80K contacts at once -- no warm-up on the new sending infrastructure.
Step 4 -- Content Scan:
Step 5 -- Infrastructure Review:
Step 6 -- Remediation Plan:
| Priority | Action | Timeline |
|---|---|---|
| Critical | Configure Omnisend DKIM signing immediately | Hour 1 |
| Critical | Remove old Mailchimp SPF include | Hour 1 |
| Critical | Reimport suppression lists: hard bounces, unsubscribes, spam complaints | Hour 2 |
| Critical | Submit delisting requests to Spamhaus and Barracuda with evidence of corrective action | Day 1 |
| Critical | Separate transactional emails to subdomain (transact.supplements-brand.com) with own authentication | Day 1-2 |
| High | Suppress all 12,400 long-inactive contacts | Day 1 |
| High | Begin IP warm-up: start with 500/day to engaged-only segment, double every 2-3 days | Day 2-14 |
| Medium | Set up mail.supplements-brand.com for marketing sends | Week 2 |
| Medium | Rewrite templates to remove spam trigger health claims | Week 2-3 |
| Low | Implement engagement-based sending segments in Omnisend | Week 3-4 |
Results after 4 weeks:
Sending to the entire list without segmentation. Mailing 180-day-inactive subscribers alongside active ones drags down engagement ratios and trains mailbox providers to deprioritize your messages. Always segment by engagement recency and adjust frequency accordingly.
Ignoring Google Postmaster Tools data. Google processes ~30% of all email. If your domain reputation shows "Low" in Postmaster Tools, you have a Gmail problem regardless of what your ESP dashboard says. Check Postmaster Tools weekly at minimum.
Flattening SPF records incorrectly. When SPF exceeds 10 DNS lookups, some senders hardcode IP addresses to flatten it. This breaks when the ESP changes IPs. Use an SPF flattening service that auto-updates, or restructure includes to stay under the limit natively.
Setting DMARC to p=reject before monitoring. Jumping straight to a reject policy without first collecting aggregate reports at p=none will cause legitimate email from third-party senders (review request tools, loyalty platforms) to be silently rejected. Always start at p=none with rua reporting, then move to quarantine, then reject.
Not migrating suppression lists during ESP changes. When switching ESPs, the suppression list (hard bounces, unsubscribes, spam complaints) must transfer. Failing to do so means remailing people who already opted out or bounced, which causes immediate reputation damage and potential legal liability.
Buying or renting email lists. Purchased lists contain spam traps, invalid addresses, and unengaged recipients. Even a small purchased list segment (5-10% of total) can poison domain reputation for months. There is no legitimate shortcut to list building.
Sending high-volume campaigns on inconsistent schedules. Going from 0 sends in a week to 500K in a day triggers volume-based throttling at every major provider. Maintain consistent sending cadence and increase volume gradually (no more than 2x per week during ramp-up).
Using URL shorteners in email body. Bit.ly, TinyURL, and similar shorteners are heavily abused by spammers. Spam filters penalize their presence. Always use full, branded URLs or your own redirect domain.
Neglecting the plain-text version. Sending HTML-only emails without a plain-text MIME alternative raises spam scores. Every email should include a well-formatted plain-text part that mirrors the HTML content.
Treating deliverability as a one-time fix. Deliverability is an ongoing discipline. Lists decay at 25-30% per year, mailbox provider algorithms change, and sending patterns shift. Quarterly audits using the full workflow are essential to maintaining inbox placement.