Where are my customers actually coming from?
Your CRM says one thing. Google Ads says another. Your gut says something else. Here's how to build a true picture of where your customers originate, step by step.
The short answer
Where are your customers coming from?You need to cross-reference three systems: your CRM (HubSpot or Salesforce) for lead source, your ad platforms (Google Ads, Meta) for click-to-conversion data, and your accounting software (QuickBooks or Xero) for who actually paid. Below, we'll show you how to pull and combine this data.
Why knowing your real customer source changes everything
You spent $4,200 on Google Ads last month. Google says you got 38 conversions. Your CRM shows 22 new contacts with “Google Ads” as the source. Your QuickBooks shows 14 new paying customers. Three systems, three different numbers.
The gap between a “conversion” and a paying customer is where most attribution falls apart. A form fill is not a customer. A demo request is not a customer. Until money moves from their account to yours, you do not have a customer. And if you cannot trace that paying customer back to the channel that found them, you are flying blind on where to spend.
Most businesses default to trusting whatever their ad platform tells them. But ad platforms have a built-in incentive to take credit for every conversion they can. The only way to know the truth is to follow the trail from payment back to source.
Customer attribution: what you are actually measuring
Attribution answers one question: for each customer who paid you money, which channel or touchpoint deserves credit for bringing them in? There are a few concepts worth understanding:
- First-touch attribution. The first interaction a customer had with your business. They clicked a Google Ad, then later came back via email, then bought. First-touch gives credit to Google Ads.
- Last-touch attribution. The last interaction before they bought. In the same example, last-touch gives credit to email. This is what most CRMs default to.
- Multi-touch attribution. Splits credit across every touchpoint. More accurate, but much harder to track without dedicated tools.
- Self-reported attribution.You ask customers “how did you hear about us?” Simple, often surprisingly accurate for awareness channels like podcasts and word-of-mouth that analytics tools miss entirely.
For most small and mid-size businesses, even getting reliable first-touch attribution across systems is a win. That is what the manual process below will help you build.
How to track customer sources across CRM, ads, and accounting (8 steps)
This requires pulling data from three separate systems and combining them in a spreadsheet. Set aside 45-60 minutes the first time.
Step 1: Export your paying customers from QuickBooks or Xero
- 1QuickBooks: Sales → Customers
Go to Sales in the left sidebar, then Customers. Filter by date range to this month. Export the list to CSV. This gives you everyone who actually paid.
- 2Xero: Business → Invoices → Paid
Go to Business, then Invoices. Filter to show only paid invoices for the current month. Export to CSV.
Step 2: Export your lead sources from HubSpot or Salesforce
- 3HubSpot: Contacts → Create a custom report or use the “Original Source” property
In HubSpot, go to CRM → Contacts. Add the column “Original Source” and “Original Source Drill-Down 1” to your view. Export all contacts created this month to CSV.
- 4Salesforce: Reports → Leads → Lead Source
Go to the Reportstab. Create or find a report using the “Leads with Converted Lead Information” report type. Add the “Lead Source” field. Filter to the current month and export.
Step 3: Pull conversion data from your ad platforms
- 5Google Ads: Campaigns → Conversions columns
In Google Ads, go to Campaigns. Make sure the “Conversions” and “Cost / conv.” columns are visible. Download the report for the current month.
- 6Meta Ads Manager: Campaigns → Export
In Meta Ads Manager, select the date range and make sure “Results” and “Cost per result” are in your columns. Export the campaign-level data.
Step 4: Match everything in a spreadsheet
- 7Match customers to lead sources by email
Open a new spreadsheet. Paste your paying customers from QuickBooks/Xero in one sheet. Paste your CRM contacts in another. Use VLOOKUP on email address to match each paying customer to their CRM lead source.
- 8Build a source summary table
Create a pivot table or manual summary: for each lead source (Google Ads, Meta, Referral, Direct, Organic Search, etc.), count the number of paying customers and sum their revenue. Now you have your real attribution data.
Total time: 45-60 minutes. Three system exports, one spreadsheet, VLOOKUP matching, and a pivot table. The email matching will not be perfect because CRM emails and accounting emails do not always match.
What it takes to do this every month
The first time is the hardest because you are building the spreadsheet template. After that, the monthly process is roughly:
- 15 minutes exporting from three systems (accounting, CRM, ad platforms).
- 15-20 minutes running the VLOOKUP matches and cleaning up mismatches (different email addresses, missing records, duplicates).
- 10 minutes building the summary and comparing to last month. Plus the ongoing frustration that 15-20% of customers never match cleanly, so your data always has gaps.
Most businesses do this once, find it insightful, and then never do it again because the manual process is too tedious to repeat.
Or see where every customer came from, automatically
Bottomline connects to your CRM (HubSpot or Salesforce), your ad platforms (Google Ads, Meta), and your accounting software (QuickBooks or Xero). It matches customers across all three systems using email, name, and transaction references, then builds your attribution picture automatically every month.
No spreadsheets. No VLOOKUP. No manual matching. Bottomline does the cross-referencing that takes you 45 minutes every month and delivers the answer in a single card. And because it matches on multiple identifiers (not just email), it catches the 15-20% of customers that manual matching misses.