Search Console shows the search engine’s side: queries, impressions, positions. GA4 shows your site’s side: what the visitor did, where they went, whether they converted. They answer different questions.
What each one knows
- Search Console: which queries you appeared for, impression counts, average position, click-through rate, indexing status, Core Web Vitals
- GA4: sessions, users, conversions, revenue, channel mix, on-site behaviour
Query data exists only in Search Console. Conversion data exists only in GA4. Neither substitutes for the other.
Why the numbers never match
Search Console clicks and GA4 sessions will never line up exactly. Reasons:
- Search Console counts the click; GA4 waits for the page to load. Users who leave first create a gap
- GA4 does not count visitors who decline cookie consent
- Ad blockers block the GA4 script
- Two consecutive clicks by the same user count as one session
A 10–30% gap is normal. Above fifty percent, start looking for a setup problem.
What belongs in an SEO report
Minimum monthly set:
- Impressions and clicks (Search Console) — is visibility growing?
- Average position — but per query group, never site-wide
- Indexed page count — a decline means a technical problem
- Organic sessions (GA4)
- Organic conversions and revenue (GA4) — this is the real measure
- Top 10 landing pages and their conversion rates
The site-wide average position trap
Site-wide average position is nearly meaningless. Publish new content, it enters at low positions, your average drops — while the situation actually improved. Always track position for defined query groups.
Setup checks
- Link your Search Console and GA4 properties
- In GA4, mark only genuine business goals as key events
- Exclude internal and test traffic
- Add every domain variant to Search Console, but report from the Domain property
Which report for whom
Do not present impressions and positions to leadership; present revenue and conversions. Do not give the SEO team revenue alone; give them query and page level data. Presenting the same data in two languages is what makes a report get read.