CRM Data Hygiene & Updates
Duplicate rate < 1% weekly
The CRM slowly rots. Duplicate contacts multiply, phone numbers become disconnected, emails bounce silently, job titles go stale, accounts merge without records reflecting it, contact-account associations drift when people change jobs. Every report reads from data 15-40% stale. Sales trusts nothing except what they personally know. Every quarter someone runs a data-hygiene project that lasts a week and covers 3% of the problem.
An hour-by-hour walkthrough.
Step by step.
- 01
Nightly data-hygiene scan
Deduplication, bounce follow-up, job-change detection, company enrichment, association fixes, field completeness. Every pass produces proposed changes with confidence scores.
Salesforce · HubSpot · LinkedIn · ZoomInfo · Clearbit · Apollo - 02
Route proposed changes to owners
Account changes → AE. Contact changes → most-recent-toucher or contact-owner. Uncertain / no-owner cases → RevOps queue. Batch UI for efficient review.
Slack · Teams · Web UI · Ownership registry - 03
One-click approval + audit trail
Owner reviews batch: approve, edit, skip per record. Approvals write back to CRM with audit trail: who approved, prior value, evidence source (LinkedIn URL, ZoomInfo record ID).
Approval flow · CRM audit fields - 04
Handle merges + reassignments carefully
Duplicate merges: preserve all activity history from both records, tie to the surviving ID. Job-change reassignments: preserve prior-employer relationship as history, tag new employer as active.
CRM merge tools · History preservation - 05
Weekly digest + data quality trend
Data quality score trend, top account gaps, weekly change volume, bounce-and-recover rate, deduplication rate. Highlights systemic issues (form allowing duplicates, marketing importing dirty lists).
Analytics · Slack digest · RevOps dashboard
What you connect to make this run.
Salesforce · HubSpot · CRM
read+writePrimary system for records. Writes proposed changes on approval with audit trail. Deduplication merges use platform-native merge tooling to preserve history.
LinkedIn Sales Navigator · ZoomInfo · Apollo · Clearbit
readExternal enrichment. Job-change signals, updated titles, verified emails, phone numbers, company data. Rate-limited and cached to avoid API cost spirals.
Marketing platform · Cadence tools
readBounce feed from marketing (Marketo, HubSpot, Iterable) and sales cadence tools (Outreach, Salesloft). Every bounce triggers verify + re-enrich workflow.
Data warehouse · Snowflake · BigQuery
read+writeQuality metrics + historical trends. Records marked as "verified fresh" vs. "stale" for downstream analytics + reporting.
Before and after, honestly.
Playbooks that pair with this one.
Answers about this playbook.
Won't approvers rubber-stamp changes they don't fully understand?
Each proposal shows the evidence (source of the update, prior value). One-click approval on high-confidence changes; medium-confidence requires explicit review of evidence. Low-confidence auto-holds for RevOps.
What if enrichment data is wrong (e.g., LinkedIn scraper outdated)?
Multi-source verification for material changes. Job-change requires LinkedIn + ZoomInfo agreement, or a single-source with fresh timestamp. Sole outdated source triggers a hold for manual verification.
How does it handle GDPR / privacy requirements?
Enrichment respects opt-outs + geographic rules. EU contacts require different enrichment path; some data (personal email vs. work) restricted per jurisdiction. Never enriches PII outside legal scope.
Can it fix bad data from historical imports?
Yes — bulk-hygiene mode processes historical records at controlled rate. Prioritises active-pipeline records first; slow-cycle backfill on the tail.
How does it coordinate with the marketing team's data ops?
Shared data ownership. Rev handles CRM records; marketing ops handles campaign engagement data. Overlap zone (contact-status, subscription preference) coordinated through shared change routing.
See it run on your data.
Free plan, no credit card. Connect the systems this playbook needs and run it against a past event first.