RevOps Playbook: Deduplication, Data Hygiene, and Identity Resolution for HubSpot–Salesforce

Duplicates quietly drain pipeline productivity. Reps chase the wrong record, marketing engages the same person twice, attribution fragments, and forecasts skew. This playbook establishes a practical approach to identity resolution across HubSpot and Salesforce so your team can trust people, companies, and opportunities to be unique, complete, and current.

What Good Looks Like

Healthy systems share three traits:

Make this your standard before tackling edge cases.

Deterministic Identity Rules

Start with clear, machine‑enforceable rules.

Write these rules in plain language and keep them where operators work.

Prevention at the Door

It is far cheaper to block a duplicate than to merge one later.

Add a RevOps Slack alert for any blocked creation from critical sources (e.g., demo form) so you can intervene quickly.

Safe Merges and Auditability

Merging is necessary but irreversible in many cases. Create a safe pattern:

  1. Export both records before merge and store a 30‑day snapshot in secure storage.
  2. Choose a winning record deterministically: last activity wins for people, revenue‑bearing record wins for companies, most complete record wins as a tie‑breaker.
  3. Merge in Salesforce first (if Salesforce is the commercial source), then re‑link the surviving ID back to HubSpot via the external ID.
  4. Rebuild associations: Campaign Members, Tasks, and Opportunities should point to the survivor.

Record the merge event (who, when, why, winner) in a merge log for audit.

Hygiene Routines That Actually Stick

Hygiene is not a one‑time project. Run lightweight jobs that keep entropy low.

Track hygiene SLAs (e.g., duplicate lifetime under seven days; enrichment coverage over 90% for ICP accounts).

Identity Enrichment and Normalization

Enrichment improves matching and segmentation—if it’s well governed.

Store raw provider fields in a separate namespace and only map normalized fields to core objects. This prevents provider‑specific churn from polluting your schema.

Reconciling HubSpot and Salesforce Records

When you discover drift between systems, resolve with a clear preference.

Automate a weekly reconciliation report that lists conflicts and proposed winners for human approval.

Handling Edge Cases

No set of rules covers everything. Expected edge cases include:

Document each new pattern, add it to your runbook, and refine prevention rules when an edge case repeats.

Observability for Identity

Measure what matters:

Alert on spikes and assign an owner to respond within a defined SLA.

FAQ

Should we dedupe in HubSpot or Salesforce first?

Salesforce should be the first line for deduplication because it owns sales process and forecasting. Mirror merges back to HubSpot via external IDs. For marketing‑sourced duplicates before Salesforce creation, HubSpot’s prevention rules should block and queue for RevOps.

Can we trust fuzzy matching on names?

Use it as a secondary signal only. Deterministic matching (email, domain) should gate creation. Fuzzy matching drives review queues and enriches confidence, but it should not create or auto‑merge without a human in the loop.

How do we merge Leads and Contacts properly?

Prefer conversion of Leads to existing Contacts when identity overlaps. If a Contact exists for a Lead’s email, convert and attach to the Account; do not keep both. Update HubSpot to reference the surviving Salesforce Contact via external ID.

What about duplicates across subsidiaries and parent brands?

Maintain an account hierarchy and an alias table for domains. Decide whether subsidiaries are distinct Accounts or roll up to a parent for routing and reporting. Apply the same rule consistently and document it.

How do we avoid duplicate Opportunities?

Block creation of a second open Opportunity for the same Account and product unless a multi‑threading policy is active. If allowed, require a reason code and a distinct buying group identifier.

More RevOps Playbooks from Bles Software