HubSpot–Salesforce Deduplication and Data Quality: Identity, Matching, and Governance
Without a clear identity strategy, the HubSpot–Salesforce integration will eventually drown in duplicates and inconsistent values. Duplicates fracture engagement history, break routing, and inflate reporting. This playbook details a pragmatic approach to preventing, detecting, and resolving duplicates across people and companies—while maintaining auditability and trust. You’ll learn matching strategies, merge policies, runbooks, and the governance rhythms that keep quality high as your go‑to‑market motion scales.
Why Duplicates Happen
Even mature stacks create duplicates. Common causes include:
- Multiple capture points (web forms, imports, chat, events) that validate data differently.
- Offline or list imports that bypass real‑time validation.
- Variations in email formats, name spellings, and corporate domains after mergers.
- Conversion models that create new Contacts from existing Leads without matching.
- Inconsistent picklists and free‑text values that degrade matching precision.
Identity Strategy and Keys
Define a small set of identity keys per object and apply them consistently.
Contacts and Leads
- Primary Key: Email address, normalized to lowercase.
- Secondary Keys: Salesforce Lead/Contact ID, HubSpot VID (legacy), Phone (E.164), and an optional external ID from your product.
Companies and Accounts
- Primary Key: Company domain (normalized) when available.
- Secondary Keys: Salesforce Account ID, name with a normalization strategy, and a crosswalk of known aliases (e.g., international or former names).
Prevention: The Highest ROI
Focus first on blocking duplicates from entering systems.
- Validation at Capture: Enforce email format, disallow role‑based emails if needed, standardize country/state fields.
- Domain‑Based Company Matching: In HubSpot, auto‑associate contacts to companies by domain; in Salesforce, use matching rules that check domain and name.
- Import Guardrails: Create import templates with strict headers and required fields; test imports in sandbox and spot check samples.
- Salesforce Matching Rules: Enable standard matching on Leads, Contacts, and Accounts with tight thresholds; route potential duplicates to review queues.
- Integration User Constraints: Limit the integration user’s ability to create new records when a match is likely; prefer update‑over‑insert.
Detection: Find What Slipped Through
Run scheduled jobs to surface duplicates with precision and explainability.
- Exact Email Matches: Highest confidence for contact/lead duplicates.
- Fuzzy Email Variants: Handle plus‑addressing and common domain typos.
- Company Domain Clusters: Group companies with the same or related domains.
- Name + Company Heuristics: For records without emails (events, legacy lists), pair name with company and region with conservative thresholds.
Resolution: Merge Policies and Runbooks
Merging isn’t just a button; it’s a policy. Define which system is authoritative, what data to keep, and how to audit.
Merge Principles
- Keep the record with the stronger identity (verified email, recent activity, or the Salesforce object that owns routing).
- Preserve the Salesforce ID when merging across systems to avoid breaking integrations.
- Consolidate campaign history and activity logs where supported; otherwise, export and archive to a data warehouse.
- Stamp a merge event with who, when, and why—plus the losing IDs—to support reporting reconciliation.
Contact/Lead Merge Runbook
- Identify duplicate pair via exact email or high‑confidence heuristic.
- Confirm object types (Lead vs. Contact) and whether a conversion is required.
- Select survivor (typically the Salesforce Contact if it exists) and map fields by the “strongest signal wins” rule.
- Merge and validate downstream references (opportunities, cases, subscriptions).
- Log the merge event and reindex any reporting snapshots as needed.
Company/Account Merge Runbook
- Identify duplicates via domain matches and normalized names.
- Confirm hierarchies and parent/child relationships.
- Select survivor with active opportunities or the canonical legal entity; migrate related contacts and deals.
- Merge, rebuild rollups, and re‑link automation lists or views.
- Log the merge and notify owners.
Picklist Hygiene and Value Drift
Duplicates are often symptoms of value drift. Harmonize picklists and restrict free‑text where possible. Add translation tables for legacy values and install monitoring that flags out‑of‑band entries introduced by imports or one‑off workflows.
Error Handling and Safe Automation
Safe automations are idempotent and well‑scoped.
- Exclude Integration Updates: Don’t trigger automations on fields known to be written by the integration unless explicitly intended.
- Use Guard Fields: Stamp a “processed by workflow” flag and test for it to avoid loops.
- Retry with Backoff: When API calls fail transiently, retry with exponential backoff instead of spamming updates.
Governance and Operating Rhythm
Data quality is not a one‑time project; it’s a program.
- Weekly: Review sync errors, duplicate queues, and top failing transforms.
- Monthly: Merge backlog burn‑down and picklist audit; publish a short report.
- Quarterly: Revisit matching thresholds, archive or sunset fields, and simplify workflows.
- Incident Reviews: For major data incidents, run a blameless postmortem and strengthen your guardrails.
Measurement: What Good Looks Like
Define and track a few health indicators.
- Duplicate Creation Rate: New duplicates per 1,000 records created.
- Sync Error Rate: Errors per 1,000 writes, by object and field.
- Picklist Drift: Percent of values outside the allowlist.
- Merge Latency: Median time from detection to merge for high‑risk duplicates.
Tooling Considerations
You can achieve a lot with native features when governance is strong. If volume or complexity grows, evaluate augmentation: data quality apps, enrichment providers, or custom matching services that post results back to CRM fields. Keep the integration simple by writing only summarized outcomes (e.g., “duplicate cluster ID”) rather than raw match graphs.
Education and Change Management
Train users to search before creating, to use the correct objects (Lead vs. Contact), and to request new picklist values via RevOps rather than entering free‑text. Publish clear runbooks and short videos that demonstrate the merge policy and how to escalate edge cases.
FAQ
What’s the single most effective way to cut duplicates?
Prevention at the edge—strong validation on forms and imports—delivers the highest ROI. Pair this with strict Salesforce matching rules and domain‑based company association in HubSpot.
Should we unify on contact‑only (no Leads) to reduce duplicates?
Going contact‑only can help some teams, but it is not a silver bullet. The bigger win is consistent identity keys and prevention rules. If you keep Leads, define crisp conversion rules and automate the conversion when confidence is high.
How do we merge without breaking downstream integrations?
Preserve Salesforce IDs where possible and publish merge events with losing IDs. If other systems rely on those IDs, update crosswalk tables or rerun syncs from the CRM to refresh references.
What threshold should we use for fuzzy matching?
Be conservative. Start with exact email and domain matching. Introduce fuzzy matching only for supervised review, not automatic merges. Tune thresholds based on observed precision/recall and business risk tolerance.
How do we handle subsidiaries or brand aliases?
Maintain an alias table for company names and domains. Represent corporate hierarchies explicitly (parent/child Accounts) and avoid collapsing distinct legal entities unless your sales model demands it.
More RevOps Playbooks from Bles Software
- Attribution & Pipeline Reporting Setup | Bles Software
- Data Mapping Checklist (Leads/Contacts/Opportunities) | Bles Software
- HubSpot ↔ Salesforce: Cost & Timeline Drivers | Bles Software
- HubSpot ↔ Salesforce Integration: Executive Guide | Bles Software
- HubSpot ↔ QuickBooks Integration Playbook | Bles Software
- Field Governance & Picklists | Bles Software
- Sync Rules: Deduping, Owners, Lifecycle | Bles Software
- Salesforce ↔ NetSuite Integration Playbook | Bles Software
- Daily AI Roundup: AI agent, model and enterprise AI news