Narrativva logomarkNarrativvaDigital studio
Analytics8 min read

Why Google Ads, GA4, and CRM numbers do not match

A practical explanation of why campaign, analytics, and sales numbers disagree, what differences are normal, and what to check before you blame the campaigns.

If Google Ads shows 42 conversions, GA4 shows 36 key events, and the CRM shows 29 leads, it does not automatically mean that something is broken. It means the three systems are answering different questions.

The problem starts when a team treats those three numbers as if they should be identical. Then every reporting meeting turns into guessing: maybe Google Ads is overreporting, maybe GA4 is missing something, maybe the CRM is wrong, maybe the agency is hiding bad performance. Most of the time, the first step is simpler: define what each number is actually counting.

The short version

The goal is not to make every report show the same number. The goal is to know which number to use for which decision.

Google Ads is built for campaign measurement and bidding. GA4 is built for behavior and cross-channel analysis. A CRM is built for sales operations and lead management. They overlap, but they do not share the same purpose, timing, attribution rules, or data-cleaning logic.

  • Google Ads asks: which ad interaction should get credit for a conversion used in campaign reporting or bidding?
  • GA4 asks: what happened on the website or app, and which channels contributed to important user actions?
  • The CRM asks: which usable leads, opportunities, customers, or deals exist in the sales process?

What Google Ads is counting

Google Ads conversion data exists to help you evaluate and optimize campaigns. That sounds obvious, but it matters. The Conversions column is not a neutral business ledger. It is shaped by conversion actions, attribution settings, conversion windows, counting method, inclusion in bidding, invalid-click filtering, and the date when Google Ads assigns credit.

  • A lead conversion can be counted as one conversion per ad interaction or every conversion after the interaction. For lead generation, one is often cleaner; for purchases, every may make more sense.
  • A conversion only counts if it falls inside the selected conversion window. A shorter window will usually produce fewer reported conversions.
  • Recent Google Ads performance can look worse than it really is because some users convert days or weeks after the click. That is conversion lag.
  • If GA4 key events are used to create Google Ads conversions, the setup is closer, but the reports still need to be compared with the same attribution scope and date logic.

Google's own documentation is explicit that conversion counting choices matter. For example, Google Ads lets you choose whether a conversion action counts every conversion or only one conversion after an interaction. That single setting can explain a large gap before you even look at GA4 or the CRM.

What GA4 is counting

GA4 is event-based. It records events from the website or app, lets you mark important actions as key events, and can create Google Ads conversions from those key events. Google's conversions vs. key events naming matters here: a GA4 key event in a standard report is not automatically the same thing as the Google Ads Conversions column used for campaign optimization.

  • GA4 reports website and app behavior across channels, not only Google Ads traffic.
  • GA4 attribution settings decide which channels are eligible to receive credit for key events and web conversions shared with Google Ads.
  • GA4 data can keep changing during processing. In its data freshness documentation, Google states that processing can take 24 to 48 hours.
  • Consent, identifiers, thresholds, and modeling can change what appears in Analytics reports, especially on lower-volume properties or in narrow date ranges.

This is why comparing yesterday in GA4 with yesterday in Google Ads is often a bad diagnostic. The numbers are still moving, attribution may not be aligned, and recent conversions may not have fully arrived yet.

What the CRM is counting

The CRM is usually the closest thing to commercial truth, but it is not automatically the cleanest measurement system. A CRM record depends on form logic, integrations, duplicate handling, required fields, spam filters, sales rules, manual edits, lifecycle stages, and whether the team actually uses the CRM consistently.

  • A form submit in GA4 may become no CRM lead if the backend rejects it, the integration fails, or the CRM deduplicates it into an existing contact.
  • A CRM lead may have no clean source if UTM parameters, gclid, gbraid, wbraid, referrer, or landing-page fields are not captured and stored.
  • A lead can be created days after the original session if the sales team imports it manually, edits it, or moves it between systems.
  • A CRM opportunity or customer count is intentionally smaller than a raw conversion count because it filters for quality, qualification, and sales progress.

Normal reasons the numbers differ

Some differences are not only normal, they are expected. Before looking for a bug, check these causes first.

  1. Different date logic. Google Ads can assign a conversion to the ad interaction date, while Analytics reports the event when it happened. The CRM usually uses lead creation, update, or stage-change dates.
  2. Different attribution scope. Google Ads looks at eligible ad interactions. GA4 can look across paid and organic channels. The CRM may use first touch, last touch, self-reported source, or whatever the integration writes into a field.
  3. Different counting rules. Google Ads may count one or every conversion. GA4 counts events and key events. The CRM may deduplicate contacts or suppress repeat submissions.
  4. Different conversion definitions. A button click, successful form submit, thank-you page view, qualified lead, sales opportunity, and closed deal are different business events.
  5. Different time zones. Google Ads account timezone, GA4 property timezone, Looker Studio data source settings, and CRM workspace timezone can be out of sync.
  6. Processing and lag. GA4 reports can change during processing, and Google Ads conversions can arrive later because people do not always convert immediately after clicking.
  7. Consent and identifiers. If analytics or ads storage is denied, some identifiers are unavailable. Depending on the setup, reports may rely on observed data, modeled data, or miss some detail entirely.
  8. Broken or incomplete handoff to the CRM. The tracking can fire correctly, but source fields, click IDs, hidden form fields, or webhook payloads may still fail on the way into the CRM.

When the mismatch is suspicious

A mismatch is not automatically a problem. A pattern is. These are the situations worth investigating quickly.

  • Google Ads shows conversions, but GA4 has no matching key event or event volume for the same action.
  • GA4 records form submits, but the CRM does not receive the leads or receives them without source fields.
  • The gap appears suddenly after a redesign, cookie-banner change, GTM publish, form plugin update, or CRM integration change.
  • Paid traffic keeps spending, but CRM-qualified leads drop while raw website events stay stable.
  • A report uses yesterday or today as proof of performance without accounting for processing delay or conversion lag.
  • A dashboard blends Google Ads, GA4, and CRM metrics under one label called leads without explaining the source and definition.

A practical reconciliation process

Do not start by comparing all dashboards. Start with one conversion path and trace it from click to CRM.

  1. Choose one business action. For example: successful contact form submission on a specific landing page. Do not mix button clicks, page views, and qualified leads in one comparison.
  2. Pick a completed date range. Avoid today and yesterday. For lead-gen accounts, use a range that is old enough for normal conversion lag and CRM processing.
  3. Check the raw website event first. Confirm that the form success event fires once, with the right name, on the right trigger, and only after a real successful submit.
  4. Check GA4 event and key event setup. Make sure the event is collected, marked correctly if it should be a key event, and not duplicated by another tag or enhanced measurement setting.
  5. Check the Google Ads conversion action. Confirm the source, count setting, conversion window, include-in-conversions setting, attribution settings, and whether the action is primary or secondary.
  6. Check the CRM handoff. Submit a test lead and verify that source, medium, campaign, landing page, click ID, consent state, and timestamp arrive in the CRM or integration log.
  7. Separate raw leads from qualified leads. Report them as two different metrics. A campaign can generate many form submits and still produce few usable leads.
  8. Document the expected gap. A healthy setup can still have a normal difference between ad conversions, analytics key events, CRM leads, and qualified opportunities.

Which number should you trust?

The better question is: what decision are you making?

  • Use Google Ads conversion data for campaign optimization, bidding, and platform-level campaign diagnostics.
  • Use GA4 for website behavior, channel comparison, landing-page analysis, and understanding what users did before the lead.
  • Use the CRM for lead quality, pipeline, revenue, sales follow-up, and whether the business actually received something useful.
  • Use a reconciled dashboard only after every metric has a clear definition, source, date logic, and owner.

A common mistake is to make the CRM the only truth for campaign optimization. The CRM is essential, but it often arrives late, has lower volume, and includes sales decisions that the ad platform cannot observe directly. Another common mistake is to trust Google Ads alone and ignore whether those conversions become real leads. The useful setup connects both views without pretending they are the same report.

What a good reporting setup looks like

The cleanest reporting systems do not hide disagreement. They explain it. A good dashboard should make it obvious whether a number comes from Google Ads, GA4, or the CRM, what it means, how it is counted, and why it may differ from the neighboring metric.

  • Name metrics precisely: form_success_events, Google Ads primary conversions, CRM new leads, CRM qualified leads, opportunities, and closed revenue are not interchangeable.
  • Keep campaign, analytics, and CRM numbers next to each other, not merged into one unexplained total.
  • Show both volume and quality: raw conversions tell you whether the journey is producing actions; CRM stages tell you whether those actions are commercially useful.
  • Add a short measurement note to the report. One paragraph is often enough to prevent the same argument every month.

Bottom line

Google Ads, GA4, and CRM numbers should be close enough to explain, not identical enough to stop thinking. A small, documented gap is normal. A sudden unexplained gap is a measurement issue until proven otherwise.

If your reports disagree and you do not know which number drives decisions, start with the public basics: run the Free Tracking Checker, then review the conversion path from event to CRM. If the gap still does not make sense, the next step is not another dashboard. It is a measurement cleanup.

František Bujnovský

František Bujnovský

Web & analytics

Frantisek focuses on websites, analytics, reporting, and digital clarity. He writes the practical guides on Narrativva when a setup is confusing, access is messy, or teams need cleaner data to work with.