Data Cleanup in the B2B CRM: Getting Your Pipeline Clean Again
CRM data cleanup for B2B companies — identifying and systematically fixing duplicates, outdated contacts, and missing fields with Clay, HubSpot, and n8n.
The 30% problem: why CRM data decays so fast
B2B contact data has a half-life. Every year:
- 30% of contacts change jobs
- 20% of company emails change (restructuring, domain changes)
- 10% of companies get acquired, merge, or shut down
After 2 years without cleanup, fewer than half of your CRM entries are still current.
The cost of bad data:
| Problem | Impact | Estimated damage |
|---|---|---|
| Duplicates | Duplicate outreach, embarrassing | 2-5 hrs/week of SDR time |
| Outdated emails | Bounces, deliverability damage | 15-30% lower delivery rate |
| Missing job titles | Wrong targeting | 40% lower reply rate |
| Wrong company data | Irrelevant pitches | Lost deals |
| No activity data | Cold leads get treated as warm | Wasted sales time |
Before you start: This guide gets your existing data clean. It doesn’t answer why it gets dirty again a few weeks later. If you don’t want to run this cleanup a third time, address the root cause in parallel — see CRM Hygiene Is a Design Problem.
Phase 1: Taking stock (day 1)
Before you clean up, measure the status quo.
CRM health check in HubSpot
Check contact quality:
- How many contacts have a verified email? (Filter: Email ≠ empty)
- How many have a job title? (Filter: Job Title ≠ empty)
- How many have a company assigned? (Filter: Company ≠ empty)
- How many duplicates does HubSpot show? (Contacts → Actions → Manage Duplicates)
Benchmark:
| Field | Good | Acceptable | Critical |
|---|---|---|---|
| Email present | >95% | 80-95% | <80% |
| Job title present | >80% | 60-80% | <60% |
| Company assigned | >90% | 75-90% | <75% |
| Duplicate rate | <5% | 5-15% | >15% |
Phase 2: Cleaning up duplicates (days 2-3)
Duplicates are the most common and most damaging data quality issue.
Duplicate types
- Exact duplicates: same email, multiple entries
- Fuzzy duplicates: max.mueller@company.com and m.mueller@company.com
- Company duplicates: “CegTec GmbH” and “CEGTEC” and “Cegtec Hamburg”
Cleanup strategy
In HubSpot (Operations Hub):
- Manage Duplicates → Review Suggestions
- Merge rules: always keep the entry with more activities
- Custom properties: merge, don’t overwrite
With an n8n workflow (for large volumes):
- Export all contacts (HubSpot API)
- Fuzzy matching on name + domain (Levenshtein distance <3)
- Result: a CSV of duplicate pairs + confidence score
- Manual review for pairs with a score <90%
- Automatic merge for scores >95%
Phase 3: Enriching data (days 4-7)
Fill in missing data instead of deleting contacts.
Clay enrichment workflow
Step 1: Export from CRM
- Export contacts with a missing email, phone, or job title
- Plus: all contacts older than 6 months (check for job changes)
Step 2: Waterfall enrichment in Clay
- Email: Apollo → Cognism → Hunter → Dropcontact
- Phone: Cognism → Apollo → Lusha
- Job title: LinkedIn (via Clay) → Apollo
- Company data: Clearbit → Apollo → LinkedIn Company
Step 3: Verification
- Verify all new emails through MillionVerifier or ZeroBounce
- Only import “valid” emails back into the CRM
- Flag “catch-all” emails, don’t delete them
Step 4: Re-import into the CRM
- HubSpot import with email as the unique identifier
- Enable “Update existing contacts”
- Add new fields, don’t overwrite existing ones
Typical results
| Before | After |
|---|---|
| 60% have an email | 92% have a verified email |
| 45% have a job title | 85% have a current job title |
| 70% have a company | 95% have company + industry + size |
Phase 4: Setting up automated maintenance
A one-time cleanup isn’t enough. Set up automatic processes:
Bounce processing (n8n)
Trigger: email tool reports a bounce Action:
- Mark the contact in HubSpot as “email bounced”
- If it’s a hard bounce: clear the email field
- Next month: batch re-enrichment of all bounced contacts via Clay
Job change detection (quarterly)
Workflow:
- Export all contacts with a LinkedIn URL
- In Clay: scrape the LinkedIn profile, compare the current job title
- If title or company has changed: update the contact
- If the person is no longer at the target company: find a new contact
Entry validation (CRM rules)
HubSpot workflows:
- Required fields on contact creation: email, company, lead source
- Email format validation (no Gmail/Yahoo for B2B)
- Automatic company assignment based on email domain
- Lifecycle stage set automatically based on interaction history
Checklist: CRM hygiene routine
Monthly (30 minutes)
- Duplicate review in HubSpot
- Process the bounce list
- Review contacts with no activity in 90 days
Quarterly (half a day)
- Full enrichment run via Clay
- Job change check for top accounts
- Clean up company duplicates
- Capture and compare data quality metrics
Annually (1-2 days)
- Complete CRM audit
- Archive inactive contacts (>12 months no interaction)
- Clean up custom fields (delete unused ones)
- Update process documentation
Common questions
How often should you clean up CRM data?
A full cleanup quarterly (duplicates, outdated contacts, job changes). A monthly quick-check routine (reviewing bounces, merging new duplicates). Continuously: validation rules in the CRM that prevent bad entries in the first place. B2B contact data decays by roughly 30% per year — without regular maintenance, your CRM is only half up to date after 2 years.
Which CRM fields matter most for B2B?
Required fields: company name, domain, contact (first/last name), job title, business email, industry, company size. Important additional fields: LinkedIn profile URL, phone, lead source, last interaction, deal stage. Avoid: too many custom fields nobody maintains — 15-20 actively used fields beat 50 empty ones.
How do I recognize poor data quality in the CRM?
5 warning signs: 1) Email bounce rate over 5% on campaigns, 2) duplicate rate over 10% (same person, multiple entries), 3) more than 30% of contacts have no job title, 4) the last activity for >40% of contacts is older than 6 months, 5) sales uses their own spreadsheets instead of the CRM.
Can AI automatically clean up my CRM data?
Partly. Clay can enrich missing data (email, phone, company data) and detect job changes. HubSpot Operations Hub can automatically merge duplicates and standardize data. n8n workflows can regularly process bounces and flag outdated contacts. It can't be done fully automatically — decisions like 'which duplicate entry do we keep?' need human judgment.