How to Audit Your Email & SMS Program
A framework for auditing your retention marketing. Identify gaps, benchmark performance, and prioritize improvements for maximum ROI.
- Choose the right retention metric and denominator
- Turn performance signals into an operating decision
Why should you audit your email and SMS program?
A retention audit examines five areas: revenue attribution, flow performance, campaign performance, list health, and technical setup. It gives you a fact base before you change a single email or SMS message.
You cannot fix what you have not measured.
An audit tells you what is working, where the biggest wins are, and the benchmarks to hold yourself to.
Start here before you change a single email.
Audit five areas in order: revenue attribution, flow performance, campaign performance, list health, and technical setup. Start by documenting the same dates, denominator, attribution settings, and eligibility rules across every report. Confirm that essential journeys and authentication are in place, then rank fixes by expected impact, confidence, and effort. The first goal is a reliable baseline, not a generic score.
What areas should a retention audit cover?
A retention audit covers 5 areas, in this order. Revenue attribution tells you the size of the prize. Flow and campaign performance show where you win or leak. List health protects deliverability. Technical setup makes sure the emails land at all. Work them top to bottom.
What share of revenue should email and SMS drive?
ZHS uses a directional operating range for combined email- and SMS-attributed revenue in established DTC programs. Report email and SMS separately, then combine them; do not impose a universal channel split. A result below the range triggers diagnosis of attribution, eligibility, product economics, capture, flows, and campaigns, not an automatic instruction to send more. Use the canonical benchmark guide and pull a comparable period.
The question: what share of total revenue comes from email and SMS?
| Metric | Needs Work | Good | Excellent |
|---|---|---|---|
| Email attributed share | Record and trend separately | Diagnose with audience and program context | Validate incrementality before celebrating credit |
| SMS attributed share | Record and trend separately | Diagnose with consent, cost, and program context | Validate incrementality and contribution |
| Combined email + SMS attributed share | Diagnose below operating range | Use the canonical ZHS operating range | Validate incrementality and margin |
In Klaviyo: Analytics → Dashboard → Attributed Revenue for the documented comparison period ÷ Shopify Revenue for that same period
Which flows should you have, and what should they earn?
Start with four essential journeys: welcome, abandoned cart, abandoned checkout, and post-purchase. Then add growth and advanced journeys only where the required event, consent, catalog, and operational owner exist. Checkout recovery is often a high-intent place to begin; measure it against a clearly defined eligible audience rather than assuming the same return for every catalog. See our abandoned cart and checkout recovery guide for the setup.
Flows You Should Have
Essential:
- Welcome Series
- Abandoned Cart
- Abandoned Checkout
- Post-Purchase
Growth:
- Browse Abandonment
- Winback
- VIP/Customer Thank You
Advanced:
- Replenishment
- Birthday
- Back in Stock
- Price Drop
What to compare for each flow
The two canonical cards above are ZHS operating ranges for the defined welcome and cart-recovery populations. They do not establish a universal conversion target for every other flow. For each remaining journey, record its trigger volume, eligibility, delivered messages, conversion definition, revenue attribution, and suppression behavior before comparing periods.
Flow audit fields that make comparisons credible
| Criteria | Primary question | Evidence to retain |
|---|---|---|
| Welcome | Does every eligible new subscriber enter the correct path? | Entry source, consent state, sequence, delivered audience, and attributed revenue |
| Cart and checkout | Does the journey stop immediately after purchase and avoid overlap? | Trigger definition, purchase exclusion, event volume, timing, and attribution |
| Post-purchase | Does the message serve the product and the next customer action? | Product cohort, delivery state, repeat-order window, and message eligibility |
| Browse and advanced flows | Is there enough identified intent to justify the message? | Identity coverage, consent, trigger quality, suppression, and incremental test plan |
Compare like-for-like populations before assigning a performance label or moving a flow up the roadmap.
What are good email campaign benchmarks?
Use the canonical click and unsubscribe bands as directional ZHS diagnostics, then read them by audience, send type, acquisition source, and trend. Open and conversion rates add context, but their definitions and reporting can vary. Let recipient behavior and the value of each planned send determine cadence rather than applying one calendar to every list.
Pull a set of comparable recent campaigns and look at them together.
| Metric | Needs Work | Good | Excellent |
|---|---|---|---|
| Open rate | Check reporting method and the program's own trend | Compare similar audience and message types | Never use it alone as a quality verdict |
| Click rate | Use the canonical ZHS diagnostic card | Compare offer, placement, and audience | Confirm the platform's click definition |
| Conversion | Confirm the event and attribution window | Compare similar product and traffic conditions | Separate attribution from incrementality |
| Unsubscribe | Use the canonical ZHS diagnostic card | Segment by source and send type | Investigate a worsening trend quickly |
Ask yourself:
- Does every planned send earn its place for this audience?
- Are campaigns segmented, or blasted to the full list?
- Are you A/B testing anything at all?
What does a healthy email list look like?
A healthy list has an explicit engagement definition, consistent audience windows, and a planned treatment for dormant profiles. There is no portable engagement percentage: a replenishable catalog, a seasonal business, and a high-consideration purchase cycle create very different baselines. Track recent, active, and dormant audiences against the brand's purchase cycle, then review delivery, clicks, conversions, complaints, and unsubscribes together.
| Audience state | Define it with | Audit question |
|---|---|---|
| Recent engagement | A documented interaction or purchase window | Is this audience receiving the right amount of email? |
| Active engagement | Behavior that fits the category's buying cycle | Is engagement improving or decaying over comparable periods? |
| Dormant profiles | A documented lack-of-engagement rule | Is reactivation, suppression, or a different channel appropriate? |
List size is not a health metric on its own. Favor documented consent and meaningful engagement over indiscriminate volume.
What technical setup does an email program need?
Three things must be right: authentication, integrations, and compliance. Configure SPF, DKIM, and DMARC, use a branded sending domain, connect Shopify, sync the catalog, and confirm event tracking. Then check that unsubscribe links, a physical address, and SMS consent are all in place. Record the account-specific sender configuration rather than using a volume threshold copied from another program.
Authentication:
- SPF configured
- DKIM configured
- DMARC configured
- Branded sending domain configured and verified
Integrations:
- Shopify connected
- Product catalog syncing
- Events tracking (Browse, Add to Cart, etc.)
- Revenue attribution working
Compliance:
- Unsubscribe links work
- Physical address in footer
- SMS consent captured
How do you prioritize what to fix first?
Rank each fix by expected impact, confidence in the evidence, effort, and risk. A missing purchase exclusion with proven overlap may outrank a design refresh even if the refresh feels more visible. Do the work with a clear problem statement, a measurable outcome, and a reversible path before making broad program changes.
| Opportunity | Expected impact | Evidence confidence | Effort | Priority rationale |
|---|---|---|---|---|
| Add or repair an abandonment journey | High when eligible volume exists | Confirmed by event and purchase data | Moderate | Fixes a defined gap with a measurable audience |
| Segment campaigns | Varies by audience and offer | Requires a clean baseline | Moderate | Use when the broad send hides meaningful differences |
| Redesign a welcome message | Varies by creative and entry source | Requires comparable performance data | Moderate | Test after eligibility, timing, and data quality are sound |
| Build a replenishment journey | Depends on repeat cycle and product | Requires order-cycle evidence | Higher | Add only when product timing is known |
Prioritize evidence-backed, high-impact work that is safe to measure and reverse.
What are the most common audit findings?
Common audit findings are missing journeys, stale logic, undifferentiated audiences, and a growing dormant population. None of these has a universal revenue percentage or age threshold. Estimate the impact from real eligible volume, current performance, and program constraints before putting it on a roadmap.
What are the most common audit findings
- 01Missing flowsEstimate from eligible event volume
No browse abandonment, no winback, or a one-message welcome. Model each gap from real entries instead of a universal revenue percentage.
- 02Outdated flowsCompare current-state performance
Flows built years ago may contain stale logic, offers, links, inventory, or consent behavior.
- 03No segmentationInspect marginal audience performance
Sending every campaign to one audience can hide fatigue and provider-specific deliverability problems.
- 04Inactive profilesUse the canonical tier and sunset policy
Route dormant profiles through reactivation, then suppress persistent inactivity using reliable signals.
Structured from the canonical article steps for responsive reading and presenter mode.
Audit Template
| Area | Current | Benchmark | Gap |
|---|---|---|---|
| Email + SMS attributed share | ___ | Canonical ZHS range, with documented attribution | |
| Welcome performance | ___ | Eligible audience, first-purchase rate, total attributed revenue, and trend | |
| Cart and checkout recovery | ___ | Eligible audience, recovery definition, and trend | |
| List engagement | ___ | Category-specific recent, active, and dormant definitions | |
| Campaign response | ___ | Comparable click, conversion, unsubscribe, and complaint trend | |
| SPF/DKIM/DMARC | ___ | Configured |
Get Expert Help
Our team runs a full retention audit as part of onboarding. Deep analysis, competitive benchmarks, a prioritized roadmap, and revenue estimates you can plan around.
Apply to work with us. Audit included with all packages.
Need help implementing this?
We build and manage complete email & SMS programs for DTC brands. Get a custom plan for your brand.
Apply Now