How to Clean a Contact List in Thirty Minutes a Month
How to clean a contact list: fix duplicates first, retire the silent, exclude test contacts, check consent, and read the gap before every send. Thirty minutes.
To clean a contact list, fix the base in this order: stop duplicates at the door, resolve the ones already inside, mark test contacts, check consent, correct or remove records that bounce, and move the silent out of regular sending. Then repeat for thirty minutes every month.
How to clean a contact list without losing a weekend
Nobody cleans a list because they feel like it. You clean it because a number stopped adding up.
The report says one figure. The delivery says another. A segment looks huge and nobody replies. You stare at it and suspect the base, and you're right.
Here's the uncomfortable part. A segment built on a dirty base is a precise wrong answer. The count looks confident. It means nothing. You can have the cleverest tagging scheme in Europe and it will sit on top of rubbish.
So learning to clean a contact list isn't admin you do after the real work. It is the real work. And the good news is that most of it is a one-time setup followed by a short, boring habit.
Know what you are looking for
Dirt comes in a handful of kinds. Each costs you something different, so each needs a different fix.
| What is wrong | What it costs you | The fix |
|---|---|---|
| Duplicates | The same person is counted and mailed twice, and each copy holds half the history. | Pick a matching key. Make every entry point respect it. Merge deliberately. |
| Silent contacts | Every ignored message tells inbox providers your mail is unwanted, and that judgement lands on all of it. | One honest win-back, then out of regular sending. |
| Wrong records | Changed job, closed business, bouncing address. A quiet distortion in every count. | Correct or remove. |
| Your own test contacts | They open and click everything and score as your most engaged people. | Mark them with one consistent fact. Exclude by rule. |
| No consent on record | You mail people who never agreed to marketing. | Record consent as a structured fact. Make every marketing audience respect it. |
| Stale stages | Contacts stuck in one stage for an implausible time. Segments lean on a lie. | Define each stage by an event, so it moves when the event happens. |
Six problems. None of them is a technology problem. To clean a contact list, you fix failures of definition and upkeep, which is exactly why this is doable this week.
Free guide · 21 pagesStop writing to everyone the same way.The Segmentation Playbook: tags that stay clean, segments built on fit and behaviour.Get the free guide →Duplicates: stop the leak before you mop the floor
Most people start by hunting duplicates already in the list. Wrong end first.
Duplicates arrive constantly. The same person signs up twice. You import from two spreadsheets. Someone fills in a form at work and another at home. If you merge today's pile and leave the door open, you'll be merging again next month.
So do it in this order:
- Decide the matching key. For people, almost always the email address. For companies, the name or the website domain.
- Make every way in respect it. Imports and forms should recognise an existing record instead of creating a second one.
- Only then, resolve what is already inside. Choose which record survives, carry the history across, remove the other.
Prevention is far cheaper than cleanup. And when a thousand new leads arrive in a month, there is no cleaning up by hand. You'll lose.
The silent ones: shrink the list to grow the response
This is the step people resist. It feels like losing contacts.
It's the opposite. Contacts who go quiet for a long time earn you nothing, and keeping them on every send costs you sending reputation. Everything after that gets delivered a little less reliably, including the mail your best customers were waiting for.
The move is simple. Send one honest win-back that makes it easy to stay and easy to leave. Anyone who still doesn't respond leaves regular sending. They aren't deleted. They're rested.
What you get back is higher engagement on everything that follows. A smaller list that reads your mail beats a larger one that doesn't. If you want to see what the win-back and the rest of the messages should look like per group, how to send different messages to each segment covers it.
Test contacts and consent: two rules, set once
Your own addresses are the sneakiest problem. You test a form. You click through a sequence. Your test address now looks like your most engaged contact, and it quietly skews every report you read.
Give every test contact the same marker, and exclude that marker from scoring, segments and reports by rule. Not by memory. You will forget, on a tired evening, at exactly the wrong moment.
Consent works the other way round. It's the first filter on every marketing audience, so record it as a structured fact the moment someone arrives, and let every audience respect it automatically. If you have to remember to check it, you will eventually mail someone you shouldn't.
Wrong records and stale stages
Some contacts don't go quiet. They go wrong. They changed job, the business closed, the address bounces. Leaving them in is a quiet distortion in every count you read afterwards.
So correct the record if you know the new truth. Remove it if you don't. Don't leave it as a ghost.
Stages rot the same way. A contact stuck as a "lead" for an implausible length of time, with nothing happening, is a sign the stage is moving on your memory instead of on events. Fix the cause, not the contact. Define each stage by something that happens, such as a form filled in, a quote requested or a purchase made, so the stage moves when the event does. A base with accurate stages can be segmented sensibly with a handful of rules. A base with stale ones can't be rescued by any number of tags. If you're still deciding which groups to build on top, how to choose your first segments is the next step once the base is clean.
Free assessmentHow trapped are you, really?Take the Corporate Suffocation Index, the free solopreneur readiness assessment.Take the assessment →Your first pass to clean a contact list, in order
The first clean takes longer than thirty minutes. Do it in this order, and stop between steps if the evening runs out.
- Choose the matching key and fix imports and forms.
- Mark your test contacts and exclude them by rule.
- Make consent a recorded fact on every contact.
- Merge the duplicates already inside.
- Send the one win-back, then rest the silent.
- Correct or remove the records that bounce.
Order matters because the early steps stop new mess arriving while you tidy the old. Reverse it and you're bailing a boat with the tap still running.
Read the gap before every send
Here is the cheapest cleaning habit there is. Before you send, look at two numbers: who matches the segment, and who will actually receive.
They are never the same. Between them sit people with no marketing consent, people who unsubscribed, addresses that bounced, contacts with no address and duplicates sharing one. A count that ignores them is a promise you won't keep.
If the gap is small and stable, relax. If it's large or growing, don't send yet. Find out why. A big gap is almost always the base telling you it needs cleaning. Think of it as a smoke alarm you already own.
Free guide · 21 pagesStop writing to everyone the same way.The Segmentation Playbook: tags that stay clean, segments built on fit and behaviour.Get the free guide →The thirty-minute monthly pass
None of this is hard. All of it is easy to postpone, especially when the evening is short. So book it. A fixed appointment, once a month, thirty minutes.
- Tags. Look at tags with almost no contacts. Usually typos or abandoned experiments. Merge or remove them. Describe or retire the ones you can't explain. This gets its own treatment in how to name CRM tags.
- Records. New duplicates, bounces, people who have clearly moved on.
- Test contacts. Still excluded?
- Stages. Anyone sitting in one stage for an implausibly long time?
- The gap. Between segment size and real recipients. Stable, or growing?
One warning before you tidy a tag name. Scoring rules, sequence triggers and saved segments depend on tag names, and they break silently. They keep running, report no error and match nobody. Check what depends on a tag before renaming or deleting it.
Clean a contact list monthly and the base stays trustworthy. Clean it annually and it becomes a project you will never find the weekend for.
Free assessmentHow trapped are you, really?Take the Corporate Suffocation Index, the free solopreneur readiness assessment.Take the assessment →Frequently asked questions
How often should I clean a contact list?
Do a short pass every month, thirty minutes at a fixed time. Set the matching key and the entry rules once, so most of the mess never arrives. A list cleaned only once a year turns into a project you keep postponing.
Should I delete contacts who never open my emails?
Not straight away. Send one honest win-back that makes it easy to stay or leave. Those who still do not respond move out of regular sending. That protects your sending reputation and tends to lift engagement on everything after it.
What is the best way to find duplicates?
Prevent them first. Choose a matching key, usually the email address for people, and make imports and forms recognise existing records. Then merge what is already inside, keeping the surviving record's history intact.
Why does my segment show more people than receive the email?
Because of people without marketing consent, unsubscribes, bounced addresses, contacts with no address and duplicates sharing one. A small, stable gap is normal. A large or growing one is the base telling you it needs cleaning.
The full method, with the checklists, is in The Segmentation Playbook, a free 21-page playbook.
How trapped are you, really?
Take the Corporate Suffocation Index, the free solopreneur readiness assessment.