TL;DR
- B2B contact data decays continuously, so list quality is a maintenance problem, not a setup problem. Monthly is the right cadence because it matches the decay rate.
- The audit has six points: bounce risk, duplicates, decay estimate, list fatigue, enrichment freshness, and a firmographic spot-check.
- Done properly with the right tooling, the whole thing takes under an hour. Most of that hour is waiting for a verification job to finish.
- Two of the six points can be fully automated. Two are partly automated. Two require a human looking at actual records — and those two are where the expensive problems hide.
- The output is not a clean list. It is a decision about what to suppress, re-verify, refresh, or rest before your next campaign.
Most sales teams audit their prospect data exactly once: the week they buy it. Then they run campaigns off that list for a year and quietly blame reply rates on messaging. The data was fine when it arrived. Nobody checked whether it still is.
Why monthly is the right cadence
The cadence question has a real answer, and it comes from how the underlying data behaves rather than from calendar convenience.
B2B contact data does not go stale in a single event. It erodes. People change jobs, companies restructure, domains migrate, headcounts shift, funding changes the buying picture. Widely cited estimates put B2B contact data decay in the low single digits per month, which compounds to roughly a fifth to a quarter of a list going bad over a year. That is a continuous process, which means any audit cadence slower than the decay rate is always working from a picture that has already moved.
Quarterly sounds responsible and fails in a specific way: you find problems three months after they started affecting campaigns, and by then you cannot tell which quarter's results were data and which were messaging. Weekly is over-engineering for most teams — the decay between weeks is smaller than the noise in your reply rates, so you burn an hour chasing signal that isn't there.
The real argument for monthly
Why the cadence matters more than the thoroughness
A monthly audit gives you a month-over-month trendline. That is the actual deliverable. A single audit tells you your list has problems. Twelve audits tell you whether your data sources are degrading, which segments decay fastest, and whether last month's cleanup held. One snapshot is a chore. A trendline is an operating input.
The 6-point prospect list audit
Run these in order. The sequence matters — verification first means you are not spending enrichment credits on addresses that were never going to be deliverable.
1. Bounce risk check
Run every address you plan to send to through verification. Not the whole database — the segments queued for the next 30 days. You are looking for the proportion of addresses that will hard bounce, plus the proportion that come back unresolvable.
The number to watch is the invalid rate. Deliverability guidance broadly converges on keeping campaign bounce rates under 2%, so if verification is flagging materially more than that across a segment, that segment is not ready to send. Use bulk email verification to get a status back on every address, then filter before import rather than after bounce.
2. Duplicate scan
Duplicates are not primarily a data-tidiness issue. They are a reputation issue and a credibility issue. The same prospect receiving your sequence twice from two reps is the fastest way to look like a spam operation to a buyer who was otherwise interested.
Scan on email address first, then on the harder cases: the same person at a new domain after an acquisition, the same company appearing under a trading name and a legal name. Duplicate rates climb fastest in teams that import from multiple sources, which is most teams.
3. Decay estimate
This is the point most audits skip, because it requires you to know something you probably are not tracking: how old each record is.
If your records do not carry an acquisition date, add one at the point of import — a simple date column on every upload. Going forward, that single field lets you segment by age and treat anything past 90 days as unverified by default. Retrospectively, you can approximate: group records by the source and the month you imported them, then check bounce rates by cohort. If a batch from eight months ago bounces at three times the rate of last month's batch, you have measured your own decay curve without needing a vendor to tell you. Our breakdown of how email list decay quietly kills campaigns covers the mechanics in more detail.
4. List fatigue check
A technically valid, perfectly enriched contact can still be a bad send if you have already messaged them four times this quarter. Fatigue is invisible to every data quality check — the record looks flawless right up until you notice its reply rate is zero.
Pull the contacts you have touched most recently and most often, and set an explicit rest period. Anything approaching your threshold gets suppressed from the next campaign rather than re-sequenced. This is the cheapest point on the audit and the one with the most immediate effect on reply rate.
5. Enrichment freshness
Enrichment is treated as a one-time event. It behaves like a perishable. The job title you enriched nine months ago is now wrong for a meaningful share of your list, and job title is usually what your personalization and your routing logic depend on.
Each month, take the segment you are about to send to and re-run lead enrichment against it rather than trusting the fields already sitting there. Comparing the returned values to your stored values also tells you something useful: a high change rate on a segment means that segment needs refreshing more often than the rest of your database.
6. Firmographic spot-check
This one cannot be automated away, and it takes ten minutes. Pull 20 records at random from the segment you are about to work. Open each company manually. Check headcount, industry classification, and whether anything material has changed — acquisition, pivot, funding, major layoff.
You are not cleaning 20 records. You are estimating an error rate. If four of 20 are wrong, roughly 20% of that segment is mistargeted, and no amount of message testing will fix a fifth of your list being outside your ICP. A sample of 20 is enough to tell the difference between a 5% problem and a 25% problem, which is the only distinction you need to act on.
How long this should actually take
The reason monthly audits do not happen is a belief that they take a day. They take about an hour of attention, and most of that hour is unattended processing time.
| Audit point | Hands-on time | What determines the number |
|---|---|---|
| Bounce risk check | 5 min setup | Processing runs in background; list size sets the wait |
| Duplicate scan | 5 min | Automatic on email match; manual only for edge cases |
| Decay estimate | 10 min | Fast if you track import dates, slow if you don't |
| List fatigue check | 5 min | Whether touch history sits in one place or several |
| Enrichment freshness | 10 min | Segment size and how you compare old to new values |
| Firmographic spot-check | 10–15 min | Irreducible — 20 records checked by a human |
Roughly 45 to 50 minutes of actual work, plus background processing. Put it on the calendar for the first working day of the month, before campaigns get built, not after they underperform.
What to do with what you find
An audit that produces a report and no action is worse than no audit, because it costs an hour and creates the impression of rigour. Every finding maps to one of four decisions.
- Suppress. Anything verification flags as undeliverable, plus contacts inside their rest period, plus companies the spot-check shows are outside ICP. These come out of the next campaign entirely — not deleted, suppressed, so you keep the history.
- Re-verify. Anything unresolvable or older than 90 days. If a segment is more than about a fifth unresolvable, treat the whole segment as unverified rather than cherry-picking.
- Refresh. Records where re-enrichment returned different values than you had stored. Update the fields, and note which segment it was — that segment now needs a shorter refresh interval than the rest.
- Rest. Contacts who are valid, accurate, and simply over-messaged. Set a return date and leave them alone until it arrives.
- Then log the six numbers. Invalid rate, duplicate rate, average record age, fatigue count, enrichment change rate, spot-check error rate. Six numbers in a spreadsheet, once a month. By month three you can see which of your data sources is quietly degrading, which is the finding that actually changes budget.
What you can automate, and what still needs a human
Be honest with yourself about this split, because the marketing around data hygiene tools tends to imply all six points collapse into a button. They don't, and the two that don't are the two that catch the expensive mistakes.
| Audit point | Automation level | What the human still does |
|---|---|---|
| Bounce risk check | Fully automated | Decide the threshold at which a segment doesn't ship |
| Duplicate scan | Fully automated | Resolve merges where two records are the same person |
| List fatigue check | Partly automated | Set the rest threshold; reconcile touches from other channels |
| Enrichment freshness | Partly automated | Trigger the re-run; compare returned values to stored ones |
| Decay estimate | Manual | Track import dates yourself; build the cohort comparison |
| Firmographic spot-check | Manual | All of it — 20 records, opened and read |
The practical read: automate the volume work, keep human judgment on the edges. Verification and deduplication are pure volume problems, and software beats people at them every time. Decay tracking and firmographic accuracy require someone to decide what "still true" means for your ICP, and that decision cannot be delegated to a field refresh.
Four mistakes that make the audit useless
Auditing the whole database
Why it fails
Verifying 200,000 records you have no plan to contact burns credits and time to produce a number nobody acts on. Audit the segments queued for the next 30 days. The rest can wait until they're relevant.
Running it after the campaign
Why it fails
Post-bounce cleanup is damage control, not hygiene. The bounces have already hit your sender reputation, and reputation recovers far more slowly than it degrades. The audit belongs before the send, every time.
Skipping the spot-check because it's manual
Why it fails
It is the only point that catches mistargeting, and mistargeting is more expensive than bad addresses. A deliverable email to the wrong company wastes a touch, a rep's time, and your credibility with an account you may want later.
Not logging the numbers
Why it fails
Without a month-over-month record you get a chore instead of a diagnostic. The trendline is what tells you a data source has degraded or a segment decays faster than the rest. One audit is housekeeping; twelve audits are an operating input.
Make it a routine, not a project
Data hygiene fails as an initiative and works as a habit. Nobody sustains a quarterly data quality project. Plenty of teams sustain 45 minutes on the first working day of the month, because it is short enough to survive a busy week and visible enough that skipping it feels like a decision.
Assign it to one person. Give them the six numbers to log. Review the trendline once a quarter. That is the entire operating model, and it will do more for your reply rates this year than another round of subject line testing.
Run your first audit in under an hour.
Verification, deduplication and enrichment in one place — so the routine actually sticks.
✓ 50 credits ✓ 7-day trial ✓ No credit card required


