---
schema_version: "1"
id: f0cd707cb0a89753a427cc3f34c9a38764cc00b7a6650a7d953f3a229185e76b
title: Standard Contact Matching Rule and Standard Lead Matching Rule
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/matching_rules_standard_contact_rule.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.matching_rules_standard_contact_rule.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 8a240d69277fb67d4962b745473491fd236dab14e6e0492829bedfcc57f5ea6d
description: The standard contact matching rule and standard lead matching rule identify duplicate contacts and leads using match keys, a matching equation, and matching criteria. They’re activated by default.
products:
  - Sales
  - Sales Enablement
release: "264"
---
# Standard Contact Matching Rule and Standard Lead Matching Rule

The standard contact matching rule and standard lead matching rule identify duplicate contacts and leads using match keys, a matching equation, and matching criteria. They’re activated by default.

## Match Keys

Match keys speed up matching by narrowing the potential matches to the most likely duplicates before the rule applies the comprehensive matching equation.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:43.2%">
          <col style="width:56.8%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e44">Contact Match Key Notation</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e47">Contact Examples</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Contact Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e44 ">Email </td>

            <td data-label="Contact Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e47 ">
              <p>Email: john_doe@us.ibm.com = johndoe@ibm.com</p>
              <p style="margin-bottom:0;">Key: johndoe@ibm.com</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Contact Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e44 ">First_Name (1,1) Last_Name Email</td>

            <td data-label="Contact Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e47 ">
              <p>First Name: John = j</p>
              <p>Last Name: Doe = doe = t (with double metaphone applied)</p>
              <p>Email: john_doe@us.salesforce.com = johndoe@salesforce.com</p>
              <p style="margin-bottom:0;">Key: jt@salesforce.com</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Contact Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e44 ">First_Name (1,1) Last_Name Company (2,5) </td>

            <td data-label="Contact Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e47 ">
              <p>First Name: Marc = m</p>
              <p>Last Name: Benioff = pnf (with double metaphone
                applied)</p>
              <p>Company: salesforce.com = sales</p>
              <p style="margin-bottom:0;">Key: mpnfsales</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Contact Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e44 ">First_Name (1,1) Last_Name Phone (drop leading 1 and last four digits)</td>

            <td data-label="Contact Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e47 ">
              <p>First Name: Marc = m</p>
              <p>Last Name: Benioff = pnf (with double metaphone
                applied)</p>
              <p>Phone: 1-415-555-1234 = 415555</p>
              <p style="margin-bottom:0;">Key: mpnf415555</p>
            </td>

          </tr>
        </tbody>
      </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:43.2%">
          <col style="width:56.8%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e136">Lead Match Key Notation</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e139">Lead Examples</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Lead Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e136 ">Email </td>

            <td data-label="Lead Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e139 ">
              <p>Email: john_doe@us.ibm.com = johndoe@ibm.com </p>
              <p style="margin-bottom:0;">Key:
                johndoe@ibm.com</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Lead Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e136 ">First_Name (1,1) Last_Name Email</td>

            <td data-label="Lead Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e139 ">
              <p>First Name: John = j</p>
              <p>Last Name: Doe = doe = t (with double metaphone applied)</p>
              <p>Email: john_doe@us.salesforce.com = johndoe@salesforce.com</p>
              <p style="margin-bottom:0;">Key: jt@salesforce.com</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Lead Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e136 ">First_Name (1,1) Last_Name Company (2,5) </td>

            <td data-label="Lead Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e139 ">
              <p>First Name: Marc = m</p>
              <p>Last Name: Benioff = pnf (with double metaphone
                applied)</p>
              <p>Company: salesforce.com = sales</p>
              <p style="margin-bottom:0;">Key: mpnfsales</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Lead Match Key Notation" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e136 ">First_Name (1,1) Last_Name Phone (drop leading 1 and last four digits)</td>

            <td data-label="Lead Examples" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e139 ">
              <p>First Name: Marc = m</p>
              <p>Last Name: Benioff = pnf (with double metaphone
                applied)</p>
              <p>Phone: 1-415-555-1234 = 415555</p>
              <p style="margin-bottom:0;">Key: mpnf415555</p>
            </td>

          </tr>
        </tbody>
      </table>

## Matching Equations

The standard contact matching rule uses the following matching equation.

(First Name AND Last Name AND Title AND Account Name)

OR (First Name AND Last Name AND Email)

OR (First Name AND Last Name AND Phone AND Account Name)

OR (First Name AND Last Name AND Mailing Street AND (City OR ZIP OR Phone))

OR (First Name AND Last Name AND Mailing Street AND Title)

OR (First Name AND Last Name AND Title AND Email)

OR (First Name AND Last Name AND Phone)

The standard lead matching rule uses the following matching equation.

(First Name AND Last Name AND Title AND Company)

OR (First Name AND Last Name AND Email)

OR (First Name AND Last Name AND Phone AND Company)

OR (First Name AND Last Name AND Mailing Street AND (City OR ZIP OR Phone))

OR (First Name AND Last Name AND Mailing Street AND Title)

OR (First Name AND Last Name AND Title AND Email)

OR (First Name AND Last Name AND Phone)

## Matching Criteria

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:9.319526627218936%">
          <col style="width:8.875739644970414%">
          <col style="width:13.313609467455622%">
          <col style="width:10.355029585798817%">
          <col style="width:8.284023668639055%">
          <col style="width:12.278106508875739%">
          <col style="width:37.57396449704142%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e472">Fields on Contacts</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e475">Fields on Leads</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e478">Matching Algorithms</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e481">Scoring Method</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e484">Threshold</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e488">Blank Fields </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d6339e491">Special Handling</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">First Name</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">First Name</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Exact</p>
              <p>Initials</p>
              <p>Jaro-Winkler Distance</p>
              <p>Metaphone 3</p>
              <p style="margin-bottom:0;">Name
                Variant</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">85</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match (ignores blank fields when Email is included in field
              grouping) </td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">
              <p>If record contains a value for the First Name and Last Name fields, the values
                are transposed to account for possible data entry mistakes.</p>
              <p style="margin-bottom:0;">For example, suppose
                that the first name is Felix and the last name is Michael. The matching rule also
                evaluates the first name as Michael and the last name as Felix.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Last Name</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Last Name</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Exact</p>
              <p>Keyboard Distance</p>
              <p style="margin-bottom:0;">Metaphone 3</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">90</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match (ignores blank fields when Email is included in field
              grouping) </td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">
              <p>If record contains a value for the First Name and Last Name fields, those
                values are transposed to account for possible data entry mistakes.</p>
              <p style="margin-bottom:0;">For example,
                suppose that the first name is Felix and the last name is Michael. The matching
                rule also evaluates the first name as Michael and the last name as
                Felix.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Title</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Title</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Acronym</p>
              <p>Exact</p>
              <p style="margin-bottom:0;">Kullback-Liebler Distance</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">50</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Account Name</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Company</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Acronym</p>
              <p>Edit Distance</p>
              <p style="margin-bottom:0;">Exact</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">70</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Email</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Email</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">Exact</td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">100</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Phone</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Phone</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">Exact</td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Weighted Average</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">80</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match on all sections except Area Code, which ignores blank
              fields</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">
              <p>Phone numbers are broken into sections and compared by those sections. Each
                section has its own matching method and match score. The section scores are weighted
                to determine a score for the field. This process works best with North American data.</p>
              <ul>
                <li>International code (exact, 10% of field’s match score)</li>
                <li>Area code (exact, 50% of field’s match score)</li>
                <li>Next three digits (exact, 30% of field’s match score</li>
                <li>Last four digits (exact, 10% of field’s match score)</li>
              </ul>
              <p>For example, these phone numbers are being compared: 1-415-555-1234 and
                1-415-555-5678.</p>
              <p style="margin-bottom:0;">All sections match exactly except the last four digits. The
                field has a match score of 90, which is considered a match because it exceeds the
                threshold of 80.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Mailing Street</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">Street</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Edit Distance</p>
              <p style="margin-bottom:0;">Exact</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Weighted Average`</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">80</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">
              <p>Addresses are broken into sections and compared by those sections. Each section
                has its own matching method and match score. The section scores are weighted to
                determine a score for the field. This process works best with North American data.</p>
              <ul>
                <li>Street Name (Edit Distance, 50% of field’s match score)</li>
                <li>Street Number (exact, 20% of field’s match score)</li>
                <li>Street Suffix (exact, 15% of field’s match score)</li>
                <li>Suite Number (exact, 15% of field’s match score)</li>
              </ul>
              <p>For example, these addresses are being compared: 123 Market Street, Suite
                100, and 123 Market Drive, Suite 300.</p>
              <p style="margin-bottom:0;">The street number and street name
                match. The field has a match score of 70, which isn’t considered a match because
                it’s less than the threshold of 80.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Mailing ZIP/Postal Code</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">ZIP/Postal Code</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">Exact</td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Weighted Average</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">80</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">
              <p>ZIP codes are broken into sections and compared by those sections. Each section
                has its own matching method and match score. The section scores are weighted to
                determine a score for the field.</p>
              <ul>
                <li>First five digits (exact, 90% of field’s match score)</li>
                <li>Next four digits (exact, 10% of field’s match score)</li>
              </ul>
            </td>

          </tr>
          <tr class="">
            <td data-label="Fields on Contacts" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e472 ">Mailing City</td>

            <td data-label="Fields on Leads" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e475 ">City</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e478 ">
              <p>Edit Distance</p>
              <p style="margin-bottom:0;">Exact</p>
            </td>

            <td data-label="Scoring Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e481 ">Maximum</td>

            <td data-label="Threshold" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e484 ">85</td>

            <td data-label="Blank Fields" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e488 ">Don’t match</td>

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d6339e491 ">&nbsp;</td>

          </tr>
        </tbody>
      </table>

#### See Also

- [Standard Contact Duplicate Rule](https://help.salesforce.com/s/articleView?id=sales.duplicate_rules_standard_contact_rule.htm&release=264.0.0&type=5 "The standard contact duplicate rule defines what happens when a user views a duplicated contact or starts to create a record that duplicates a contact. If your org was created in Summer ’17 or later, this duplicate rule includes a cross-object matching rule: It matches contacts that duplicate other contacts and leads that duplicate contacts. If your org was created before Summer ’17, you can get the same functionality by activating a new duplicate rule available in Setup. Otherwise, your default rule matches only contacts that duplicate other contacts.")
- [Standard Lead Duplicate Rule](https://help.salesforce.com/s/articleView?id=sales.duplicate_rules_standard_lead_rule.htm&release=264.0.0&type=5 "The standard lead duplicate rule defines what happens when a user views a lead with duplicates or starts to create a record that duplicates a lead. If your org was created in Summer ’17 or later, this duplicate rule includes a cross-object matching rule: It matches leads that duplicate other leads and contacts that duplicate leads. If your org was created before Summer ’17, you can get the same functionality by activating a new duplicate rule available in Setup. Otherwise, your default rule matches only leads that duplicate other leads.")
- [Matching Criteria in Matching Rules](https://help.salesforce.com/s/articleView?id=sales.matching_rule_matching_criteria.htm&release=264.0.0&type=5 "A matching rule applies criteria to determine how closely a field on a new or edited record matches the same field on an existing record. Standard matching rules include predefined criteria. When you create a custom matching rule, you define the criteria.")
- [How Match Keys Are Generated and Used in Matching Rules](https://help.salesforce.com/s/articleView?id=sales.matching_rules_match_key_process.htm&release=264.0.0&type=5 "When a matching rule runs, it applies one or more match key formulas before applying a comprehensive matching equation. Match keys help to increase the performance of duplicate rules through a preliminary comparison that narrows the matches to the 100 most likely duplicate records. Then the rule applies the matching equation only to those likely matches.")