How to Prevent and Fix Duplicate Records in Salesforce

How to Prevent and Fix Duplicate Records in Salesforce

Duplicate records in Salesforce (or “dupes”) are hands-down the most common issue that we’re called in to clean up at Iceberg.

You might think resolving duplicate records should be a quick and easy fix.

But as we’ll see in this article, deduping your records actually takes more tactical work than you’d expect.

For instance:

  • How do you define a duplicate lead if you sell to separate accounts who are part of the same franchise?
  • How do you keep your data clean and duplicates at bay when a duplicate might be created via an API?
  • Do you need to automate the process? If so, what are the right tools for the job?

I’ll be covering these tactical gremlins in this article, as well as offering you some practical solutions to preventing and cleaning up duplicate leads in Salesforce.

Join the conversation: How to clean up duplicate records in


What are duplicate leads?

Duplicate leads or records in Salesforce happen when the same person or company is entered into Salesforce more than once.


Actually, the definition of duplicate leads depends on your organization.

I’ll give you two concrete scenarios to show you that I’m not deliberately nitpicking here.

Scenario 1: You sell ERP (Enterprise Resource Planning) software to Fortune 100 companies.

There’s no reason you would ever intentionally create multiple accounts for a company like GE. In this situation, you could use the Account Name field to check for duplicates. You know that ‘GE’, ‘General Electric’, and ‘GE Inc’ are all duplicates—an easy fix. Crafting your definition of a duplicate will be a relatively straightforward process.

Scenario 2: You sell POS (Point of Sale) systems to individual franchises.

There were over 13,000 McDonald’s locations in the US in 2019, so finding two accounts with McDonald’s in the name doesn’t mean you’ve found a duplicate. In this situation, your definition of a duplicate will need to be more complex.

Check out my article: Do I Need Salesforce? Checklist


Best practices for defining duplicate leads in your org

It’s crucial to construct a clear, written definition of what a duplicate is before moving forward.

While “fuzzy” definitions can be useful in some instances, they can’t be relied on. If your definition leaves any room for interpretation or subjective judgment, you’ll struggle to eliminate duplicates in a programmatic way.

Finally, you should also be aware that there are varying degrees of duplicate leads. Some are complete carbon copies of one another. Others contain only partially copied information.

And, as time goes on, one of the records may be updated — and the others not.

For example, two records might contain the same name, phone number, email, etc. But as time goes on, only one of those records is updated with new information about the customer.

So be careful to keep the most up-to-date and accurate record.


How to fix duplicate leads in Salesforce

The way you’ll resolve duplicates — and prevent them in the first place — will depend on a few factors:

  • How many records you’re dealing with
  • What types of objects you’re working with (standard or custom)
  • The many ways new records can be entered into Salesforce

Remember when I said the fixing duplicate leads was more tactical than you’d imagine? 

You might be fine just leveraging Salesforce’s built-in Duplicate Management. But this tool is definitely not without its limitations. In many cases, you’ll need a custom fix (more on that in a minute).

I’ll walk you through strategies for managing duplicate records in Salesforce, both natively within Salesforce and via third-party apps.

Related: Data Governance: Salesforce Objects in Lead-to-Cash Process



Salesforce has its own native duplicate management system for users on the ‘Performance’ and ‘Unlimited’ plans.

This could well be enough for most SMBs, who use standard objects and aren’t dealing with huge amounts of data.

If this is you, you can set up your own rules directly within Salesforce for Accounts, Leads, and Contacts to help avoid duplication of records.

Pro tip: Remember, setting up cross-object rules is crucial because many Leads can exist as Contacts and vice versa.


How to manage duplicates in Salesforce

Depending on the type of record you’re trying to dedupe (e.g. accounts, contacts, deals, etc), the you’ll most likely want to focus on email address and company domain.

Exact matches

For example, you can create a standard “Account Exact Name” match that automatically blocks or alerts a user if an account already exists with the same name.

Pro: Simple and straightforward to set up

Con: If you have slight variation in your account names, you can still end up with a duplicate record. For example, one SDR enters a company’s name as “IBM,” but another enters it as “International Business Machines.”

Fuzzy rules

To avoid the error above, try setting up a “fuzzy rule.” This rule will return matches when two fields are similar, but not an exact match.

Pro: Fuzzy rules can surface duplicate accounts that “exact match” searches miss.

Con: Fuzzy logic, especially when applied to an object like Account Name, is far from exact. So if you’re using a fuzzy rule, pair it with additional matching criteria, like an address or email exact match. This can help ensure that duplicates are returned from the server when utilizing fuzzy logic.

Using the data import wizard

Another easy way to avoid creating duplicate contacts and leads is to import them via Salesforce’s Data Import Wizard.

This feature automatically prevents the creation of duplicate records using the record’s email address as a unique identifier.

Avoiding cross-object duplication

Finally, to avoid cross-object duplication, you can set up rules such as “Lead-to-Contact email exact match” and “Contact-to-Lead match” to alert users to a potential cross-object duplicate.


Summary: Limitations of Salesforce’s native duplication management:

  • It only alerts when data is entered manually. That means if a potential duplicate is entered via an API, Salesforce will automatically block it. You could then potentially lose important data without a 3rd party solution that can merge the two records
  • It only allows you to create rules for standard objects so if you use custom objects you’ll need another solution
  • It requires manual review: any batch job done with Salesforce will require a manual review which can be a huge time suck and drain your resources. It can be feasible for small companies, but it’s not scalable


Conclusion: Besides its Data Import Wizard, Salesforce doesn’t do a great job of providing out-of-the box deduplication tools. So most organizations will end up purchasing 3rd party software/extensions.

I’ll walk you through my two favorites:



At Iceberg, we’ve experimented with a few tools from the Appexchange for duplication management.

Ultimately, we’re pretty happy with both Cloudingo (4.79 average rating) & Leandata (4.93 average rating).


You can use Cloudingo to clean and dedupe large quantities of data that have been entered prior to any creation of duplicate rules. It can also handle mass dumps the dupe rules missed.

Pro: You can scan your data and auto-merge duplicates every week, every day, or even every hour.

Con: A new duplicate can still cause a problem during a small window of time before the next automation runs.

Imagine this scenario:

You have your daily cleanup automation scheduled to run at midnight.

Earlier in the day, a decision-maker at an existing account with an important, active opportunity downloads a whitepaper as part of their research.

This action triggers the creation of a new lead record in Salesforce, but it’s a duplicate of the existing account record.

The new lead is automatically routed to a Sales Development Rep, who fails to check the system for duplicates (of course, this never happens… right?).

The SDR contacts the decision maker, which results in an embarrassing conversation—and an angry account executive.

What to do: If you want your Salesforce instance to stay clean enough to avoid awkward scenarios like this, you’ll need to implement a system for real-time cleaning as well. Fortunately, there are technologies available to help with this, too.


LeanData allows you to create a workflow for your records which can be triggered at specific times — like when a new record is created or when the data in a record is updated.

These workflows can be configured to check for duplicates, merge matching records, convert leads, update fields, send email alerts, and more.

Pro: LeanData is super robust, and its workflows offer comprehensive duplicate resolution and prevention.

Con: This tool is so robust that getting to grips with some of the logic can be challenging.

…but we really recommend sticking it out as it can become an invaluable tool for your organization.


Which solution is right for you?

I hope by now you can see that deduping your records isn’t a simple in-and-out process and without taking the time to consider your requirements you can end up paying big in terms of data integrity and wasted resources.

No one person, plan, or tool can guarantee a duplicate-free Salesforce instance. But with the right technologies and implementation plan, it’s possible to find and correct the majority of duplications.

So before jumping into start deduplicating your records remember these key points: 

  • Create a clear definition of what a duplicate record is
  • Analyze your needs, how you’re entering data, and how many records you’re handling to understand what solution(s) will work best for you
  • Employ a tool that will retroactively clean existing duplicates and quickly find and fix future duplicates

Iceberg is always happy to help scaling companies clean up their Salesforce instances and help them build solutions to support their growth.

Contact us today to see how we can support you.

Edited by Kendra Fortmeyer @ Sales Hacker 2023

Join Us Today

Insider access to the GTM network and the best minds in tech.

Join Us Today

Insider access to the GTM network and the best minds in tech.

Trending Now

You may also like...