---
schema_version: "1"
id: ddf399b747795c77eb891e279ee536f8cd4212b1ecb5558be9868ceb95292541
title: Matching Methods Used in Matching Rules
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/matching_rules_matching_methods.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.matching_rules_matching_methods.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3cc730a3665843830564dfda48b7a09f9917bca1f7d5e9c64252d6e396d33fee
description: The matching method determines how a specific field in a record is compared to the same field in another record. Each matching method is defined by normalization criteria, match key definitions, and matching algorithms.
products:
  - Sales
  - Sales Enablement
release: "264"
---
# Matching Methods Used in Matching Rules

The matching method determines how a specific field in a record is compared to the same field in another record. Each matching method is defined by normalization criteria, match key definitions, and matching algorithms.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience and Salesforce Classic</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Essentials</strong>, <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

The exact matching method looks for strings that exactly match a pattern. If you’re using international data, we recommend using the exact matching method with your matching rules. You can use the exact matching method for almost any field, including custom fields.

The fuzzy matching methods look for strings that approximately match a pattern. Some fuzzy matching methods, such as Acronym and Name Variant, identify similarities using hard-coded dictionaries. Because the dictionaries aren’t comprehensive, results can include unexpected or missing matches. Specific fuzzy matching methods are available for commonly used standard fields on accounts, contacts, and leads.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:19.41860465116279%">
          <col style="width:16.74418604651163%">
          <col style="width:14.186046511627906%">
          <col style="width:14.186046511627906%">
          <col style="width:35.46511627906977%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d3327e88">Matching Method</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d3327e91">Matching Algorithms</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d3327e94">Scoring Method</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d3327e97">Threshold</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d3327e100">Special Handling</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Exact</td>

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

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

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

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

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: First Name</td>

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

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

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

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e100 ">If the Middle Name field is used in your matching rule, it’s compared using the
              Fuzzy: First Name matching method. </td>

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: Last Name</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e91 ">
              <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="d3327e94 ">Maximum</td>

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

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

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: Company Name</td>

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

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

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

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e100 ">
              <p>Removes words such as “Inc” and “Corp” before comparing fields. Also, company
                names are normalized. For example, “IBM” is normalized to “International Business
                Machines”.</p>
              <p style="margin-bottom:0;">When generating a match key for a company name with more than two
                words, the system evaluates only the first two words. As a result, legal
                designators, such as Corporation or LLC, outside the first two words aren't
                included in special handling.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: Phone</td>

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

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

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

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e100 ">
              <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 come up with one 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 3 digits (exact, 30% of field’s match score</li>

                <li>Last 4 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, so
                the field has a match score of 90. This score is considered a match because it
                exceeds the threshold of 80.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: City</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e91 ">
              <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="d3327e94 ">Maximum</td>

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

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

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: Street</td>

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

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

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

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e100 ">
              <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 come
                up with one 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 billing streets are being compared: 123 Market Street,
                Suite 100, and 123 Market Drive, Suite 300.</p>
              <p style="margin-bottom:0;">Only the street number and
                street name match, so the field has a match score of 70. This score isn’t
                considered a match because it falls below the threshold of 80.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: ZIP</td>

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

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

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

            <td data-label="Special Handling" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e100 ">
              <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 come
                up with one 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>
              <p>For example, these ZIP codes are being compared: 94104-1001 and
                94104.</p>
              <p style="margin-bottom:0;">Only the first five digits match, so the field has a match score of
                90. This score is considered a match because it exceeds the threshold of
                80.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Method" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e88 ">Fuzzy: Title</td>

            <td data-label="Matching Algorithms" class="slds-cell-wrap" style="vertical-align:top;" headers="d3327e91 ">
              <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="d3327e94 ">Maximum</td>

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

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

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

#### See Also

- [_Knowledge Article_: Fuzzy Match on First Name Doesn't Detect the Expected Duplicate](https://help.salesforce.com/s/articleView?id=000389625&type=1&mode=1&language=en_US)