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.
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.
A click and a session are not the same thing measured twice
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.
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:
Which number is bigger tells you which cause to check
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_viewevent 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:
- Property coverage. A URL-prefix GSC property for
www.example.comagainst a GA4 property collecting every subdomain is not a comparison. A Domain property covering all variants against the same GA4 scope is. - 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 / organicsource and medium if you want the closest match. - 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.
- 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.
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:
| Question | Ask | Because |
|---|---|---|
| Which queries bring people in? | Search Console | GA4 cannot see the query at all |
| Did rankings move? | Search Console | Impressions and position exist nowhere else |
| Did the visitors convert? | GA4 | Search Console stops at the click |
| Which pages earn revenue? | GA4 | Only GA4 sees what happened after arrival |
| Did Google index the page? | Search Console | It is Google's own verdict |
| Why did clicks fall on one page? | Both, plus a crawl | The 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.
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.