Why your Google Ads conversions don’t match your CRM
Every owner I talk to has some version of this conversation. The report says 140 conversions. The intake manager remembers eleven consultations. Somebody is wrong, and nobody can prove who.
Neither side is lying. The two systems are counting different events, over different windows, with different rules about what a person is. Below is what actually causes the divergence, how much of it is normal, and what to do about the part that isn’t.
On this page
What each system is actually counting
Three reports, three definitions of the same word — and only one of them describes a patient.
| System | Counts | Blind to |
|---|---|---|
| Google Ads | Conversion actions attributed to a click, including modeled estimates, credited to the date of the click, not the date of the action. | Whether the person was reachable, qualified, or ever became revenue. |
| GA4 | Events in a session, credited to the date they happened, under its own attribution model and consent rules. | Anything that happens off-site — which in high-ticket healthcare is most of the sale. |
| Your CRM | Records that a human created and moved to a stage, deduplicated against people you already knew. | Which click produced the record, unless something captured it at intake. |
Read that table again with your last monthly report in hand. Most of the argument disappears once it’s clear the three columns were never candidates for the same number.
Five reasons the numbers diverge
In order of how much damage they usually do, not how often they get blamed.
1. The conversion action is too generous. A call conversion typically fires at 60 seconds. A wrong number, a supplier and a patient asking about parking all clear that bar. If a meaningful share of your enquiries arrive by phone — and in high-ticket healthcare they do — this alone can explain most of the discrepancy.
2. Modeled conversions aren’t records. When Google can’t observe a conversion directly — consent declined, cross-device path, browser restrictions — it estimates one. Those estimates are often directionally reasonable at account level. They will never appear in your CRM, because there is no person attached to them.
3. The dates don’t line up. Google credits a conversion to the day of the click, retroactively, inside a window that can run 30 or 90 days. Your CRM credits the day the record was created. Compare two calendar months side by side and you are comparing partially different cohorts.
4. Deduplication runs in opposite directions. Your CRM merges a returning patient into the existing record. Google, by default on lead actions, counts every submission. One person filling in three forms is one CRM record and three conversions.
5. The click ID doesn’t survive intake. This is the quiet one. If the GCLID isn’t captured on the landing page and written to the lead record — through the form, the chat widget and the call tracking — then even a perfectly clean CRM cannot tell you which campaign produced which patient. Nothing downstream recovers it.
How big a gap is normal
Ten to twenty percent is ordinary and not worth a meeting. Beyond that you are no longer looking at a reconciliation problem.
When the platform reports two or three times what the CRM can find, the definition is wrong, not the arithmetic. Something is being counted as a conversion that your business does not consider a lead — and because bidding optimizes toward whatever it can see, budget has already been moving toward whatever produces the most of that thing.
This is the mechanism behind a pattern most owners recognize: cost per lead falls every quarter while the metrics that describe the business quietly get worse.
Reconcile the two reports in one afternoon
You can do this yourself, without your agency, in about three hours.
- Open your conversion actions in Google Ads and write down, for each one, what event fires it and what counting setting it uses (every vs one). Most owners have never seen this screen.
- Check the call conversion duration threshold. If it is 60 seconds, raise it to 90 or 120 and watch what happens to reported volume.
- Split reported conversions into observed and modeled. If modeled is a large share, stop expecting the CRM to match it.
- Export 30 days of CRM records and check how many carry a GCLID. If the answer is none, that is the finding — everything else is guesswork until it’s fixed.
- Pick one week and match it line by line, by person, not by total. Ask which conversions have no CRM record, and which records have no conversion.
- Name the stage in your CRM where money is genuinely confirmed. Consultation attended, admitted, closed-won. Write it down — you’ll need it in the next step.
How to close the gap permanently
Stop trying to make two reports agree and give the platform the CRM’s definition instead.
That is what offline conversion import does. The click ID is captured at the landing page and stored on the lead in your CRM. When the record reaches the stage you named above, that outcome is sent back into Google Ads and Microsoft Ads against the original click, with the revenue value attached. Bidding then optimizes toward the thing you sell rather than the thing it could see.
Nothing about the patient leaves your systems — a click ID, a timestamp, a conversion name and a value. Google documents the mechanism for offline conversion imports and separately explains how modeled conversions are produced; Microsoft has an equivalent import keyed to MSCLKID.
Two warnings, because this is where owners get surprised. Implementation takes two to four weeks and most of that is CRM work, not ad work. And once it’s live your reported conversion volume will fall — sometimes sharply — while cost per confirmed patient improves. That is the system working. If nobody warns you in advance, it reads as a disaster.
VERIFIED EXAMPLE · When I inherited a wasteful account at a luxury US healthcare clinic, it was optimizing toward platform conversions. Rebuilt around admitted patients imported from the CRM, cost per admitted patient fell ~78% while spend scaled ~2× and approved patients rose ~9×.
Questions owners ask
How big a gap between Google Ads and my CRM is normal?
A gap of 10 to 20 percent is ordinary and usually explained by conversion windows, cross-device journeys and consent. Once the platform is reporting two or three times what your CRM can find, the difference is no longer a reconciliation problem — it is a definition problem. Something is being counted as a conversion that your business does not consider a lead.
Which number should I trust, Google Ads or my CRM?
The CRM, for every decision involving money. Use Google Ads reporting for what it is good at — diagnosing which campaigns and keywords produce activity — and use the CRM for judging whether that activity became revenue. The mistake is not trusting one over the other; it is letting the platform bid on a definition your business never agreed to.
What are modeled conversions and do they count?
Modeled conversions are statistical estimates Google adds when it cannot observe a conversion directly, typically because of consent choices, cross-device journeys or browser restrictions. They are not fabrications and they are often directionally right at the account level. They are simply not records, so they will never appear in your CRM and cannot be reconciled line by line.
Why do calls make the gap worse?
Google counts a call conversion when the call reaches a duration threshold, often 60 seconds. A wrong number, a vendor and a patient asking about parking all clear that bar. In high-ticket healthcare, where a large share of enquiries arrive by phone, this single setting can account for most of the discrepancy between the two reports.
Can I fix this without changing CRMs?
Almost always. What you need is a field on the lead record that stores the click ID and a stage that reliably marks confirmed revenue. Salesforce has a native path, HubSpot, Zoho, Kipu and custom systems work through scheduled uploads or the Google Ads API. Replacing a CRM to fix attribution is rarely necessary and usually the more expensive route.
How long does it take before bidding improves?
Implementation takes two to four weeks depending on CRM hygiene. Smart Bidding then needs enough imported outcomes to retrain, which in high-ticket healthcare usually means another 30 to 60 days. Expect reported conversion volume to fall during that period while cost per confirmed patient improves.