How to Clean Your Customer List Before a Reactivation Campaign

Bounces, dead addresses, forgotten unsubscribes, and consent gaps — the unglamorous 45 minutes that determines whether your campaign lands in inboxes or spam folders. The full cleaning checklist.

System 7 from the Leveraged Owner Starter Pack

You spend a week writing the perfect win-back sequence, hit send to 1,200 past customers, and watch the dashboard: 31% bounce rate, a spam complaint spike, and Gmail quietly routing your next three campaigns to the promotions tab — or worse, spam. The emails were good. The list was poison. Nobody tells contractors this, so here it is: list hygiene isn't a nice-to-have. It's the difference between a campaign that books jobs and one that damages your sender reputation for months.

This is the prerequisite for every System 7 campaign — the unsexy foundation under the full-and-calm-calendar framework's reactivation plays. Do it before every campaign, and once a year as a standalone audit. Forty-five minutes, no special tools required.

Why dirty lists kill deliverability (the 60-second version)

Email providers (Gmail, Outlook, Yahoo) score your "sender reputation" on every send. High bounces, spam complaints, and emails to dead addresses all lower the score. Drop it far enough and your emails stop reaching inboxes — including the transactional ones customers actually want, like appointment confirmations and invoices. One dirty blast can take months of clean sending to recover from. The campaign isn't worth it if it costs you your confirmations.

The 7-step cleaning checklist

1. Remove hard bounces from previous sends

Open your last few campaigns' reports and permanently remove every hard bounce (invalid address, domain doesn't exist). These addresses will never work — every future send to them is a reputation hit for nothing. Most email tools auto-suppress hard bounces after one failure; verify yours does, and manually remove any that slipped through.

2. Handle soft bounces

Soft bounces (mailbox full, temporary server issue) deserve one more chance, not infinite ones. Rule: an address that soft-bounces across three consecutive campaigns becomes a hard removal. Mark them, watch them, cut them.

3. Honor every unsubscribe — and audit the gaps

This is where contractors get in real trouble. Unsubscribes collected in one tool (your old email platform, a spreadsheet, a "take me off your list" reply someone forgot to process) but not synced to your current sender are live violations waiting to happen. Audit:

4. Verify the questionable addresses

Role-based addresses (info@, office@, admin@), old ISP domains, and anything with obvious typos (gmial.com, yaho.com) are bounce and complaint risks. Fix the typos you can identify, and consider running the list through an email verification service before a large campaign — it flags invalid, catch-all, and risky addresses for pennies per address. For a list under a few thousand, this costs less than lunch.

5. Check consent status

Segment your list by permission:

This is general information, not legal advice — email regulations (like CAN-SPAM in the US) have specific requirements, and the rules differ for transactional vs. marketing messages.

6. Remove the non-customers and the wrong fits

Your "customer list" probably contains vendors, job applicants, spam form submissions, and that one person who emailed asking about a job in another state. Filter by actual completed-job records. A reactivation campaign sent to 800 real customers beats one sent to 1,200 "contacts" — on response rate, on reputation, and on your own sanity when the replies come in.

7. Suppress recent complainers and open issues

Anyone with an unresolved complaint, an open callback, or a 1–2 star review gets personal outreach, not automation. Pull them out of the campaign list and handle them human-to-human. A win-back email landing on top of an unresolved complaint is how you manufacture a public review you didn't want.

The phone-number side (for text campaigns)

If your reactivation includes texts, the list needs a parallel cleaning:

The re-permission email (for the "unclear" segment)

For contacts in the implied/unclear consent bucket, don't just blast the campaign and hope. Send a re-permission email first — it cleans the list and re-engages people:

Subject: Still want our seasonal tips, [First Name]?

Hi [First Name],

Quick housekeeping: you've received our seasonal home tips from [Business Name] in the past. We send a few genuinely useful emails a year — freeze warnings, maintenance reminders, that kind of thing. No spam, no daily deals.

Want to keep getting them? Just reply YES — takes two seconds.

If we don't hear from you, we'll take you off the list. No hard feelings either way.

— [Your Name], [Business Name]

Why this works as list cleaning: the YES replies are your confirmed-engaged segment (your best campaign audience). The non-replies get suppressed — and they were the dead weight dragging your deliverability down anyway. A smaller list of people who said YES outperforms a big list of people who never opted in, on opens, bookings, and sender reputation.

Make it a habit: the annual list audit

Lists rot continuously — people change emails, unsubscribes arrive in stray inboxes, new contacts get added without consent flags. Put a 45-minute list audit on the calendar every year (November is ideal, right before the December/January campaign season): run the 7 steps, document what you removed and why, and start every campaign from a list you trust.

Assign one owner. "Somebody should clean the list" means nobody cleans the list.

Related guides in this series

Clean lists are the foundation of System 7 in the full-and-calm-calendar framework. Once yours is clean, run Win-Back Email Templates for the evergreen reactivation, or The Fall Furnace Tune-Up Campaign for the seasonal version.

Get System 1 free: the complete Missed-Call Safety Net

The full setup guide, all four copy-paste scripts (including the owner notification), the "Your Numbers" missed-call worksheet, and the step-by-step setup guide — free, no catch. Fix your missed calls this week.

Want all 8 systems + 6 bonus modules in copy-paste form? The AI Automation Starter Pack is $27: https://leveragedowner.com/starter-pack/

The done-for-you version

This post is System 7 from the Leveraged Owner Starter Pack — the done-for-you version with the full list-hygiene setup guide, the audit worksheets, the suppression-list templates, and complete setup guides for all 8 systems.

No third-party research stats cited — all checklists and frameworks are the author's own. Email compliance notes are general information, not legal advice.

Keep building your systems

Related guides from the Leveraged Owner blog: