Skip to content

Managing Duplicate Records with Salesforce's Native Tools

  • Salesforce
  • Deduplication
Cover illustration for the Mastering Salesforce Data guide

What's the difference between Matching Rules and Duplicate Rules?

Even a well-run Salesforce org accumulates duplicates. Salesforce ships two native tools to deal with them, and they do different jobs.

A Matching Rule defines what counts as a duplicate: the criteria used to compare two records, whether within one object (lead vs. lead) or across objects (lead vs. contact). A Duplicate Rule defines what happens once a match is found: block the save, warn the user, or let it through. The two work together — the Matching Rule decides "is this a duplicate," the Duplicate Rule decides "now what."

How matching rules work

A matching rule compares fields between two records using an equation you define — for example, treating two leads as a match if their email fields are close enough. Once active, it applies one or more match keys to existing records: only records sharing a match key get compared, which is what keeps performance manageable at scale. Records with no shared match key are never compared, so a badly chosen key can hide duplicates from the rule as easily as a well-chosen one can find them.

Creating a matching rule

To identify duplicates based on email similarity:

  1. Go to Setup.
  2. Navigate to Matching Rules and choose what to compare — for example, leads against contacts.
  3. Open the Matching Rules menu and select Create New Matching Rule.
  4. Set the matching method per field. Fuzzy Matching catches near-misses like typos; Exact Match only catches identical values.

Activate the rule once the criteria are set.

How duplicate rules work

A Duplicate Rule acts on what its paired Matching Rule finds. It can notify a rep that a possible duplicate exists, or block the record from saving outright, regardless of the user's permissions. Point it at a Matching Rule and it has everything it needs to act.

Creating a duplicate rule

To block a new contact when one with the same email already exists:

  1. Go to Setup in Salesforce.
  2. Navigate to Duplicate Rules.
  3. Click New Rule and select the Contact object.
  4. Set the criteria — for example, block creation if the email matches an existing contact.
  5. Activate the rule.

Other ways Salesforce handles duplicates

Beyond rules, Salesforce gives you a few more levers:

  • Handle duplicates one at a time. Turn on duplicate rules and the potential-duplicates component so reps see a warning as they create accounts, contacts, or leads, and can merge on the spot.
  • Handle duplicates globally. Run a duplicate job across the whole org, share the results as a report, and merge using duplicate record sets. This is how you track whether your duplicate count is actually going down.
  • Account Exact Name Rule. Blocks a second account from being created with an identical name.
  • Account Name Fuzzy Match. Flags accounts whose names are close but not identical, which is where most real-world duplicates hide.

For a small org, this is a workable toolkit. It runs into a wall once the data volume or the complexity of the matching grows.

What are the limits of Salesforce's native duplicate tools?

  • 5 active duplicate rules per object — five for contacts, five for accounts, and so on, with no more allowed.
  • 1,000,000-record cap on duplicate record sets. Once completed jobs have logged a million duplicates, you can't run a new job until you delete some of the existing results.
  • 10,000-record batch limit. A 1-million-record org needs 100 separate batch jobs to scan its whole database.
  • 3 merges per request in Salesforce Classic. Five duplicate records means at least two separate merge operations.
  • A daily API call ceiling that varies by edition — for example, 15,000 calls a day on Developer edition. Duplicate management calls count against the same budget as every other integration.
  • Some field types can't be matched on. Rich text fields, for instance, aren't usable in a matching rule's criteria.
  • A cap on matching rules themselves. Up to three matching rules per duplicate rule, one active match rule per object, and up to five active matching rules per object across all duplicate rules combined.
  • No native answer for compound logic. Matching on "similar email AND recent activity" needs Apex or a third-party tool — Salesforce's standard rules stop at single-field comparisons.
  • A performance cost at scale. Several complex duplicate rules running on every create and update can visibly slow the org down.
  • Thin reporting. Standard Salesforce reports won't tell you how many duplicates were created last month or how effective your rules are; that needs an export to somewhere else.

Salesforce's native tools are a real foundation, not a placeholder — they can run a small org's duplicate management end to end. The limits above are where larger, more complex orgs start looking at a dedicated tool instead, which is what the rest of this guide covers.

Next up: two more free Salesforce tools worth knowing before you go looking outside the platform — the Data Loader and the Data Import Wizard.

Hungry for more?

  • Cover illustration for the Mastering Salesforce Data guide

    Guides

    Salesforce Data Management Essentials

    The first chapter of Mastering Salesforce Data: why Salesforce's CRM growth raises the stakes on data quality, and what counts as data purity and precision.

Frequently asked questions

What's the difference between Duplicate Rules and Matching Rules in Salesforce?

A Matching Rule defines the criteria for comparing two records and deciding whether they're a duplicate. A Duplicate Rule defines what happens once a match is found — warn the user, or block the record from saving.

How do you create a Matching Rule in Salesforce?

Go to Setup, then Matching Rules, and define what to compare, such as leads against contacts. Choose a matching method per field: Fuzzy Matching for near-misses like typos, or Exact Match for identical values only.

How many duplicate rules can one Salesforce object have?

Five active duplicate rules per object. You can have five for contacts and five for accounts, but no more than five for any single object.

How many records can you merge in one request in Salesforce Classic?

Three records per merge request. Five duplicate records means running the merge at least twice.

When do Salesforce's native duplicate tools stop being enough?

Once matching needs to combine multiple conditions, span objects at scale, or run faster than the batch and API limits allow — at that point, Apex code or a third-party deduplication tool covers what the native rules can't.

Ready to take control?

With a product tour you can walk through the product yourself without installing anything, or book a demo for a guided look.