Six months ago, your team ran a campaign and loaded 2,000 contacts into Salesforce. The emails were enriched, the phone numbers were verified, the titles were current.
Today, somewhere between 200 and 500 of those contacts have changed jobs, gotten promoted, switched departments, or left the workforce entirely. Their emails bounce or forward to nobody. Their phone numbers ring at empty desks. Their titles in your CRM describe a role they held two promotions ago.
Nobody cleaned the list because nobody was assigned to clean it. The data just sat there, aging quietly while your team kept building new lists on top of it.
What 6 months of decay actually looks like
I pulled some numbers to give this shape.
The Bureau of Labor Statistics reports median US employee tenure at about 4.1 years. That translates to roughly 2% of contacts changing jobs per month, or about 12% over six months. For sales and business development roles specifically, tenure tends to be shorter (around 18 months median), so the six-month turnover rate for SDR and AE contacts is closer to 25-30%.
That's the job change rate. But CRM data quality degrades in ways beyond just job changes.
Title changes happen without anyone leaving. A "Sales Manager" gets promoted to "Director of Sales" at the same company. Your CRM still says "Sales Manager." If you're segmenting outreach by title, this person might fall out of your target audience or get messaging that doesn't match their seniority level.
Email format changes happen when companies rebrand or get acquired. If Acme Corp gets bought by BigCo and everyone's email switches from @acme.com to @bigco.com, every Acme contact in your CRM now has a dead email. The people didn't change jobs. The domain changed underneath them.
Phone numbers go stale when companies change phone systems, reassign extensions, or switch from desk phones to softphones. A direct dial that worked six months ago might now route to a general voicemail or a different employee.
Company data drifts too. Headcount changes, funding rounds close, offices relocate, companies get acquired or shut down. The firmographic data you used to qualify the account six months ago might no longer be accurate.
When you add all of these together, roughly 15-25% of a B2B contact database will have wrong emails, outdated titles, or incorrect company info within six months. Not all of it is unusable, but enough of it is wrong that it affects campaign performance, reporting accuracy, and sales productivity.
The compounding problem
The math gets worse the longer you wait because the decay doesn't just affect old contacts. It affects how your team interacts with the entire database.
A rep pulls a list of 100 contacts from Salesforce for a new campaign. If 20 of them have stale data, the rep doesn't know which 20. They load all 100 into a sequence. The first batch of emails goes out and 8 bounce. The rep adjusts, maybe removes the bounced ones, but doesn't investigate the other 12 contacts whose data is wrong in ways that don't produce bounces (wrong title, wrong department, personal email instead of work email).
Those 12 contacts get emails that feel slightly off. The messaging references their old role. The personalization doesn't match their current situation. They ignore it or mark it as spam. The rep sees low reply rates and blames the copy, when the real issue is that a quarter of the list was effectively dead before the first email went out.
Over time, this erodes trust in the CRM itself. Reps start maintaining their own spreadsheets because they don't trust Salesforce data. They manually check LinkedIn before every call because the CRM might be wrong. They stop logging activities because what's the point of updating a system full of bad data.
This is the real cost of CRM data decay. It's not the bounced emails. It's the slow breakdown of the system your entire sales process is supposed to run on.
How to measure where you stand right now
You don't need a data quality tool to figure out how bad the problem is. You need 30 minutes and a Salesforce report.
Create a report of contacts created more than 6 months ago. Filter to contacts with no activity (no emails sent, no calls logged, no tasks completed) in the last 90 days. Sort by creation date, oldest first.
Pick 25 contacts from this list at random. Open each one alongside their LinkedIn profile. Check three things: do they still work at the company listed in your CRM? Does their title match? Is the email domain still the same?
Track your results in a simple tally. Out of 25 contacts:
- How many still work at the listed company with the correct title? That's your "clean" percentage.
- How many changed jobs entirely? That's your "stale" percentage.
- How many are at the same company but with a different title, department, or email? That's your "drifted" percentage.
If your clean percentage is above 80%, your data is in reasonable shape for its age. Between 60-80%, you have a meaningful problem that's probably already affecting campaign performance. Below 60%, the CRM is more fiction than fact for that cohort of contacts.
What a quarterly cleanup process looks like
The goal isn't to make the data perfect. The goal is to keep the decay rate low enough that your team can trust what's in the CRM without checking LinkedIn every time.
Start by prioritizing which contacts matter. Not every stale record is worth fixing. Focus on contacts tied to active opportunities, contacts at target accounts, and contacts who are the primary relationship holder for a customer account. Let cold leads from two years ago stay stale. They'll need full re-enrichment if anyone ever goes back to them anyway.
For your priority contacts, run them through your enrichment tool quarterly. Compare the new results against what's in Salesforce. If the enrichment tool returns a different email or company, that's a signal the contact has changed. Flag these for review rather than auto-updating, because sometimes the enrichment tool has stale data too.
Set up automated bounce monitoring. Every bounced email should trigger a field update in Salesforce. Create a custom field called something like "Email Status" with values like "Active," "Bounced," and "Needs Verification." When an email bounces, update this field automatically through your email tool's integration. This catches the most obvious decay without any manual work.
Use LinkedIn Sales Navigator alerts if you have access. Save your key contacts as leads in Navigator and turn on job change notifications. When someone changes roles, Navigator emails you within a week or two. This is the fastest signal available for champion changes and it doesn't cost any enrichment credits.
Build a quarterly dashboard review into your sales ops cadence. Once a quarter, pull the 25-contact audit described above on a fresh sample. Track the clean/stale/drifted percentages over time. If the numbers are getting worse, your maintenance process isn't keeping up. If they're stable or improving, you're doing enough.
The re-enrichment decision
How often you re-enrich depends on three things: your sales cycle length, your average deal size, and how diverse your prospect list is.
If your sales cycle is 30-60 days and deals close within a quarter, a quarterly re-enrichment of active pipeline contacts is probably sufficient. The data doesn't have time to go very stale before the deal either closes or dies.
If your sales cycle is 6-12 months, you need re-enrichment more often because contacts can change jobs in the middle of a deal. Monthly re-enrichment of active opportunities isn't overkill in this case. The cost of one enrichment credit per contact per month is trivial compared to the cost of losing a champion mid-deal and not knowing about it.
If your prospect list is heavily US tech and enterprise, the base data quality from most tools will be good enough that quarterly re-enrichment covers you. If you're prospecting internationally, into SMBs, or in industries where people change jobs frequently (hospitality, retail, startups), more frequent re-enrichment pays off because the base coverage is weaker and the churn rate is higher.
The math on re-enrichment ROI is straightforward. If re-enriching 1,000 contacts costs $80-150 (at $0.08-0.15 per contact) and prevents even one stale-champion situation on a $50K deal, it paid for itself many times over. Most teams don't re-enrich because they don't think about it, not because the economics don't work.
What to do this week
If you've never measured your CRM data quality, do the 25-contact audit described above. It takes half an hour and gives you a baseline number to work from.
If your clean rate is above 80%, set a calendar reminder to re-check quarterly. You're in decent shape.
If your clean rate is 60-80%, set up bounce monitoring (if you haven't already) and run a re-enrichment pass on your active pipeline contacts this quarter.
If your clean rate is below 60%, you need a one-time cleanup before any ongoing process will help. Re-enrich your active pipeline and customer contacts. Archive or delete contacts from campaigns that ended more than a year ago. Then set up the quarterly cadence going forward.
The CRM is only useful if people can trust what's in it. Six months is enough time for the trust to erode if nobody's maintaining the data. A small amount of regular maintenance prevents a much larger cleanup later.
If you want to re-enrich contacts with fresh data from 20+ providers, ShareCo SalesSync has a free tier on the Chrome Web Store. Or start with the 25-contact audit and see what you find.