Back to blog
technical seo10 min read

Search Console Says 600 Clicks. GA4 Says 400 Sessions. Neither Is Broken.

A click and a session are different events, measured in different places. Why the gap exists, which direction points at which cause, and what size is normal.

Aditi ChaturvediSeptember 1, 2026
TL;DR

Search Console clicks and GA4 sessions disagree on every site on the internet, because they are different events counted in different places. A 20 to 30 percent gap is ordinary. What matters is which way it leans:

  • GSC HIGHER: THE TAG MISSED IT: Declined consent, ad blockers, blocked JavaScript, or a bounce before the tag fired. The click happened; GA4 never heard about it. Consent Mode v2 pushed this gap past 50 percent on some sites.
  • GA4 HIGHER: ONE CLICK COUNTED TWICE: The 30-minute session window splits a return visit into a second session, and last non-direct attribution credits later direct visits back to organic for up to six months.
  • CHECK SCOPE BEFORE CAUSE: A domain-wide GA4 property against a single-subdomain GSC property is not a comparison. Neither is Google-only clicks against all-engine Organic Search.
  • DON'T CHASE ZERO: These numbers will never reconcile, and a tool that claims it made them match is hiding a rounding decision. Track the trend line of each, not the delta.

The useful question is never which number is right. It is what changed on the day the two lines stopped moving together.

CrawlRaven reads both properties daily and treats the gap as a signal rather than an error, joining GSC clicks, GA4 engagement and a 200-point crawl on the same URLs. This guide explains what the gap is made of, so the number stops looking like a bug. Try CrawlRaven free: 1 site, no credit card →

Every few weeks someone shows me two screenshots and asks which one is lying. Search Console reports 600 clicks last month. GA4 reports 400 organic sessions. Same site, same dates, and a 200-visit hole nobody can account for.

Neither is lying. They are not measuring the same thing, they never were, and the gap between them is not an error to eliminate. It is a number with a composition, and once you can name the parts, the gap becomes one of the more useful diagnostics you have.

You are comparing two different events

This is the whole article in one idea: a click and a session are different events, recorded in different places, by parties with different powers.

Two different events

A click and a session are not the same thing measured twice

ClickSearch Console
Counted on Google's side, before your site loads
Fires when
Someone clicks your result in Google Search, Images, Video, News or Discover
Needs
Nothing from your site. No tag, no JavaScript, no consent
Repeats
Click, go back, click again on the same query can collapse into one click
Blind to
Every search engine that is not Google
SessionGA4
Counted in the visitor's browser, after your page runs
Fires when
The GA4 tag loads and sends its first page_view event
Needs
JavaScript to run, the tag to load, and consent to be granted
Repeats
A new session after 30 minutes of inactivity, so one click can become several
Counts
Organic Search from every engine, Google and otherwise

Look at where each one is counted. Search Console counts on Google's side of the click, before your server is even contacted. GA4 counts inside the visitor's browser, after your page loads and your tag runs. Everything that follows is a consequence of that one architectural difference.

Why the architecture matters: in plain English

A visitor can block your analytics. They cannot block Google's record of their own click. That asymmetry is deliberate on both sides, and it means the two systems will always disagree about how many people showed up.

Which direction is the gap leaning?

Before diagnosing anything, note which number is bigger. The direction narrows the cause list immediately, because the two failure modes are mirror images:

Diagnose by direction

Which number is bigger tells you which cause to check

Search Console higher than GA4
The click happened. The tag never reported it.
Consent declined
Under Consent Mode v2, a visitor who declines cookies produces no GA4 session. Search Console logs the click regardless, because it measures on Google's side.
Ad blockers and privacy browsers
Blocking the GA4 tag removes the session. Nothing about the click changes.
Bounced before the tag fired
Back button pressed during load, and the page_view event never sends.
JavaScript failed or was blocked
No JS, no GA4. Search Console needs nothing from your site at all.
GA4 higher than Search Console
One click, counted more than once, or credited later.
The 30-minute session window
A visitor who reads, walks away, and returns generates a second session from a single original click.
Last non-direct attribution
GA4 credits a later direct or bookmarked visit back to the original organic click for up to six months, so one click can seed several organic sessions.
Organic Search means every engine
GA4's Organic Search channel includes Bing, DuckDuckGo and the rest. Search Console only ever reports Google.
Property scope mismatch
A GSC property covering one subdomain against a GA4 property covering all of them is not a like-for-like comparison.

When Search Console reports more

The common case, and it has gotten worse. Something stopped GA4 from recording an arrival that genuinely happened:

  • Declined consent. Under Consent Mode v2, a visitor who says no produces no session. Search Console counted their click ten seconds earlier and never asked.
  • Ad blockers and privacy browsers. The tag never loads. Estimates of blocking rates vary by audience, and technical audiences block hardest, which is why developer-facing sites see the widest gaps.
  • The impatient bounce. Click, see a slow page, hit back. The click is logged; the page_view event never fires.
  • Broken or missing tags. A template that lost its GA4 snippet produces exactly this pattern, confined to the URLs using that template.

That last one is the reason this direction is worth reading rather than shrugging at. Consent and ad blockers apply evenly across your site. A broken tag does not. If the gap is concentrated on one section, you have found a tagging bug, not a privacy trend.

When GA4 reports more

Less common, and more often mistaken for a mystery. Here one click is being counted more than once, or credited later:

  • The 30-minute rule. GA4 closes a session after 30 minutes of inactivity. A reader who opens your guide, makes coffee, and comes back has produced two sessions from one Google click.
  • Attribution carryover. GA4's last non-direct model credits a later direct or bookmarked visit back to the original organic click, within a lookback window that runs to six months. Loyal audiences inflate this considerably.
  • Organic Search is not Google Search. GA4's Organic Search channel pools Bing, DuckDuckGo, Yahoo, Ecosia and the rest. Search Console reports Google alone, so a site with real Bing traffic will always show this direction.

Check scope before you check causes

Half the dramatic gaps I get asked about are not measurement at all. They are two different questions being compared. Four scope checks, in the order they go wrong:

  1. Property coverage. A URL-prefix GSC property for www.example.com against a GA4 property collecting every subdomain is not a comparison. A Domain property covering all variants against the same GA4 scope is.
  2. Channel filter. Comparing all GA4 traffic to Search Console clicks is the single most common mistake. Filter GA4 to Organic Search at minimum, and to the google / organic source and medium if you want the closest match.
  3. Date range and timezone. Search Console reports in Pacific Time and lags two to three days, so its recent days are incomplete. GA4 uses your property timezone. Compare closed weeks, aligned.
  4. Search type. Search Console's default Performance view is Web only. Image, Video, News and Discover clicks live in separate tabs, and they are real arrivals that GA4 counted.
Opinion· Aditi's take: run the scope checks before you file a bug
I have watched a team spend a fortnight debugging their analytics implementation over a 60 percent gap. The cause was a GSC property covering only the www host while GA4 collected a busy help subdomain too. Fifteen minutes of scope checking would have found it. Now I refuse to look at a discrepancy until someone confirms all four scopes match, and about a third of the time the question dissolves at that step.

What size of gap is normal

There is no universal figure, but there are useful bands. A 20 to 30 percent difference with Search Console higher is ordinary and worth no investigation at all. Consent Mode v2 enforcement and rising ad blocker adoption have widened this: some sites now report gaps past 50 percent, where Search Console shows roughly double GA4.

Which means the absolute size tells you much less than its stability:

  • A steady gap is measurement. Whatever its size, if the ratio holds week to week, both tools are working and the difference is structural.
  • A gap that widens suddenly is a change. A new consent banner, a tag deployment, a migration that dropped the snippet from one template.
  • A gap that narrows suddenly is also a change, and usually a worse one: Search Console clicks falling while GA4 holds steady means you lost rankings, not tracking.

Track the ratio as its own metric. It is more informative than either number alone, and it costs nothing to compute once you have both properties connected.

Using both instead of reconciling them

The reconciliation project is a trap. These two systems are answering different questions, and the productive move is to ask each one the question it can answer:

QuestionAskBecause
Which queries bring people in?Search ConsoleGA4 cannot see the query at all
Did rankings move?Search ConsoleImpressions and position exist nowhere else
Did the visitors convert?GA4Search Console stops at the click
Which pages earn revenue?GA4Only GA4 sees what happened after arrival
Did Google index the page?Search ConsoleIt is Google's own verdict
Why did clicks fall on one page?Both, plus a crawlThe cause is usually on the page itself

That last row is the one nobody has a workflow for, and it is the interesting one.

The third source that explains the other two

Here is the pattern that makes the gap worth caring about. Clicks on a page drop 40 percent. GA4 says the visitors who did arrive engaged normally. So demand held, and behavior held, and something between the two changed.

Search Console cannot tell you what, because it does not read your page. GA4 cannot tell you either, because it only meets people who already arrived. The answer lives in a crawl of the page itself:

  • The title or meta description changed, so the same ranking now earns fewer clicks. A CTR collapse at a steady position is the fingerprint.
  • The page slowed down after a template change, and the impatient bounces started before the tag fired. Our SERP preview tool shows the listing Google renders, which is the half of the CTR story you cannot see in either dashboard.
  • A canonical or noindex shifted, and the page is quietly being consolidated into another. The Page indexing report confirms it.

Three sources, joined on the URL, answer in one step what any of them alone can only gesture at. That join is the entire premise of CrawlRaven: your Search Console and GA4 data synced daily, crawled against the live page, and ranked so the explanation arrives with the alarm.

For the reporting side of the same problem, see connecting Search Console to GA4 for the link itself, and keeping GSC data past 16 months for the history that makes a year-over-year comparison possible in the first place.

Frequently asked questions

Why don't Search Console clicks match GA4 sessions?

Because they are different events counted in different places. A click is logged by Google when someone clicks your result, before your site loads. A session is logged by GA4 inside the visitor's browser, after your tag runs. Anything that stops the tag (declined consent, ad blockers, blocked JavaScript, a fast bounce) removes the session while the click still counts.

What is the difference between Google Analytics and Google Search Console?

Search Console reports what happened on Google: which queries showed your pages, how many impressions and clicks they earned, and what Google indexed. GA4 reports what happened after arrival: sessions, engagement, conversions, revenue, across every traffic source. They sit on opposite sides of the click, which is why neither answers the other's questions.

Which is more accurate, Search Console or GA4?

Each is accurate about its own event. Search Console is the better record of clicks, because it counts server-side and cannot be blocked by the visitor. GA4 is the better record of behavior after arrival, because Search Console sees nothing past the click. Treat them as two instruments, not two attempts at one number.

Why does GA4 show more organic sessions than Search Console shows clicks?

Three usual causes. GA4's Organic Search channel counts every search engine, while Search Console reports only Google. GA4 starts a new session after 30 minutes of inactivity, so one visit can produce several. And last non-direct attribution credits later direct visits back to the original organic click for up to six months.

How big should the gap between GSC clicks and GA4 sessions be?

A 20 to 30 percent difference is typical and not worth investigating. Consent Mode v2 enforcement and rising ad blocker use have pushed some sites past 50 percent, with Search Console reporting roughly double GA4. What matters is stability: a gap that holds steady is measurement, while a gap that suddenly widens is usually a tagging or consent change.

Does cookie consent affect Search Console data?

No. Search Console counts clicks on Google's own side, before the visitor reaches your site, so consent banners, cookie choices and privacy settings never touch it. That independence is exactly why the two tools diverge: GA4 loses the visitors who decline, and Search Console keeps every one of them.

Should I compare Search Console clicks to GA4 users or sessions?

Sessions, as the closest available match, though it is still not like for like. Users is worse, because one person can click several times across days and stay one user. If you need the tightest comparison, filter GA4 to the Google Organic source, match the date ranges exactly, and accept a residual gap rather than tuning it away.

Why did my GSC and GA4 numbers suddenly diverge?

A sudden change in the gap is a configuration event, not a measurement quirk. The usual suspects: a new consent banner or a stricter default, a tag deployment that broke on some templates, a GA4 filter or data stream change, or a site migration that left the tag off a section. Check what shipped on the day the lines separated.

Do Search Console and GA4 use the same date ranges?

Not by default, which quietly manufactures gaps. Search Console reports in Pacific Time and lags roughly two to three days, so its most recent days are incomplete. GA4 reports in the property's configured timezone and processes faster. Compare closed weeks, matched to the same timezone, rather than the last seven days in each interface.

Can I make Search Console and GA4 match exactly?

No, and any tool claiming to has made a rounding decision on your behalf. The events genuinely differ, and one of them is deliberately outside the visitor's control while the other is deliberately inside it. The practical goal is a stable, explained gap, so that a change in the gap becomes a signal you can act on.

Aditi Chaturvedi
About the Author

Aditi Chaturvedi

15+ years of growing SaaS websites through SEO | Author, 200-Point Audit Checklist

Aditi has spent 15+ years helping SaaS companies scale organic traffic through technical SEO and content strategy. She is the author of the CrawlRaven 200-Point Audit checklist used by agencies and in-house teams to systematically improve search performance.

gsc vs ga4difference between ga and gscgsc clicks vs ga sessionssearch console vs google analyticsorganic traffic discrepancy

Reader has understood why GSC and GA4 disagree and now wants to use both together on the same URLs instead of reconciling them into one number.

Two tools, two truths, one page that needs fixing.

GSC clicks, GA4 engagement and a 200-point crawl joined per URL, ranked into one plan. Free plan covers 1 site.

Search Console says the clicks fell. GA4 says the visitors who arrived behaved fine. The crawl says the template changed. Read separately, those are three dashboards and a guess. CrawlRaven joins them on the URL and shows the one explanation that fits all three. No credit card required.

CrawlRaven connects Google Search Console and GA4, runs 200+ technical SEO checks, and joins all three into one prioritized fix list, so you know what is broken, what it is costing you, and what to fix first.

✓ No credit card required·200+ checks·GSC + GA4 + full-site crawl
Free plan — no credit card

Stop exporting. Start shipping.

Connect Search Console, import your Ahrefs or Semrush lists, and get one ranked plan. Start free with one site, or grab a limited lifetime deal from $39, only 10 licenses left.

3
Data sources joined
200+
Point audit checks
1
Ranked plan out