Site built by Composite – Webflow Agency NYC & UX Design Agency NYC
← All documentation
GTM guide

How do I dedupe accounts and contacts in Salesforce?

Match on stable identifiers, merge safely, and prevent new duplicates at the point of entry.

5
min read

Dedupe accounts and contacts in Salesforce by matching records on stable healthcare identifiers rather than names, auto-merging confirmed duplicates while routing the borderline ones for review, and blocking new duplicates at the point of entry, so the CRM does not silently refill. Deduplication is an ongoing discipline, not a one-time cleanup.

This guide covers ongoing dedupe as a Salesforce hygiene motion. For the one-time cleanup you run before a prospecting push, see the pre-prospecting pass below.

Why do names fail as a match key in healthcare?

The same practice arrives as different names across webforms, uploads, and integrations, and groups rebrand constantly after acquisitions. Match on stable identifiers first, the NPI and for facilities the CCN where they exist, because those catch duplicates that name matching misses and stop you from merging two genuinely different clinics that happen to share a name. Many practices, especially cash-pay and consumer ones, carry no useful identifier, so for records that will not resolve that way the corroborating signals break the tie: the website domain, the verified location and address from the Google Business Profile, the LinkedIn company page, and your own activity and opportunity history against the account. Confirming with practice address and resolved ownership removes the last ambiguity.

How do I merge safely?

Auto-merge records that match on NPI or CCN, route borderline cases for a human to confirm, and preserve the richest value from each record, for example the most complete taxonomy-code list and the most recent practice address. A merged, complete record is also a scoreable one: SignalRx fills whatever the surviving record is still missing by picking and combining the right sources per business, registries like NPPES and CMS where they are strong and the company website, LinkedIn, and reviews where they are not, so an account that was too thin to rank becomes usable rather than discarded. That is what lets it score both accounts and contacts on public healthcare data together with your own internal signals of revenue, support, and product usage tracked over time, letting inference settle which source to trust, then write the resulting Fit and Health scores, segments, and tags to native Salesforce fields where they drive Revenue Plays and list views.

How do I stop new duplicates?

Add identifier matching at entry so a new lead or account is checked against existing records before it is created. A rep typing in a clinic that was absorbed into a DSO should be matched to the existing owned location by its NPI, or by its website domain and verified address where no identifier exists, not left to create a second record.

Illustrative example

Illustrative, based on how SignalRx customers work. A dermatology group is entered twice, once under its legacy name and once under the DSO brand it rebranded to. Name matching treats them as two accounts; matching on the shared NPI and practice address, corroborated by the same website domain, collapses them into one, and the earlier open opportunity and activity are preserved on the surviving record.

Dedupe before you prospect

Beyond day-to-day hygiene, run a full dedupe pass before any prospecting push, because priorities built on double-counted accounts are wrong from the start. As part of that pass, roll each location up to its owner, with SignalRx researching and assigning the Parent to Child links, and Reseller to End-Customer where it applies, so a group's clinics sit under one owning group, MSO, or PE platform rather than floating as separate accounts, and confirm that every account exists once before you score or prospect it.

Illustrative, based on how SignalRx customers work. "Bayou Cardiology," "Bayou Heart Associates," and "BCA - Metairie" look like three accounts. Matched on their shared NPIs and practice address, and confirmed by a single shared website domain, they are one location that rebranded twice. Merged, the pipeline count drops and the real account surfaces once.

Key takeaways

  • Match on stable identifiers, NPI and CCN where they exist and domain plus verified location from web and reviews where they do not, because healthcare names and addresses drift and groups rebrand.
  • Auto-merge clear identifier matches and review the borderline ones, breaking ties with website, LinkedIn, review, and your own activity signals.
  • Block new duplicates at entry, not just in cleanup.
  • Run a full dedupe pass before you prospect, rolling locations up to their owner.

See it in action: Discover High-Fit Prospects with SignalRx.

Related: How do I model parent-child accounts?

Want any of these running on your data?

Talk to our team