CRM hygiene is not a quarterly cleanup. It is a control system: prevent bad records, detect exceptions, correct them with an audit trail, and change rules when the same defect repeats. Run opportunity checks weekly, a cross-object audit monthly, and a governance review quarterly.
This playbook uses current official Salesforce, HubSpot, and Pipedrive documentation, accessed August 8, 2026. Product behavior varies by edition and configuration. The thresholds below are operating defaults to customize from your own cycle and policy, not external performance benchmarks.
CRM hygiene playbook: the short answer
Direct answer. Define one owner and validation rule for every critical field, binary entry and exit criteria for every stage, deterministic identifiers for records, and one exception queue. Reps clear active-deal exceptions weekly; RevOps audits completeness, validity, freshness, uniqueness, ownership, and reconciliation monthly; governance owners retire obsolete fields and test rules quarterly.
This page is the operational canonical. The CRM data-quality guide explains the wider data discipline, while CRM hygiene metrics goes deeper on reporting. Do not create a second cleanup checklist: print the artifact at the end of this page.
| Dimension | Question | Example defect |
|---|---|---|
| Completeness | Are required values present? | Open opportunity lacks next-action date |
| Validity | Does the value satisfy format and business rules? | Close date precedes next scheduled meeting |
| Freshness | Is it current enough for its use? | Late-stage deal has no recent review |
| Uniqueness | Is one real entity represented once? | Same company exists under two domains |
| Consistency | Do related fields and objects agree? | Closed-lost opportunity has open forecast status |
| Ownership | Is an accountable, active owner assigned? | Departed rep owns active accounts |
| Lineage | Can a value be traced to source and change? | Amount changed without product or quote evidence |
Define fields, stages, and ownership
Create a field dictionary before adding validation. For every critical field record object, API name, label, definition, allowed values, source, owner, required stage, update event, freshness window, conflict rule, downstream consumers, sensitivity, retention, and deprecation status.
Use stage-dependent requirements. Pipedrive’s official required-fields documentation shows that fields can be required for particular pipelines and stages, while noting that imports, bulk edits, APIs, automations, or integrations may bypass the user-interface control. The lesson applies across CRMs: test every write path, not only manual editing.
| Opportunity control | Definition | Validation |
|---|---|---|
| Owner | Active person accountable for the deal | Active user, permitted territory, no unowned open deal |
| Stage | Latest stage whose entry criteria are evidenced | Allowed transition; evidence and stage-entry timestamp |
| Amount/currency | Current in-scope commercial amount | Nonnegative; supported by products or current quote |
| Close date/basis | Expected commercial decision date and source | Not in past for open deals; basis recorded |
| Next action/date | Named action, actor, and due date | Action specific; date current; completion creates successor |
| Primary contact | Current buyer contact for the opportunity | Active, associated to correct account, valid contact method |
| Qualification evidence | Stage-specific buyer facts, not rep optimism | Source/date; unknown remains unknown |
| Loss reason | Controlled category plus factual note | Required at closed-lost; no sensitive speculation |
Define each stage with entry evidence, exit evidence, allowed next stages, maximum review age, required fields, approval, and reopen rule. “Proposal” is not an exit criterion; “buyer received versioned proposal and agreed a review date” is testable. Keep stage count small enough that managers can explain every transition, then connect the controls to the sales pipeline management cadence.
Salesforce documents opportunity field and stage history, including who changed tracked fields and when. Use native history where available, but verify retention, automation identity, bulk-write behavior, and whether every governed custom field is tracked.
Run the weekly opportunity checklist
Each rep filters open opportunities assigned to them and works the exception view—not every field on every record. Complete this weekly checklist:
- Next action: every active deal has one specific action, actor, and current due date. Complete or replace past actions.
- Stage: compare current evidence with entry criteria. Move forward, move back, or flag an exception; never preserve stage for forecast optics.
- Close date: record the buyer or process basis. Move a date when evidence changes and retain the reason.
- Amount: reconcile current products, quantities, rates, currency, discounts, and accepted scope.
- Contacts: confirm primary contact, roles, account relationship, email/domain, and departed-person signals.
- Ownership: transfer wrong-territory, departed-rep, or inactive-user records through the approved rule.
- Activity: link the meaningful meeting, email, or note once; correct wrong-record and duplicate activities.
- Disposition: close genuinely dead deals with a controlled reason, or move them to an approved nurture state outside active forecast.
Do not impose one arbitrary “stale after X days” threshold on every stage. Establish review windows from your observed stage-duration distribution and buyer process. A late-stage security review and a new inbound lead have different reasonable clocks. The rule should flag for review, not invent a buyer outcome. Qualification fields may follow a framework such as the MEDDIC sales framework, but unknown evidence must remain unknown.
For each correction preserve record ID, field, prior value, new value, evidence, source time, edit time, editor, and reason. If an AI system drafts notes or suggests fields, the human reviewer should see the source and approve the write; use the CRM Hygiene Engine only within those controls.
Run the monthly data-quality audit
RevOps or the sales manager runs one reproducible query pack at month end. Save the query definition, extraction time, included objects, record count, and CRM time zone so results can be compared.
- Count critical-field nulls by object, pipeline, stage, team, source, and write channel.
- Test invalid values: past close dates on open deals, inactive owners, impossible transitions, orphan contacts, unsupported currency, malformed domains.
- Compare stage entry evidence and stage age with documented rules; sample both flagged and unflagged records.
- Review potential duplicate accounts, contacts, leads, and opportunities; include cross-object lead/contact collisions.
- Find owner exceptions after departures, territory changes, account merges, parental hierarchy changes, or round-robin failure.
- Reconcile integration inputs and outputs: accepted source events = successful writes + queued retries + explicit rejects + unresolved errors.
- Sample activities and notes for correct account, contact, opportunity, timestamp, permissions, and source—not prose quality alone.
- Review imports, bulk edits, APIs, automations, and service accounts separately because user-facing validation may not apply.
- Compare this month with the prior period using unchanged definitions; annotate rule or scope changes.
- Assign every material exception a severity, owner, due date, root-cause category, and verification step.
Use the CRM integration checklist for retries, idempotency, permissions, webhook order, and disconnect tests. A clean user interface can hide a failing background sync.
Run the quarterly governance review
Quarterly governance asks whether the system still deserves its complexity. Assemble sales, RevOps, marketing operations, customer success, finance, security/privacy, and system administration as relevant.
| Review | Decision | Evidence |
|---|---|---|
| Objects and fields | Keep, consolidate, redefine, restrict, or retire | Population, edits, reports, integrations, owner, business purpose |
| Stages | Retain or revise entry/exit and transitions | History, reversals, exceptions, user interviews, downstream use |
| Permissions | Remove excess access and stale users | Role matrix, service accounts, exports, audit events |
| Automations | Keep, repair, pause, or retire | Writes, failures, retries, overrides, rule owner, test coverage |
| Retention/privacy | Delete, retain, restrict, or legal-hold | Purpose, policy, consent/suppression, jurisdiction, contract |
| Reporting | Certify or deprecate dashboards | Field definitions, lineage, refresh, filters, reconciliation |
Deprecate safely: stop new writes, identify consumers, export if required, migrate values, validate reports and integrations, hide the field, observe, then delete only with approval and recovery evidence. Renaming a field does not fix ambiguous meaning.
Resolve duplicates without losing truth
Duplicate detection produces candidates, not truth. Salesforce says matching rules define how duplicate records are identified and can be standard or custom. HubSpot documents a duplicates manager that surfaces potential contact/company duplicates and supports review, merge, rejection, and custom rules on eligible subscriptions. Neither removes the need for survivor policy.
Use stable identifiers first: CRM record ID, verified domain, normalized email, authoritative external ID, and approved account hierarchy. Names, phone numbers, addresses, subsidiaries, shared inboxes, and consultants can be ambiguous. Normalize before matching, but retain raw source values.
- Freeze automated updates on the candidate set or route them to a queue.
- Confirm the records represent the same real entity and check privacy, consent, territory, and legal-hold constraints.
- Select the survivor by authoritative identity—not simply newest or oldest.
- Resolve field conflicts individually; preserve source, history, activities, associations, opportunities, consent, and owners.
- Merge in a sandbox or recoverable batch, then reconcile counts and downstream IDs.
- Repair the creation path that caused the duplicate and monitor recurrence.
Never mass-merge accounts solely on name, contacts solely on name, or opportunities solely on account and amount. False merges are usually harder to unwind than duplicates. Test exclusions for parent/child companies, franchises, common names, shared domains, role accounts, and former employees.
Calculate six hygiene metrics
Publish numerators, denominators, scope, snapshot time, exclusions, and targets. Six useful formulas are:
- Critical completeness = records with all stage-required fields ÷ in-scope records × 100.
- Validity pass rate = records passing every defined rule ÷ tested records × 100.
- Freshness pass rate = records reviewed within their stage-specific window ÷ in-scope records × 100.
- Duplicate-candidate rate = records in potential duplicate sets ÷ records evaluated × 100.
- Reconciliation gap = source events − successful writes − explicit rejects − queued retries.
- Exception SLA pass rate = exceptions resolved and verified by due date ÷ due exceptions × 100.
A composite score can support triage, but never conceal a hard failure. Example: 25% completeness + 20% validity + 15% freshness + 15% uniqueness + 10% ownership + 10% reconciliation + 5% SLA. Normalize each component to 0–100 and publish the weights. Keep suppression, privacy, cross-account disclosure, and material forecast corruption as separate red gates.
Segment metrics by pipeline, stage, team, source, importer, integration, and owner. A global 95% completeness score can hide a late-stage pipeline with missing close-date basis. For deeper dashboard design, use the adjacent metrics guide.
Operate one exception workflow
Send every detected defect into one queue with: exception ID, record/object, field or rule, severity, detection time, source channel, suspected cause, owner, due date, status, correction, evidence, verifier, verified time, recurrence flag, and linked problem record.
Use four statuses: new, investigating, corrected-pending-verification, and closed. Only an independent query or reviewer closes an exception. A field edit is not proof that downstream reports, integrations, permissions, and duplicates are repaired.
| Severity | Example | Response |
|---|---|---|
| Critical | Wrong-account disclosure, suppression failure, destructive sync | Stop affected automation; contain; security/privacy owner |
| High | Material amount/stage corruption, active deals assigned to departed user | Same-business-day owner and reconciliation |
| Medium | Missing required stage evidence, duplicate candidate with activity split | Queue for steward within defined SLA |
| Low | Formatting or optional-field inconsistency | Batch correction or rule improvement |
Root-cause categories should be actionable: unclear definition, UI friction, training, missing source, integration mapping, retry/idempotency, permission, import, automation conflict, ownership process, or obsolete field. If the same exception recurs, fix the control rather than coaching the rep again.
Print the CRM hygiene control sheet
Printable CRM hygiene control sheet
Weekly — rep/manager
□ Next action and date current
□ Stage evidence passes
□ Close date and basis current
□ Amount/currency reconcile
□ Primary contact and roles current
□ Owner active/correct
□ Activities linked once
□ Dead deals dispositioned
Monthly — RevOps/stewards
□ Completeness and validity query
□ Stage/freshness sample
□ Duplicate candidates reviewed
□ Ownership exceptions resolved
□ Imports/APIs/automations tested
□ Integration events reconciled
□ Permissions and sensitive fields sampled
□ Metrics compared on stable definitions
□ Exceptions assigned and verified
□ Recurring root causes escalated
Quarterly — governance
□ Fields and objects justified
□ Stage rules reviewed
□ Permissions/service accounts recertified
□ Automations and integrations retested
□ Retention/privacy rules applied
□ Dashboards and formulas certified
□ Deprecated fields safely retired
□ Backup/export/rollback exercised
Metrics
Completeness ___% · Validity ___% · Freshness ___% · Duplicate candidates ___% · Reconciliation gap ___ · Exception SLA ___%
Exceptions
Critical ___ · High ___ · Medium ___ · Recurring root causes ___ · Owners/dates ___
Start with one pipeline and the smallest critical field set. Baseline the six metrics, run four weekly cycles, complete a monthly audit, and change only controls supported by exception evidence. Clean CRM data is not the absence of blanks; it is data whose meaning, source, owner, validity, and correction path can be demonstrated.