Why GA4, Google Ads, and Your CRM Show Different Numbers (And Which to Trust)
You open Google Ads and see 48 conversions for the week. You switch to GA4 and find 31. You check your CRM and there are 19 qualified leads. All three numbers can be correct at the same time. Each system is measuring a different thing, counting it differently, and attributing it to a different moment. The confusion isn't a sign that something is broken. It's a sign that you're comparing units that were never designed to match.
This guide explains the structural causes behind these gaps, walks you through a diagnostic checklist for narrowing down what's driving the discrepancy in your account, and provides a decision table for which system to rely on for each type of marketing decision.
Why Three Systems Will Never Agree
Google Ads, GA4, and your CRM operate on different units of measurement by design.
Google Ads counts clicks. The moment a user clicks your ad, that click is logged in Google's servers, with or without a cookie, with or without a completed page load. The corresponding conversion fires when a tag on your thank-you page or a GA4-imported event signals that a goal was reached, attributed back to the original click.
GA4 counts sessions. A session starts when a user arrives on your site and continues until they leave or go inactive. If the same person clicks an ad twice in one session, GA4 records one session; Google Ads records two clicks. GA4 also relies on a JavaScript tag running in the user's browser. If that tag is blocked, the session is never recorded.
Your CRM counts people who took a verified business action: submitted a form, called in, or were manually added by a sales representative. CRM data is intentionally narrower. It filters out test submissions, duplicate leads, and unqualified contacts that the other two systems include without question.
These are not equivalent measurements. That's the foundation of any honest reconciliation.
Structural Causes of GA4 and Google Ads Discrepancies
1. Attribution model differences
GA4 uses data-driven attribution by default, distributing conversion credit across multiple touchpoints in the customer journey (Google Analytics Help, 2024: Attribution settings in GA4). Google Ads uses its own attribution logic, which also defaults to data-driven within Google's ad ecosystem, but it only distributes credit across ad interactions, not organic, direct, or referral sessions. When a user clicked a Google Ad, then returned directly three days later and converted, GA4 may partially credit the direct session; Google Ads credits the original ad click in full.
2. Consent rejection and ad blockers
When a user declines cookie consent on your site, GA4 receives no data for that user unless Consent Mode v2 is configured with behavioral modeling enabled (Google Tag Platform documentation, 2024: Consent Mode overview). Google Ads can still register the click, because the click happens at Google's servers before the user ever reaches your consent banner. The result: Google Ads shows the click; GA4 has no record of the session. Ad blockers work the same way. Browser extensions that block analytics scripts prevent the GA4 tag from firing entirely, while the Google Ads click count is unaffected.
3. Conversion date vs. click date
By default, Google Ads attributes a conversion to the date the ad was clicked, not the date the conversion happened. If someone clicked your ad on November 28 and completed a purchase on December 2, Google Ads records that conversion in November. GA4 records it in December. This creates persistent time-period mismatches, particularly around month boundaries and during long B2B sales cycles.
4. Lookback window differences
Google Ads applies a conversion lookback window to decide which prior clicks still qualify toward a conversion. The default lookback for search and display conversions is 30 days (Google Ads Help, 2024: Set a conversion window). GA4 session-based attribution uses separate session timeout settings and its own attribution window in the Attribution settings panel. If your Google Ads lookback window differs from your GA4 attribution lookback, conversions from longer consideration journeys may appear in one system and not the other.
5. Click-to-session ratio
One Google Ads click does not reliably produce one GA4 session. A user who clicks an ad and closes the tab before the page loads produces a click in Google Ads and nothing in GA4. A user who clicks an ad, starts a session, bounces, then returns via a bookmark creates two GA4 sessions from one Google Ads click. These divergences compound at any meaningful scale.
6. Time zone misalignment
If your Google Ads account is set to one time zone and your GA4 property is set to another, conversions near the boundary of a day will appear in different date buckets across the two systems. A conversion at 11 PM in one time zone may fall into the next calendar day in the other. Verify that both platforms use the same time zone: in Google Ads, go to Settings then Account settings; in GA4, go to Admin, then Data streams, then the stream settings for your property.
7. Double counting and misconfigured tags
If your conversion tag fires more than once per transaction, one or both systems will show inflated figures. Common causes include a tag that fires on page load and on button click for the same event, a GA4 event imported into Google Ads running alongside a separate Google Ads Conversion Tag tracking the same action, or a purchase event that fires before payment confirmation is complete.

The CRM Gap: Why Your Sales Team Counts Less
Your CRM will almost always show fewer conversions than GA4 or Google Ads. This is expected and healthy.
CRM entries require a verified business outcome. Duplicate submissions, test leads, and contacts who filled in a form but never responded to follow-up don't become CRM records with pipeline value. GA4 and Google Ads have no mechanism to identify which of their counted conversions became actual business. That filtering happens in your CRM.
There's also an attribution gap in the other direction. Deals that came through word of mouth, referrals, or offline calls often enter the CRM with no channel tag, making them invisible to both GA4 and Google Ads. This underreports digital marketing's contribution from the CRM's perspective, particularly in B2B contexts where sales cycles are long and touchpoints are mixed. For more on how CRM data connects to your digital measurement stack, the guide on CRM and website integration covers the data flow in detail.
If you're seeing a large CRM-to-Google-Ads gap, the most common causes are:
- Form conversion counting every submission, including duplicates and spam entries
- CRM filtering out leads that don't meet a qualification threshold your tracking doesn't apply
- Offline conversions and phone leads not being fed back to Google Ads as enhanced or offline conversion data
- Multi-step sales processes where the final revenue event happens weeks after the tracked form fill
How to Narrow Down the Gap (Diagnostic Checklist)
Before adjusting budgets or drawing conclusions from report discrepancies, run this sequence to isolate where the gap is coming from.
Step 1: Align the date logic first. In Google Ads, switch from "Conversions (by click time)" to "All conv. (by conv. time)" so both systems report conversions on the date they happened, not the date the click happened. Set identical date ranges in both platforms.
Step 2: Isolate paid traffic in GA4. In GA4, filter the Acquisition report to show only google / cpc sessions. Compare that figure to your Google Ads click count for the same period. A large gap (many more clicks than sessions) points to tag failures, ad blocker impact, or consent rejection causing sessions to go unrecorded.
Step 3: Check for duplicate conversion tags. In Google Tag Manager, audit which tags fire on your thank-you page or key conversion events. Confirm the same event is not tracked twice, once via a GA4 event imported into Google Ads and once via a standalone Google Ads Conversion Tag tracking the same action. Both tracking paths are common; both firing simultaneously inflates Google Ads numbers.
Step 4: Verify auto-tagging. Auto-tagging appends a GCLID parameter to your landing page URLs so GA4 can attribute sessions back to the Google Ads click. If a URL rewrite, redirect, or UTM parameter override strips the GCLID before the page loads, GA4 loses the Google Ads attribution context. Check this by looking at whether paid campaigns appear under "direct" or "(not set)" in GA4's Acquisition reports. A good understanding of how Google Ads campaign parameters and attribution settings work makes this diagnostic step significantly faster.
Step 5: Review your Consent Mode configuration. If you have a cookie banner but have not configured Consent Mode v2, you lose GA4 data for every user who declines. Confirm whether your tag fires conditionally based on consent status and whether behavioral modeling is active in your GA4 property.
Step 6: Check the lookback windows. In Google Ads, go to Tools and Settings, then Measurement, then Conversions, and confirm the lookback window for each conversion action. Compare this to your GA4 attribution settings under Admin, Attribution settings. Mismatches here are a common source of monthly discrepancies that can't be resolved at the tag level.
Which System to Trust for Which Decision
The question "which number is right?" has no single answer. The right number depends on the decision you're making. Using Google Ads data for a revenue discussion gives a misleading picture; using CRM data to optimize ad bids gives you nothing actionable. The decision table below assigns each decision type to its authoritative source.
| Decision | Primary source | Reason |
|---|---|---|
| Paid campaign budget allocation and in-platform optimization (CPC, ROAS, Quality Score) | Google Ads | Operates within its own attribution window; most granular view of ad-level performance; feeds Smart Bidding directly |
| Understanding the full user journey across all channels | GA4 | Session-based and cross-channel; shows how users navigate, where they drop off, and which non-paid paths convert |
| Revenue confirmation and pipeline reporting | CRM | Only system with verified business outcomes; actual closed or qualified deals, not modeled or tracked events |
| Estimating true reach under cookie consent restrictions | GA4 with Consent Mode v2 and behavioral modeling | Statistical modeling covers the gap from non-consenting users; raw GA4 without modeling undercounts reach significantly |
| Smart Bidding optimization signals | Google Ads (fed with GA4 conversion imports) | Smart Bidding performs best with consistent, clean conversion signals; GA4 event imports give broader behavioral data beyond the click |
| Organic and content performance | GA4 | Google Ads does not track non-paid sessions; GA4 is the only source for SEO, direct, and referral traffic data. See also the guide on building organic visibility alongside paid |
Practical use: a weekly Google Ads performance review should use Google Ads figures for in-platform decisions. A monthly channel mix review should use GA4 for cross-channel attribution. A quarterly business review should anchor to CRM pipeline data as the revenue truth layer. Combining these sources in one report without labeling which system each figure comes from is the single most common cause of reporting arguments.

Reducing the Gap Over Time
Discrepancies can be reduced, but not eliminated. The structural difference between click counting and session counting is permanent. What you can close is the technical gap created by browser blocking, misconfigured tags, and consent data loss.
The most effective single step for most accounts is implementing server-side tracking. When GA4 events are sent from your server rather than the user's browser, ad blockers and browser privacy settings have no effect on data collection. Combined with Consent Mode v2 and behavioral modeling, server-side tracking substantially narrows the gap between Google Ads click counts and GA4-recorded sessions without requiring individual data storage for non-consenting users.
For accounts with significant offline conversion activity, uploading CRM data back to Google Ads via Enhanced Conversions or the Offline Conversions import closes the CRM-to-Google-Ads gap from the other direction. This gives Smart Bidding a more accurate picture of which campaigns generate revenue, not just form fills. When the goal is consistent, comparable data across campaigns, structuring your measurement approach as part of an overall online marketing strategy produces fewer reconciliation problems than adding tracking retroactively.
Measurement architecture has also been affected by broader changes to how Google surfaces data. For context on how Google's search infrastructure changes affect tracking and reporting tools, see the analysis of what Google's recent search result changes mean for measurement.
The goal is not a single unified number shared across all three systems. It's a consistent methodology for each decision type, so that the same person looking at the same question always pulls from the same source, and the number means the same thing each time.

















































rev%20komprimiert.jpg)





















