Discrepancy Between Google Ads and GA4 Google Ads vs. GA4 Conversions: Why Your Numbers Don't Match (And What to Do About It)
Alright, let's talk about something that drives many digital marketers and analysts crazy: you log into Google Ads, check your conversions, then pop over to Google Analytics 4 (GA4), and... the numbers don't match. Sometimes they're close, sometimes wildly different. Sound familiar?
If you're nodding along, trust me, you're not alone. This is one of the most common points of confusion when working with these two powerful platforms. It's tempting to think one must be "wrong," but the reality is more nuanced. They are fundamentally different systems, designed for different primary purposes, measuring related but distinct actions.
In this post, we'll roll up our sleeves and dissect the why behind these discrepancies. More importantly, I'll give you practical advice on how to interpret this data, what steps you can take to minimize the differences, and which dataset you should lean on for different decisions. Let's dive in.
Setting the Stage: What Are We Actually Comparing?
Before we get into the weeds, let's clarify what each platform is fundamentally tracking when we talk about "conversions in GA4 vs Google Ads."
Google Ads Conversions: These are typically configured directly within the Google Ads interface. Their primary focus is tracking actions that happen after a user interacts with one of your ads (clicks or, sometimes, views). Google Ads uses its own tracking tag (the Ads tag via gtag.js or GTM) or relies on conversions imported from GA4. Crucially, it often uses the GCLID (Google Click Identifier) appended to your URLs via auto-tagging to link conversions back to specific ad interactions. The main goal here? Ad campaign optimization.
GA4 Conversions: In GA4, conversions are simply events that you've marked as particularly important. These events are tracked via your GA4 configuration tag (gtag.js or GTM setup) whenever they occur on your site or app, regardless of the traffic source. GA4 aims to provide a holistic view of user behavior and conversion paths across all channels (Organic, Paid, Direct, Referral, etc.).
Understanding this difference in scope is the first step: Google Ads is laser-focused on ad impact, while GA4 looks at the entire user journey.
Deep Dive: The Key Reasons Your Data Doesn't Align
Okay, now for the technical details. Several factors contribute to the discrepancies you're seeing. Let's break them down:
Attribution Model Differences
This is often the biggest culprit. Attribution is how credit for a conversion is assigned to different touchpoints along the user's path.
Google Ads Attribution: Google Ads has its own set of attribution models (like Last Click, First Click, Linear, Time Decay, Position-Based, and the default, Data-Driven). Critically, Google Ads attribution models (by default) only consider interactions with your Google Ads. If a user clicks an ad, leaves, comes back via organic search, and then converts, Google Ads' Data-Driven model will analyze the ad's role but won't inherently "see" the organic touchpoint in the same way GA4 does when assigning credit within the Ads interface. Lookback windows (how far back Ads looks for interactions) are also configured within Ads itself.
GA4 Attribution: GA4 also has attribution settings, found under Admin > Attribution Settings. The default Reporting attribution model is typically Data-Driven, but it considers touchpoints across all channels that GA4 tracks (Paid Search, Organic Search, Direct, Referral, Email, etc.). You can also change the model used for reporting directly in the GA4 interface (Advertising section or Explore reports). Even when both platforms use "Data-Driven," the underlying algorithms and the data inputs (Ads interactions only vs. all channels) mean the results can differ.
The Takeaway: Different attribution models, looking at different sets of data (Ads-only vs. all channels), will inevitably lead to different conversion counts being credited to Google Ads in each platform.
Conversion Counting Methods
How many times do you count a conversion if a user completes the same action multiple times?
Google Ads Counting: When setting up a conversion action in Google Ads, you choose between counting 'Every' conversion or 'One' conversion. For purchases, 'Every' makes sense (you want to count each sale). For lead form submissions, 'One' is often preferred (you only want one lead per user within a certain timeframe, even if they submit the form twice). Check your settings!
GA4 Counting: By default, GA4 counts every single instance of an event that you've marked as a conversion. If a user submits your lead form three times in the same session, GA4 will report 3 conversions for that event. This is a fundamental shift from Universal Analytics' goal completion logic (which was typically 'once per session').
The Takeaway: This difference in default counting logic is a massive reason why you might see GA4 reporting significantly more conversions than Google Ads, especially for non-purchase actions where Ads might be set to 'One'.
Conversion Date & Processing Lag
When does each system say the conversion happened?
Google Ads Timing: Google Ads generally attributes the conversion back to the date/time of the ad interaction (usually the click) that led to the conversion. So, if someone clicks an ad on Monday but converts on Wednesday, the conversion might be reported in Ads against Monday's click data.
GA4 Timing: GA4 records the conversion based on the date/time the actual conversion event occurred. In the same example, the conversion would be recorded on Wednesday.
Processing Latency: Native Google Ads conversion data often appears in the Ads interface relatively quickly (within hours). GA4 data, however, typically has a processing latency of 24-48 hours. Trying to compare "yesterday's" data early in the morning will almost always show discrepancies because GA4 likely hasn't fully processed yet.
The Takeaway: Comparing the same date range can yield different results simply because the conversion is timestamped differently, and the data takes varying amounts of time to become available. Always allow 48+ hours for GA4 data to settle before making direct comparisons.
Tracking Mechanisms & Potential Glitches
The technical setup needs to be flawless (or close to it).
GCLID & Auto-tagging: Google Ads heavily relies on auto-tagging, which appends the
gclid
parameter to your URLs. This allows Ads to track users post-click. If auto-tagging is turned off, or if redirects on your site accidentally strip this parameter, Ads tracking breaks.UTM Parameters: GA4 uses
utm_
parameters for tracking campaign data, especially from non-Google sources or manual overrides. Inconsistent or incorrect UTM tagging leads to messy, inaccurate source/medium data in GA4, which affects attribution.Consent Mode: User consent choices directly impact tag firing. If a user denies consent, neither platform's tags might fire, leading to data loss. Both platforms use Modeled Conversions to fill these gaps, estimating conversions based on observed data from consenting users. However, the modeling techniques and inputs might differ, causing discrepancies, especially if your consent rates are low or vary.
Tag Implementation Errors: Simple mistakes in how you've set up the Google tag (gtag.js) or your tags within Google Tag Manager (GTM) – like firing duplicate tags, incorrect triggers, or issues with the dataLayer – can cause under or overcounting in one or both platforms.
The Takeaway: Perform regular technical audits! Tag Assistant, GTM preview mode, and careful inspection of URL parameters are your best friends here.
Cross-Device & Cross-Browser Tracking
Tracking a single user across multiple devices (laptop, phone, tablet) or browsers is inherently challenging.
Both Google Ads and GA4 use various signals (like device IDs, logged-in Google accounts via Google Signals, and your own User ID data if provided) to try and stitch these journeys together.
However, the effectiveness and methodology differ. GA4, particularly with Google Signals enabled, often has a broader view than Ads might alone, but neither is perfect.
The Takeaway: Discrepancies can arise simply because one system was better able to connect a user's cross-device journey back to an ad interaction than the other.
Filtering: Spam & Invalid Traffic
Minor, but still a factor.
Both platforms automatically filter out known bot traffic and invalid clicks/interactions.
The specific algorithms and blacklists used might differ slightly, leading to small variations in the final numbers deemed "legitimate."
The Takeaway: Unlikely to be the main cause of large discrepancies, but contributes to small percentage point differences.
Which Data Should You Trust? GA4 vs. Google Ads Tracking
This is the million-dollar question, and the answer is: it depends on what you're trying to do.
Rely on Google Ads Data When... You are focused on day-to-day tactical campaign optimization within the Google Ads platform. If you're using native Ads conversion tracking (the Ads tag), its data feeds directly and quickly into bidding algorithms (Maximize Conversions, Target CPA, etc.). For campaign managers needing rapid feedback on ad performance, this data loop is crucial.
Rely on GA4 Data When... You need to understand the bigger picture and the full customer journey. GA4 excels at comparing the performance of all your marketing channels, analyzing user paths, and providing context beyond just the last ad click. Use GA4 for strategic analysis, cross-channel reporting, and understanding how different touchpoints contribute to conversions.
Think of it like this: Google Ads data tells you how your ads are performing directly, while GA4 data tells you how your ads contribute within the broader context of your marketing efforts. Neither is inherently more "true," they just offer different, valuable perspectives.
Using GA4 Conversions in Google Ads (The Recommended Approach)
Given Google's direction and the benefits of a holistic view, the generally recommended best practice today is to import your key GA4 conversions into Google Ads and use them as the basis for reporting and bidding.
Why Import GA4 Conversions?
Consistency: You establish a single source of truth for what constitutes a conversion, aligning KPIs across analytics and advertising platforms. This makes reporting much simpler.
Richer Data for Bidding: By feeding conversions based on GA4's potentially broader, cross-channel view into Ads (especially if using Data-Driven Attribution), you might enable smarter bidding decisions that understand the full journey better.
Future-Proofing: Aligns with GA4 as Google's central measurement platform moving forward.
How it Works (The Basics): You need to have properly linked your Google Ads and GA4 accounts. Then, ensure your important actions are set up as conversion events in GA4 (Configure > Conversions). Finally, in Google Ads (Tools & Settings > Measurement > Conversions), you can import these GA4 events.
Important Caveats – READ THESE!
Importing GA4 conversions does not mean the numbers will magically match native Ads tracking perfectly. You'll still see differences due to attribution timing (GA4 event time vs. Ads click time) and potential nuances in how Ads bidding algorithms interpret the imported data.
This approach relies 100% on a clean, accurate GA4 setup. If your GA4 event tracking is broken or inaccurate, importing those conversions will just pollute your Ads data (Garbage in, garbage out!).
When importing, pay close attention to the 'Action optimization' setting in Google Ads. Set your key imported GA4 conversions as 'Primary' actions if you want them to be used for bidding and included in the main 'Conversions' column. Set less important conversions or native Ads tags you might still have running (e.g., for audience building) as 'Secondary' to avoid double counting in reporting and bidding.
Practical Steps to Minimize Discrepancies
While perfect parity is a myth, you can definitely reduce the gap and increase confidence in your data:
Audit Your Tagging Relentlessly: Use Google Tag Assistant (tagassistant.google.com), GTM's Preview mode, and browser developer tools to ensure your Google tag (gtag.js) and GA4 event tags are firing correctly, only once, and capturing the right data. Check for conflicts.
Verify Google Ads Auto-tagging: Double-check it's enabled in your Google Ads account settings (Account Settings > Auto-tagging). Click some of your own ads (without costing too much!) and ensure the
gclid
parameter appears on the landing page URL. Check server logs or work with developers if you suspect redirects are stripping it.Maintain Consistent UTM Hygiene: If using manual tagging, enforce a strict, consistent structure for
utm_source
,utm_medium
,utm_campaign
, etc., across all non-Google campaigns. Document your structure.Check & Validate Consent Mode: Ensure your Consent Management Platform (CMP) is correctly implemented and integrated with Google tags via Consent Mode v2. Test different consent scenarios. Understand how modeled data might be influencing your numbers.
Understand Your Attribution Settings: Know which attribution model is selected in Google Ads (for each conversion action) and GA4 (Admin > Attribution Settings). While you can't force them to be identical, understanding the differences helps interpret the data.
Use GA4 Imports as Primary: Commit to using imported GA4 conversions as the Primary source of truth in Google Ads for your main KPIs. This fosters reporting consistency.
Compare Apples-to-Apples (Mostly): When comparing reports, ensure date ranges match after allowing for GA4's processing lag (wait 2-3 days). Compare the same conversion action definition. Acknowledge that attribution and timing differences will always exist. Focus on trends and relative performance.
Uncover Hidden Attribution Gaps with Sherlock: Your GA4 & Google Ads Detective"
After identifying all these potential causes of discrepancies between your Google Ads and GA4 data, you might be wondering: how do I actually find these issues in my own implementation? This is where deep auditing becomes essential.
While the technical setup checks we've discussed are a great start, the most insidious tracking issues often hide in individual sessions where GCLIDs exist but the traffic is mysteriously attributed to direct or organic channels instead of "google / cpc." These misattributions silently drain your conversion tracking accuracy and can severely impact your campaign optimization decisions.
Sherlock, our GA4 BigQuery Auditor, was specifically designed to identify these exact attribution gaps by examining your raw, unsampled GA4 data at the most granular level. Unlike standard GA4 reports that only show aggregate results, Sherlock investigates session by session, pinpointing exactly where GCLIDs exist but failed to properly attribute traffic to your paid campaigns. Since Sherlock connects directly to your BigQuery export tables, it accesses the pristine, pre-processed data that GA4's interface simply doesn't expose, allowing you to systematically fix these attribution issues at their source.
Ready to discover why your Google Ads and GA4 data really don't match? Try Sherlock today and transform those frustrating discrepancies into actionable insights that improve both your tracking accuracy and your campaign performance.
Conclusion
Dealing with data discrepancies between Google Ads and GA4 is a rite of passage for digital analysts. Remember, these platforms are different tools with different strengths. Discrepancies are normal and stem from core differences in how they count, attribute, time, and track conversions.
Instead of chasing perfect numerical alignment (which is impossible), focus on:
Understanding the reasons why the data differs (as outlined above).
Ensuring your technical tracking setup (tags, auto-tagging, UTMs, consent mode) is as clean and accurate as possible.
Using imported GA4 conversions as your primary source in Google Ads to foster consistency in reporting and leverage richer data for optimization.
Using each platform for its primary purpose: Google Ads for tactical campaign management and optimization, GA4 for strategic, holistic analysis of the entire customer journey.
Focus on the trends, the insights, and the relative performance indicated by each platform. By understanding the nuances, you can use both Google Ads and GA4 effectively to drive better results. Good luck!
Frequently Asked Questions (FAQs)
Let's tackle some common related questions:
Why are Google Ads clicks higher than GA4 sessions?
Clicks in Ads count every time an ad is clicked. A Session in GA4 is a period of user activity; one user might click multiple ads but only start one session. GA4 also filters more invalid/bot traffic before counting sessions than Ads might filter for clicks. Session timeouts also play a role.
How long does it take for GA4 conversions to show in Google Ads after import?
First, GA4 needs to process the conversion (up to 48 hours). Then, Google Ads needs to import it. The import typically happens every few hours, but allow up to 3 days for full reconciliation, especially initially.
Should I use both Google Ads tag conversions AND imported GA4 conversions?
Generally no, not for the same action, and definitely not both set as 'Primary'. This will lead to double counting in your 'Conversions' column and confuse bidding algorithms. Choose one method as your Primary source for each key conversion action. You might keep an Ads tag running as 'Secondary' for audiences or specific Ads-only analysis if needed.
Can I make Google Ads and GA4 data match exactly?
No. Due to the fundamental differences outlined above (attribution, counting, timing, scope, filtering, modeling), aiming for a perfect 1:1 match is unrealistic and often counterproductive. Focus on minimizing preventable discrepancies (like tracking errors) and understanding the inherent differences.
Does Consent Mode cause data discrepancies?
Yes. Because user consent choices affect whether tags fire, both platforms lose some observed data. They both use modeling to compensate, but since the models and available input signals might differ, Consent Mode will contribute to differences in reported conversions, especially for users who decline consent.