| name | email-campaign-audit |
| description | Audit email campaigns and transactional email for weight and waste — heavy image templates, remote assets fetched per open, tracking-pixel sprawl, missing plain-text alternatives, send-volume hygiene (unengaged segments, over-frequency). Use this skill whenever the user shares email templates or campaign stats, works on newsletters or transactional email at scale, or asks about email sustainability, deliverability weight, or list hygiene. Part of Lean Agentic AI Skills; emits lean-findings.json. |
Email Campaign Audit
Subject type: emit subject.type: "email-campaign" in findings.
Producer skill. Input: email templates (HTML), campaign stats (list size, send frequency, open/engagement rates), ESP configuration. Output: lean-findings.json.
An email's weight is multiplied by every recipient, every send — a heavy newsletter to a large list moves web-page-scale bytes weekly, then gets stored in millions of inboxes indefinitely. And the cheapest byte in email is the message never sent to someone who stopped reading.
Signatures
- Sends to the unengaged — segments with no opens/clicks across many sends still receiving every campaign. High: 100% of those bytes and storage buy zero value, and it damages sender reputation too (a rare finding where efficiency and deliverability point the same way). Evidence: engagement cohort stats. Fix: sunset policy — re-permission campaign, then suppress; state the list-size honesty (smaller engaged list beats larger dead one).
- Image-heavy templates — decorative full-width imagery, text rendered as images, uncompressed assets. High at list scale. Evidence: template asset inventory with byte sizes. Fix: compress, size to email width, HTML/CSS instead of image-text (accessibility bonus).
- No plain-text alternative — HTML-only sends; text-part absent. Medium (some clients then fetch the heavy part unnecessarily; deliverability cost too). Fix: proper multipart with a real text version.
- Tracking sprawl — multiple tracking pixels, per-link redirect chains through several domains, heavy analytics scripts in templates (mostly stripped by clients, still shipped). Medium. Fix: single pixel, direct links where measurement isn't needed; name the analytics trade-off honestly.
- Remote assets fetched per open — large hero images loaded from origin on every open with no CDN caching headers. Medium. Fix: CDN + long cache-control on immutable campaign assets.
- Over-frequency — send cadence beyond engagement's support (opens declining with frequency in the stats). Medium; this is demand-shaping for email. Fix: preference centers, frequency capping.
- Attachment habits — PDFs attached to bulk sends where a link serves. Medium: attachment bytes × recipients, stored forever in every inbox.
- Unbounded retention of campaign archives — every variant and asset kept hot at the ESP. Low; pairs with storage-lifecycle-audit logic.
Cost signal (countable)
Cost drivers: ESP send volume (emails/month) and asset egress GB — both countable from campaign stats and template weights (template bytes × recipients is arithmetic on counted numbers, so it is quotable). Suppressing dead segments reduces the send-volume driver directly; that delta is countable before/after.
Honesty rules
Engagement-based suppression trades reach for efficiency — marketing owns that call; present it as a finding with the reputational co-benefit, not a mandate. Inbox-side storage impact is real but unmeasurable from your side: directional language only. Template byte counts: measured from the actual assets, never estimated.
Not this skill's job
The landing pages emails link to (web-carbon-audit), the ESP's infrastructure (their footprint disclosures), marketing strategy beyond efficiency (the team's call).