Operations Hub Software study materials
Operations Hub Software study resources

Company Deduplication Blocks a Salesforce Sync

Operations Hub Software · Put your knowledge to work in context.

All case studies

Company Deduplication Blocks a Salesforce Sync

A distributor has 11,800 HubSpot companies and 8,400 Salesforce accounts with a two-way company sync. The data quality command center flags 2,150 duplicate companies. Of those, 1,400 are domain variants such as https://www.acme.com, acme.com/, and ACME.COM; 310 have blank domains; 220 are parent/subsidiary pairs that look similar, such as Acme Inc and Acme Holdings. 460 duplicates have deals attached, and 90 have different owners. Sync matching uses domain, so blank-domain records either fail or create new Salesforce accounts. The team is seeing about 14 new duplicates per week, mostly from imports by regional sales teams. Legal requires parent and subsidiary legal entities to remain separate.

1. Design a normalization and merge sequence for the 2,150 duplicates. What order of operations reduces risk?

Read the worked answer

Normalize first, then merge by confidence tier, not by name.

  1. Back up and scope: export companies with domains, owners, associations, and sync status. Break the 2,150 into domain-variant duplicates, blank-domain records, and parent/subsidiary pairs.
  2. Normalize the domain property: use data quality automation to lowercase, strip the protocol, strip “www.”, and remove trailing slashes. This should collapse most of the 1,400 domain variants into exact matches. Re-run duplicate detection after normalization; do not merge on the raw values.
  3. Merge domain matches automatically, with a survivor rule: keep the record with the existing Salesforce sync identifier and the most complete association set. Preserve deals, contacts, and owner information during merge. Do not use “newest record wins.”
  4. Manual review for name-only matches: the 220 parent/subsidiary pairs must not be auto-merged. Legal entity, billing address, and domain ownership need human confirmation.
  5. Blank domains: do not merge solely because the names match. Enrich the domain from associated contacts' email domains where valid, or hold them in a review list.

Test the sequence on 100 records and verify sync status after each merge before scaling.

2. How should the 310 blank-domain companies and the 220 parent/subsidiary pairs be handled in the sync?

Read the worked answer

Do not let the sync use blank domain as a matching key.

  • Blank domains: put these records on a sync exclusion list until they have a verified domain. Where possible, derive the domain from the associated contact's email, but do not guess from a free-email provider such as Gmail. For records that genuinely have no domain, use a stable external identifier, such as the Salesforce account ID, as the matching key rather than name or blank domain.
  • Parent/subsidiary pairs: keep separate records and separate sync links. Add a company property such as “Legal entity” or “Hierarchy role” and use it in review. Do not merge Acme Inc into Acme Holdings to “clean up” the list; that would corrupt deal ownership and reporting.
  • Owner conflicts: for the 90 duplicates with different owners, resolve ownership before merging. Decide whether the surviving record keeps the account owner, the deal owner, or a territory rule. Document the decision so the same conflict does not recur.

A sync exclusion list is not permanent cleanup; it is a holding area with an owner and a review cadence.

3. What concrete controls would reduce the 14 new duplicates per week?

Read the worked answer

The inflow is coming from regional imports, so controls must sit at the import and creation points, not only in periodic cleanup.

  • Import checklist: require domain normalization before import, reject rows with a domain that already exists unless the importer confirms it is a distinct legal entity, and require a unique external ID for new company records.
  • Property validation: make domain a required field for sales-created companies where the business process allows it, and add a workflow that flags blank or malformed domains for review.
  • Dedupe automation: run duplicate detection on new companies and route probable matches to a review queue rather than auto-creating.
  • Sync rules: prevent the sync from creating a new Salesforce account when the HubSpot company lacks a domain or a sync identifier; surface those as sync errors for a human instead.
  • Ownership: assign a data steward for each region and report weekly duplicate-creation counts by import source. Without source-level accountability, cleanup will be a recurring project.