Which customers appear in which systems?

Your CRM has 1,200 contacts. QuickBooks has 430 customers. Stripe has 890. Google Ads has thousands of clicks. How many of those are the same people? Here's how to find out.

7 min read

The short answer

Where do your customers live? Every tool you use holds a different slice of your customer data. The only way to know which customers appear in which systems is to export each list and match them by email, name, or phone. Most businesses have never done this, and the gaps are bigger than they expect.


When you can't map customers across systems, every report is incomplete

You want to know which marketing channel drives the most revenue. To answer that, you need to connect a Google Ads click to a HubSpot lead to a Stripe payment to a QuickBooks invoice. If any link in that chain is broken, the answer is wrong.

Or you want to know your customer lifetime value. That requires matching CRM records to payment history. If 40% of your Stripe customers don't have a corresponding CRM record, your LTV calculation is based on partial data.

The problem compounds. Every metric that touches more than one system inherits the gaps from your worst connection. If your CRM and accounting software only share 60% of contacts, then every cross-system insight has a 40% blind spot.


Customer presence mapping: what you are actually building

What you need is a “presence map” that shows, for each customer, which systems they exist in. Think of it as a grid: customers down the left side, systems across the top, and a checkmark or blank in each cell.

With this map, you can answer questions like: how many customers are in all four systems (fully matched)? How many are only in Stripe but not in QuickBooks (payments without invoices)? How many are in HubSpot but never made a purchase (leads that never converted)?


How to build a customer presence map manually

You will need exports from each system and a large spreadsheet. Budget at least 3-4 hours for your first attempt.

  1. 1
    Export contacts from HubSpot

    Go to CRM → Contacts. Click Exportin the upper right. Choose “All properties and associations on records” and select CSV. HubSpot emails you the download link.

  2. 2
    Export customers from QuickBooks Online

    Go to Sales → Customers. Click the export icon next to the print icon and select “Export to Excel.” You get names, emails, phone numbers, and balances.

  3. 3
    Export customers from Stripe

    In the Stripe Dashboard, go to Customers. Click Export in the upper right. Select at minimum: name, email, and created date. Download the CSV.

  4. 4
    Create a master sheet with one row per unique person

    Start with the longest list (probably HubSpot). Add columns for “In QuickBooks?”, “In Stripe?”, and “In Google Ads?”

  5. 5
    Match by email using VLOOKUP

    For each HubSpot contact, use VLOOKUP to check if that email exists in the QuickBooks export and the Stripe export. Mark each match. Then go through the QuickBooks and Stripe lists and add any records that were not in HubSpot at all.

  6. 6
    Deal with the mismatches

    Records without emails cannot be matched by VLOOKUP. Records with different email addresses across systems (work vs. personal) will show as separate people. You will need to manually scan names and phone numbers to catch these, which is where most of the time goes.

Total time: 3-5 hours for a first pass. You will still miss matches where names are spelled differently, emails have changed, or records were entered inconsistently. Manual matching typically catches 60-70% of true matches at best.


Repeating this every month is not realistic

Your customer list is not static. People sign up, change emails, get added by different team members with slightly different formatting. A presence map from January is outdated by February.

To keep it current, you would need to re-export all four systems, re-run every VLOOKUP, and re-check the edge cases. Every month. Nobody does this.


Or see your customer presence map automatically

Bottomline connects to all your systems once and runs identity resolution across every record. It matches on email first, then phone, then fuzzy name matching, then transaction references. The result is a complete map of which customers appear in which systems.

Customer presence summary
In all 4 systems (fully matched)14%189
In 3 systems23%312
In 2 systems36%478
In 1 system only (orphaned)27%356
From a real Bottomline report. Every contact is mapped across all connected systems automatically.

No exports, no VLOOKUPs, no manual name-scanning. And because this runs every month, you can see whether your data coverage is improving or developing new gaps over time.

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