Skip to content
Analytics 3 min read By The Crawl Cove team

Why GA4 and Google Ads Clicks Don't Match

GA4 sessions and Google Ads clicks measure different things, and GA4 can also count bots as paid traffic. How to tell which gap you have.

The lesson

  • Take ad clicks and spend from Google Ads, never from GA4 channels, and add engaged sessions to any GA4 traffic report before trusting it

The short answer

Google Ads counts clicks on your ad. GA4 counts sessions on your site. They are different events, so they never match exactly. The usual reasons GA4 shows fewer:

  • The visitor clicked and left before the page, and the GA4 tag, loaded.
  • The visitor blocked analytics or declined cookie consent.
  • One visitor clicked the ad twice in one session: two clicks, one session.
  • Auto-tagging is off or the click identifier was stripped, so GA4 filed the visit under another channel.

A gap in that direction, GA4 lower than Ads by some tens of percent, is normal. A gap in the other direction is not. If GA4 shows more paid search sessions than Google Ads shows clicks, something that is not an ad click is being labelled as one. That is what happened to us.

How this caught us

For 29 July to 25 August 2026, GA4 reported 105 Paid Search sessions on this site. Google Ads reported 4 clicks, lifetime. GA4 was 26 times higher than the number we actually paid for.

The sessions gave themselves away once we looked at the detail. 93 of the 105 had country (not set), campaign (not set) and landing page /, and they were bunched into five days, 29 July to 2 August. Only about 12 carried a real campaign name or ID. The rest was automated traffic that happened to carry paid parameters, and GA4 filed it faithfully under Paid Search.

Had we read the GA4 channel report as ad performance, we would have concluded the ads were sending 26 times the traffic they were, and made budget decisions on it.

The column that tells real from fake

The same property had a second problem: some of what GA4 called organic search was our own team visiting admin pages. Both problems yield to the same free check. Ask GA4 for engagedSessions and userEngagementDuration alongside sessions.

  • Google organic, 90 days to 30 August 2026: 29 of 44 sessions engaged.
  • Bing, same window: 5 sessions, 0 engaged, 0 seconds, exactly 1 page per session.

Real people engage. Bots load one page and leave with no engagement at all. That one column settles most "is this traffic real?" questions in a minute.

Tip

Exclude your own team's traffic with an internal traffic filter in GA4 Admin before reading any channel report. Logins and admin screens are not demand.

What to do

  1. Take ad numbers from Google Ads. Clicks, impressions, cost and conversions tracked in Ads come from the system that bills you.
  2. Use GA4 for behaviour after the click, restricted to engaged sessions.
  3. If GA4 paid sessions exceed Ads clicks, break them down by country, campaign and landing page. Blank campaigns on one landing page, bunched into a few days, are the signature of bot traffic.
  4. Compare like with like. Same dates, same time zone, and remember Search Console's own delay if you bring organic data into the same report.

The lesson

Two tools that measure different events will disagree, and that is fine. What matters is knowing which one counts the thing you are deciding about. For the same reason, Crawl Cove reports what a crawl actually fetched, URL by URL, so you can check its numbers against your own before you act.

Frequently asked questions

Why does GA4 show fewer sessions than Google Ads clicks?
A click is counted when someone clicks the ad; a session only when the GA4 tag loads and is allowed to run. Visitors who leave before the page loads, block analytics or decline consent produce a click with no session. Several clicks in one session also count once in GA4.
Why does GA4 show more paid sessions than Google Ads clicks?
Something other than real ad clicks is being labelled paid search. Bot traffic carrying paid parameters is a common cause. Check the country, campaign and landing page of those sessions, and whether any of them engaged.
Which number should I trust for ad performance?
Google Ads for clicks, impressions and spend, because it counts the thing you pay for. Use GA4 for what visitors did after they arrived, filtered to engaged sessions.
How do I spot bot sessions in GA4?
Add engaged sessions and user engagement duration to the report. Real visitors engage; bot sessions typically show zero engaged sessions, zero seconds and exactly one page per session, often with country and campaign set to (not set).

Learn from your own crawls

Crawl Cove surfaces this kind of evidence for your own site. See what Crawl Cove audits, the longer write-ups on the technical SEO blog, or the free browser-based SEO tools.

Download Crawl Cove