31% of CRM records are stale, bounced, or duplicated. Everything built on top of them inherits the problem.
Across every revenue operations audit we run, 31% of CRM records are stale, bounced, or duplicated. That number is probably conservative — it only counts records we can definitively flag. It doesn't count contacts with outdated job titles, wrong phone numbers, or lifecycle stages frozen 18 months ago.
Bad data doesn't stay contained. It spreads. Every dashboard pulls from it. Every lead score depends on it. Every AI tool you turn on absorbs the noise. When a third of your database is wrong, nothing downstream can be right.
What Actually Breaks
Your dashboards lie. Duplicate records inflate lead counts. Stale lifecycle stages show wrong conversion rates. Your exec team makes decisions on numbers that don't reflect reality. A dashboard nobody trusts is worse than no dashboard at all.
Your lead scores become noise. Scoring models weight industry, company size, engagement history, and lifecycle stage. If those fields are empty, outdated, or inconsistent, the scores are meaningless. Reps learn to ignore them within a quarter.
Your AI tools inherit every problem. This is the part most teams haven't thought through. Agentforce, Breeze, Einstein — these are trained on your data. If your enrichment fields are empty, the AI has nothing to evaluate. Garbage in, confident garbage out.
Routing breaks at the input. We find that 73% of companies we audit have broken lead routing. A significant part is data quality. Leads can't route correctly if territory fields are wrong or industry classifications are inconsistent. The rules might be fine. The data feeding them isn't.
The Lifecycle Stage Problem
Ask your marketing team what an MQL is. Then ask sales. Then ask your CRM admin. You'll get three different answers.
This isn't a communication problem. It's structural. The definitions were never documented, or documented once and never updated, or updated by marketing without telling sales.
Here's what happens:
- Marketing reports MQL volume based on their definition. Sales ignores half of them.
- MQL-to-SQL conversion looks terrible (we typically see 5–12%) not because the funnel is broken, but because the two teams are measuring different things.
- AI qualification tools can't function. If the system doesn't know what "qualified" means in concrete, field-level terms, it can't qualify anything.
- Leads get stuck. Records sit as "MQLs" for 300 days because nobody owns the transition logic.
The fix requires cross-functional agreement. Every lifecycle stage needs a documented definition, entry trigger, and exit trigger. Then the CRM enforces it through automation — not through people remembering to update a dropdown.
Deduplication Without Losing History
The standard approach: run a matching algorithm, merge duplicates, move on. The reality is more complicated.
You will lose data if you do this carelessly. When two records merge, one survives and the other is absorbed. If the absorbed record had activity history, campaign membership, or custom field values the surviving record didn't, that data disappears. We've seen companies lose years of engagement history from a careless bulk merge.
How to do it right:
- Define match criteria first. Email match alone isn't enough. You need rules for company name variations, phone formatting, and contacts who've changed companies. Test on a sample before running it against the full database.
- Pick a surviving record strategy. Most recently updated? Most complete? Highest lead score? Pick a rule. Don't let the merge tool decide randomly.
- Map every field. For each field on the absorbed record — does it overwrite? Append? Get logged in a note? Tedious. Non-negotiable.
- Preserve activity history. Verify activities reparent to the surviving record. In Salesforce, they typically do. In HubSpot, it depends on the object type. Test it.
- Run deduplication on a schedule. Duplicates will keep appearing. New form submissions, list imports, enrichment tools — all create them. Monthly dedup with consistent rules is the only way to stay ahead.
The Hygiene System
Cleaning your CRM once isn't enough. B2B data decays at roughly 2–3% per month. That's 25–35% per year. Clean it today, do nothing else, and you're back where you started in 12 months.
Quarterly audits. Every 90 days: duplicate rate, bounce rate, records with no activity in 90+ days, records missing required fields. Compare to the previous quarter. If numbers are getting worse, something in your process is broken.
Automated decay alerts. Flag records meeting decay criteria automatically — no email activity in 90 days, invalid phone, company acquired. Route to a specific owner, not a shared queue.
Ownership rules. Every record needs an owner. Unowned records rot fastest. When a rep leaves, their records get reassigned within a week. Build an automation for it.
Import governance. Most data quality problems trace back to uncontrolled list imports — conference lists uploaded with no standardization, no dedup check, no lifecycle assignment. Require an import checklist. It prevents more bad data than any cleanup process.
When to DIY vs. Bring Outside Help
Handle it internally if: You have a dedicated ops person, the problem is scoped, and you have the time. A proper cleanup for a mid-market company takes 100–200 hours. If your ops person is also running campaigns and managing integrations, it won't happen.
Bring in outside help if: Your data problems are systemic — lifecycle stages, routing, scoring, and attribution all affected. Or you've tried to clean it before and it didn't stick. That usually means the problem isn't the data. It's the processes that create it. Fixing those requires operational design, not just a merge job.
For one high-growth SaaS client, cleaning the data foundation was the first step in moving MQL-to-SQL from 8% to 24% and dropping manual lead work from 22 hours per week to under 4.
Want to see where your data stands? The AI Readiness Scorecard scores your data foundation alongside five other operational dimensions. Takes two minutes. Or book a call — we'll tell you whether you're looking at a cleanup or a rebuild.