What percentage of contacts are exact, partial, weak, or orphaned?

Not all matches are equal. An email-based exact match is rock solid. A name-only fuzzy match is a guess. Here's how to grade your data quality and understand what each tier means.

7 min read

The short answer

How good are your matches? When you try to connect customer records across systems, each match falls into one of four quality tiers: exact (same email), partial (email plus name), weak (name only or phone only), or orphaned (no match found in any other system). The mix of these tiers tells you how trustworthy your cross-system data really is.


Match quality determines the accuracy of every cross-system metric

If 90% of your matches are exact (same email, confirmed by multiple signals), you can trust your cross-system reports. If 50% are weak (name-only guesses), then half your customer-level insights could be wrong.

Imagine you are trying to calculate customer lifetime value. You need to link CRM records to payment records. If that link is an exact email match, the number is reliable. If it is a fuzzy name match (“John Smith” in HubSpot matched to “J. Smith” in Stripe), you might be combining two different people or splitting one person into two.

Knowing your match quality distribution is like knowing the margin of error on a survey. It tells you how much you can trust the answers.


The four tiers of identity matching explained

  • Exact match. Same email address confirmed across two or more systems. The highest confidence level. This is the gold standard.
  • Partial match. Email matches in some systems, plus corroborating evidence like matching phone number or company name. High confidence, but not perfect.
  • Weak match.Name-only matching, or phone-only matching, with no email confirmation. This is essentially an educated guess. “Sarah Johnson” in QuickBooks is probably the same as “Sarah Johnson” in Stripe, but it could be a different person.
  • Orphaned. A record that exists in one system and cannot be matched to any record in any other system. This contact is an island. You have no cross-system context for them at all.

How to grade your match quality manually

This is an extension of the customer presence mapping exercise. After matching records across systems, you need to classify each match by quality tier.

  1. 1
    Export contacts from each system

    Pull CSVs from HubSpot (CRM → Contacts → Export), QuickBooks (Sales → Customers → Export to Excel), Stripe (Customers → Export), and any other tools. Make sure each export includes email, name, and phone number.

  2. 2
    Match by email first (exact tier)

    Use VLOOKUP to find records that share the same email across systems. Tag these as “exact.” This is your most reliable set.

  3. 3
    For unmatched records, try phone number (partial tier)

    For records that did not match by email, try matching by phone number. Phone numbers need to be normalized first (strip spaces, dashes, country codes). If a phone matches and the name is similar, tag it as “partial.”

  4. 4
    For remaining records, try name matching (weak tier)

    This is where it gets messy. Is “Bob Smith LLC” the same as “Robert Smith”? You need to make judgment calls on every record. Tag these as “weak.”

  5. 5
    Everything left is orphaned

    Records that could not be matched at any tier are orphans. Count them. Then count each tier and calculate the percentage breakdown.

Total time: 4-8 hours. Phone normalization alone can take an hour if your data has inconsistent formatting. Name matching requires human judgment for every ambiguous case, which is most of them.


Match quality shifts every month as your data changes

New signups, updated emails, CRM cleanups, and Stripe customer merges all change your match quality distribution. A one-time analysis gives you a snapshot. To track whether your data quality is improving, you need to repeat this monthly. The spreadsheet approach does not scale.


Or see your match quality breakdown automatically

Bottomline runs multi-signal identity resolution on every record in every connected system. It classifies each match into quality tiers and gives you an instant breakdown.

Match quality breakdown
Exact (email match)69452%
Partial (email + phone/name)28021%
Weak (name or phone only)16012%
Orphaned (no match)20115%
From a real Bottomline report. Every contact is graded by match quality, and the distribution is tracked over time.

73% exact or partial means you can trust most cross-system metrics. 15% orphaned tells you where to focus cleanup efforts. And because Bottomline recalculates this every month, you can see your match quality improve as you fix data issues.

Get your answer. Every month, automatically.

Connect your accounts in 5 minutes. Your first report arrives within 24 hours.

Works with QuickBooks, Stripe, HubSpot, Google Ads, and more
© 2026 Bottomline