TL;DR: Email list hygiene is the practice of removing undeliverable, unengaged, and harmful contacts from your sending list to protect deliverability and inbox placement. To clean your Klaviyo list without losing revenue: (1) diagnose which unengaged contacts are actually generating revenue, (2) run a two-email sunset flow to recover anyone worth saving, then (3) suppress non-responders, hard bounces, spam complainants, and role-based addresses. In that order, every 90 days.
If your Klaviyo list hasn't been cleaned in the last 90 days, your deliverability is already degrading — and your open rates are lying to you about it. The fix isn't complicated: diagnose what's actually dragging performance, run a reengagement flow for anyone worth saving, then suppress the rest. This article gives you the exact sequence.
Here's the thing about list hygiene that nobody says plainly: the brands that refuse to clean their lists aren't protecting revenue. They're slowly poisoning their sender reputation while the engaged portion of their list suffers lower inbox placement on every send.
Before you remove a single contact, you need to run the math. Most DTC operators are surprised by what they find.
Why Does List Hygiene Actually Matter for Revenue?
An unhealthy email list doesn't just waste your send budget — it actively degrades inbox placement for your engaged subscribers. When Gmail and Yahoo see a pattern of unengaged recipients not opening your mail, they start filtering your messages to the Promotions tab or spam folder for everyone, including your best customers. That's the real revenue leak.
Email deliverability is the measure of whether your emails actually land in the inbox versus spam or promotions. It's determined primarily by your sender reputation — a score that inbox providers calculate based on engagement signals from your recent sends.
Every email you send to someone who hasn't opened or clicked in six months is a negative signal. Not a neutral one. Gmail tracks the ratio of engaged to unengaged opens on your sending domain, and when that ratio tips unfavorably, your inbox placement rate slides. Your spam complaint rate is the number of recipients who marked your email as spam, expressed as a percentage of emails delivered — Google's threshold is below performance that shifts with your audience for healthy sending, and anything above 0.30% starts triggering filtering for your entire list.
The compounding effect is what kills brands. You keep the unengaged portion of your list to protect some theoretical revenue, but in doing so you erode the inbox placement for the engaged subscribers who are actually driving your email-attributed revenue. The math almost always favors cleaning.
Before your email authentication setup can do its job protecting your sending domain, you need a clean list sending to it. Authentication tells inbox providers who you are. List hygiene tells them you're worth listening to. For broader context on how inbox providers evaluate sender trustworthiness, Google's Postmaster Tools documentation explains exactly which signals Gmail weighs when making inbox placement decisions.
From Blossom's benchmark data: Healthy DTC email programs maintain a list where fewer than 15% of subscribers have never engaged. Above that threshold, never-engaged contacts are a red flag that typically correlates with inbox placement problems.
What Are the Three Categories to Remove Immediately — No Reengagement Flow Needed?
Three categories should be suppressed immediately, without running any reengagement sequence first: hard bounces, spam complainants, and role-based email addresses. These contacts have no recovery path and every send to them actively damages your sender reputation.
Understanding the difference between bounce types matters here. A hard bounce is a permanent delivery failure — the email address doesn't exist, the domain is invalid, or the recipient's server has permanently rejected your messages. A soft bounce is a temporary failure — a full inbox, a server outage, a message that's too large. Soft bounces may resolve themselves. Hard bounces never will.
In Klaviyo, hard bounces are automatically suppressed from future sends after the first hard bounce event — the platform handles this for you. But you should audit your suppression list quarterly to verify this is working and to identify patterns (a sudden spike in hard bounces often signals a bad import or a compromised list segment).
Role-based email addresses are addresses like info@, support@, admin@, hello@, contact@, and sales@ — addresses that route to a team inbox rather than an individual. No real person subscribed those addresses to your list with buying intent. They're low-engagement by nature, frequently trigger spam complaints because multiple people manage the inbox, and should be removed whenever identified.
Spam complainants are the most urgent removal. A spam complaint rate above figures that differ across accounts will start triggering Gmail filtering — and Klaviyo automatically suppresses contacts who mark your emails as spam. Again, verify this is configured correctly in your account settings. The Abuse Reporting Format (ARF) standard underpins how inbox providers communicate complaint data back to senders — understanding this helps clarify why complaint rates carry so much weight with Gmail and Yahoo.
Immediate Removal Checklist in Klaviyo
- Hard bounces: Klaviyo > Profiles > filter by Suppressed > reason = Hard Bounce. Review count monthly.
- Spam complaints: Klaviyo > Profiles > filter by Suppressed > reason = Marked as Spam. If this number is growing, investigate your campaign content and frequency before sending more.
- Role-based addresses: No automated Klaviyo filter for this. Run a manual export and filter for info@, admin@, support@, hello@, contact@ domains. Suppress via bulk suppression.
Should You Suppress or Delete Unengaged Contacts in Klaviyo?
Always suppress first; delete rarely or never. In Klaviyo, suppression removes a contact from all future sends while preserving their profile data, purchase history, and compliance audit trail. Deletion is permanent and irreversible — it severs the link between the email address and their order history in Klaviyo, which breaks attribution and reporting going forward.
This distinction is operationally critical and almost no generic list hygiene content addresses it.
A suppression list is Klaviyo's mechanism for preventing emails from being sent to a contact while keeping their profile intact. Suppressed contacts don't receive any campaigns or flows, which is exactly what you want for unengaged subscribers — you're protecting your deliverability without destroying the data.
Here's what deletion actually costs you:
- Purchase history linkage breaks. If a deleted contact later re-subscribes with the same email, their previous order data won't connect to the new profile. You lose LTV visibility and replenishment timing.
- Compliance records are lost. GDPR and CAN-SPAM require you to maintain records of opt-in consent and unsubscribe requests. Deleted profiles can't be audited. Suppressed profiles can.
- Reactivation is impossible. A suppressed contact who clicks a link on your site can be re-subscribed to flows with proper setup. A deleted contact starts from zero.
One important Klaviyo billing note: suppressed contacts do count toward your active profile count for billing purposes. If you're hitting a tier threshold and costs are a concern, deletion removes them from billing — but you're trading compliance risk and data integrity for a bill reduction. For most DTC brands, suppression is the right default. Deletion is for contacts that are clearly junk (fake emails, obvious spam traps, role accounts).
How Do You Calculate Whether Unengaged Contacts Are Worth Keeping?
Before suppressing anyone in the "unengaged but not bounced" category, pull the segment in Klaviyo and check their actual revenue contribution. In most DTC programs we work with, contacts who haven't opened or clicked in 180 days generate less than outcomes tied to your specific list of email-attributed revenue while typically representing 20–35% of the deliverable list. That math makes the decision easy.
This is the diagnostic step that almost nobody does — and it's the step that makes list hygiene a revenue decision rather than a technical chore.
Here's how to run it in Klaviyo:
- Build a segment: Has not clicked email in the last 180 days AND has not placed order in the last 180 days. (Use clicks, not opens — since iOS 15, Apple Mail auto-loads tracking pixels, inflating open rates for a significant portion of your list. Click data is the reliable signal.)
- Open that segment and click View Predictive Analytics or export profiles to check their historical placed order data.
- Compare: what percentage of your total Klaviyo-attributed revenue came from this segment in the last 12 months?
- If it's under results that vary by program of total email revenue, you have your answer. The deliverability damage from keeping them costs more than the revenue risk of removing them.
Revenue per recipient (RPR) is the average revenue generated per email sent, calculated by dividing total email-attributed revenue by emails delivered. When you run this calculation by segment, you'll typically find that your 180-day unengaged segment has an RPR close to zero — while your engaged segment's RPR is multiple times higher. The unengaged contacts aren't contributing revenue; they're pulling down your sender score that makes the engaged contacts' emails land.
Not sure what your numbers look like — or whether your engagement segmentation is set up to give you accurate data? We offer a free Klaviyo audit that covers bounce rates, suppression setup, engagement segmentation, and the flows you should be running before you cut anyone. See what we'd find in your account.
What Is a Sunset Flow and How Do You Run One Before Suppressing Anyone?
A sunset flow — also called a winback or reengagement flow — is a short automated sequence sent to unengaged contacts before suppression. Its job is to recover the small percentage worth saving and cleanly remove everyone else. Running it before suppression means you're not leaving reactivatable revenue on the table.
The sequence matters. Brands that skip the sunset flow and go straight to suppression are making two mistakes: they're potentially suppressing contacts who would have responded to the right message, and they're missing an opportunity to clean the list in a way that actually improves it rather than just shrinks it.
A standard sunset flow in Klaviyo runs two emails over 7–10 days:
- Email 1 — The Re-engagement Ask (Day 0). Subject lines like "Are you still there?" or "Should we stop emailing you?" work here. Keep it short. Show them something worth clicking — your best-reviewed product, a recent launch, something that demonstrates the brand hasn't stagnated. Include a clear YES/NO CTA: a button to stay subscribed, and a visible unsubscribe link. Do not offer a discount here. Discounts attract deal-seekers who go inactive again immediately after redeeming.
- Email 2 — The Final Goodbye (Day 7). "This is our last email unless you click below." One CTA to stay. If they don't click within 3–5 days of Email 2, suppress them.
In Klaviyo, set the flow trigger as: Has not clicked any email in the last 90–120 days AND is not suppressed AND has not placed an order in the last 90 days. The exact inactivity window depends on your purchase cycle — more on that below.
What you're doing with the sunset flow is the same thing you'd do with a winback flow for lapsed customers — the difference is that the sunset is for contacts who have never purchased, while winback flows target customers who bought and then went quiet. Both run the same logic: attempt reengagement, then suppress non-responders.
After the flow completes, anyone who clicked stays in your engaged segments. Everyone else gets suppressed. The list is now smaller, but every remaining contact is a real signal.
How Often Should You Clean Your Email List?
Run a full list cleaning cycle — diagnostic, sunset flow, and suppression — every 90 days. Ongoing maintenance (immediate suppression of hard bounces and spam complaints, real-time exclusion of unengaged contacts from campaigns) should run continuously as part of your standard send setup in Klaviyo.
The 90-day cadence matches the typical cycle for DTC email programs to accumulate enough new inactive contacts to make a cleaning meaningful, without letting the problem compound too long. If you're running a high-volume program (daily sends, aggressive list growth), consider a 60-day cycle instead.
Ongoing vs. Periodic Hygiene Tasks
- Continuous (every send): Exclude contacts with no click in 90+ days from all campaign sends. Use Klaviyo's exclusion list feature or build a suppressed segment for this. This protects your sender reputation on every send without requiring a full cleaning cycle.
- Monthly: Review bounce and spam complaint counts. Flag any sudden spikes. Check that Klaviyo's automatic suppression rules are firing correctly.
- Quarterly: Full diagnostic — build the unengaged segment, check their revenue contribution, run the sunset flow for new entrants, suppress non-responders. Review your inactivity threshold against recent purchase data.
- Annually: Full list audit — remove obvious junk (role accounts, fake domains), review suppression list composition, re-evaluate your inactivity threshold as purchase patterns evolve.
One tactical note: run your quarterly cleaning at least 6–8 weeks before any major send (BFCM, a product launch, a sale). Cleaning right before a high-volume event gives your sender reputation time to improve before you need maximum inbox placement.
Maintaining a consistent send cadence also keeps the list healthier between cleaning cycles. A well-structured email campaign calendar that mixes promotional, educational, and social proof content keeps engagement signals strong — which means fewer contacts fall into the unengaged bucket in the first place.
How Do You Set the Right Inactivity Threshold for Your Brand?
The correct inactivity threshold for list suppression is based on your brand's actual purchase cycle, not an industry-generic 90 or 180-day rule. A supplements brand with a 30-day replenishment cycle and a furniture brand with an 18-month purchase cycle need completely different definitions of "inactive."
Generic advice says suppress anyone who hasn't engaged in 90–180 days. That number was not calculated against your catalog, your customers' buying patterns, or your average days between purchases. Apply it blindly and you'll suppress lapsed customers right before they would have naturally reordered — or worse, keep contacts active for a year past any reasonable reorder window for a consumable product.
Here's a simple model for calibrating your threshold:
- Pull your median days between first and second purchase from Shopify or Klaviyo's predictive analytics. This is your natural purchase cycle.
- Set your inactivity threshold at numbers that depend on your setup that number as a starting point. If the median is 45 days, your threshold is 90 days. If the median is 90 days, your threshold is 180 days.
- Add a 30-day buffer for email engagement lag. Customers sometimes buy without engaging with an email in the week prior — they might buy from a paid ad, organic search, or direct traffic. Give them a grace period.
Purchase-Cycle-Adjusted Thresholds by Category
- High-frequency consumables (supplements, coffee, pet food, skincare routines): Median purchase cycle 30–60 days — Inactivity threshold 90–120 days
- Mid-frequency lifestyle (apparel, beauty, home goods): Median purchase cycle 60–120 days — Inactivity threshold 150–180 days
- Low-frequency considered purchases (furniture, mattresses, high-ticket electronics): Median purchase cycle 180–365+ days — Inactivity threshold 270–365 days
For brands with mixed catalogs, use your highest-frequency product line as the floor and your lowest-frequency as the ceiling. Run separate suppression logic for each major category if your Klaviyo setup supports it.
The acquisition source also matters. Subscribers from a welcome flow who never purchased have a different expected behavior pattern than customers who bought and then stopped engaging. Non-buyers who haven't clicked in 90 days are far more likely to be permanently disengaged than lapsed customers who hit their natural repurchase window. Consider separate thresholds for buyer vs. non-buyer segments.
The Three-Phase Clean Without Killing Revenue Framework
The complete sequence for cleaning a Klaviyo list without leaving recoverable revenue behind runs in three phases: Diagnose (pull the unengaged segment and check its actual revenue contribution), Re-engage (run the sunset flow for non-bounce unengaged contacts), then Remove (suppress non-responders and hard-categorize the rest). In that order, every time.
Here's the full sequence mapped out:
Phase 1: Diagnose
- Build your unengaged segment: no click in [your threshold] days, no order in [your threshold] days, not suppressed
- Pull the segment size as a percentage of your total list
- Check historical revenue from this segment (last 12 months of Klaviyo-attributed revenue)
- If revenue contribution is under performance that shifts with your audience of total email revenue: proceed to Phase 2
- If revenue contribution is above figures that differ across accounts: investigate before proceeding — you may have attribution issues or a click-tracking gap
Phase 2: Re-engage
- Build your sunset flow (2 emails, 7 days, no discount)
- Trigger it for all contacts who enter the unengaged segment and have not placed an order in your threshold window
- Contacts who click stay in your engaged segments
- Contacts who don't click within 5 days of Email 2 move to Phase 3
- Exclude anyone currently in a winback flow — they're already being re-engaged through a more targeted sequence
Phase 3: Remove
- Hard bounces — suppress (Klaviyo handles automatically; verify it's working)
- Spam complainants — suppress (Klaviyo handles automatically)
- Role-based addresses — suppress via bulk action
- Sunset flow non-responders — suppress via flow action or manual bulk action
- Do not delete unless: obvious junk email, fake domain, or the contact explicitly requested deletion under GDPR/CCPA
Want to work through this sequence on your own account — or have someone audit it for you before you touch anything? Book a free strategy call and we'll map out your list hygiene plan, including which segments to build first and how to calibrate your inactivity threshold to your actual purchase cycle.
How to Keep Your List Clean on an Ongoing Basis
List hygiene is not a one-time project. The brands with the healthiest lists run continuous engagement gating — meaning they exclude unengaged contacts from every campaign send, not just after a quarterly cleaning. This keeps sender reputation strong between full cleaning cycles and prevents the unengaged bucket from growing unchecked.
In Klaviyo, set this up as a persistent exclusion: every campaign send excludes profiles where the last email click was more than 90 days ago (or your brand's threshold). This doesn't suppress them permanently — it just means they don't receive campaigns while they're dormant. If they click something (via a flow trigger, a transactional email, or a site visit that leads to a form), they re-enter the campaign audience automatically.
The other half of ongoing hygiene is acquisition quality. The best list hygiene strategy is not having to clean the list in the first place. A strong welcome flow with clear brand expectations set in the first email tends to create better long-term engagement. Subscribers who understand what they signed up for — and received genuine value in the first few sends — don't go inactive at the same rate as subscribers acquired through generic discount popups with no follow-through.
If double opt-in is viable for your brand (it reduces list growth rate but increases quality significantly), it's worth testing, especially if you're running paid traffic to your sign-up forms. Double opt-in requires a second confirmation click, which filters out fake emails, mistyped addresses, and low-intent signups before they ever enter your list.
Monitor your list growth rate — the net percentage of new subscribers added monthly after accounting for unsubscribes and suppressions. A healthy program according to Blossom's benchmark data runs at 3–5% monthly net growth. If your growth rate is declining month-over-month, that's a list acquisition problem that hygiene alone won't solve.
Frequently Asked Questions
How do I clean my email list without losing subscribers?
Run a two-email sunset flow before suppressing anyone. This gives unengaged contacts a chance to re-engage — those who click stay on your list, those who don't get suppressed. In most programs, 5–15% of unengaged contacts will respond to a well-crafted re-engagement sequence according to Blossom's benchmark data. The goal isn't to keep everyone; it's to keep everyone worth keeping.
How often should I clean my email list?
Run a full cleaning cycle — diagnostic, sunset flow, suppression — every 90 days. Between cycles, use continuous engagement gating in Klaviyo to exclude contacts who haven't clicked in 90+ days from all campaign sends. This protects your deliverability on every send without requiring a full cleaning event.
Does removing inactive subscribers improve deliverability?
Yes, consistently. When you stop sending to unengaged contacts, your engagement rate (clicks and opens relative to sends) increases. Inbox providers like Gmail and Yahoo use that engagement ratio to calibrate inbox placement. Higher engagement ratios from the remaining list translates to better inbox placement, which means your revenue-driving emails reach more people in the inbox instead of the spam folder or Promotions tab.
Should I delete or suppress unengaged email subscribers in Klaviyo?
Suppress, not delete. Suppression prevents future sends while preserving purchase history, compliance records, and the ability to reactivate the contact later. Deletion permanently severs the contact's order history from their profile in Klaviyo and removes your compliance audit trail. The only contacts worth deleting are obvious junk — fake emails, invalid domains, or explicit deletion requests under GDPR.
What is the difference between a soft bounce and a hard bounce?
A hard bounce is a permanent delivery failure: the email address doesn't exist, the domain is invalid, or the server has permanently rejected your messages. Suppress immediately. A soft bounce is a temporary failure: a full inbox, a server timeout, or an oversized message. Soft bounces may resolve themselves and don't require immediate suppression, but should be monitored — repeated soft bounces to the same address often indicate a hard bounce in progress.
Get tactics like this in your inbox every week — we share what's working across our client retention programs. Subscribe to our newsletter →
Need help implementing this?
Let us take the hassle of managing your email marketing channel off your hands. Book a strategy call with our team today and see how we can scale your revenue, customer retention, and lifetime value with tailored strategies. Click here to get started.
Curious about how your Klaviyo is performing?
We’ll audit your account for free. Discover hidden opportunities to boost your revenue, and find out what you’re doing right and what could be done better. Click here to claim your free Klaviyo audit.
Want to see how we’ve helped brands just like yours scale?
Check out our case studies and see the impact for yourself. Click here to explore.
Read Our Other Blogs

Email Marketing Series – #2: How to Craft Attention-Grabbing Subject Lines



Email Marketing vs. Social Media Marketing — Which Should I Use?



Email Marketing Series – #1: Crafting an Effective Email Marketing Strategy




Not Sure Where to Start?
Let's find the biggest retention opportunities in your business. Get a free Klaviyo audit or retention consultation.


























































































