GA4 for SEO
Last updated
Google Analytics 4 is not primarily an SEO tool, but it provides data that no other tool offers: what organic search visitors do after arriving on a site. Google Search Console tells you where pages appear in search and how many people click through. GA4 tells you what happens next: which pages they land on, how long they engage, and whether the visit converts. The two sources answer different questions, which is also why they rarely agree on organic visit counts.
How do you view landing page performance in GA4?
Organic landing page performance is one of the most useful SEO reports in GA4. It shows which pages organic visitors actually land on (as opposed to which pages are indexed), the volume of organic sessions each receives, and engagement metrics for each.
Access it via Reports > Engagement > Pages and screens, then add a secondary dimension of “Session default channel group” filtered to Organic Search. Alternatively, use Reports > Acquisition > Landing page and filter the channel.
The key questions this data answers:
- Which pages drive organic traffic? (Not always the pages you have most heavily optimised.)
- Which pages have GSC impressions but no organic landing sessions? (A CTR problem: the page appears in results but users are not clicking.)
- Which pages have high organic session volume but poor engagement or zero conversions? (Query-intent mismatch: ranking for queries the content does not satisfy.)
For frameworks to evaluate whether content is meeting performance goals beyond traffic volume, see measuring content performance.
How do you segment organic traffic in GA4?
GA4’s default Organic Search channel includes all search engines. For Google-specific analysis:
Create a custom segment or channel grouping with the condition session_source = google AND session_medium = organic. This isolates Google organic from Bing, DuckDuckGo, and other search engines that also fall into the default Organic Search group.
AI-referred traffic now has a dedicated channel in GA4. Google Analytics 4 added ‘AI Assistant’ as a default channel group in May 2026, automatically categorising traffic from ChatGPT, Claude, Gemini, and Perplexity.1 The named platforms in Google’s written documentation are ChatGPT, Claude, Gemini, Deepseek, Copilot, and Grok; Perplexity was confirmed via a Google Analytics LinkedIn post in June 2026 but has not yet been added to the docs.
The channel is not the only thing the update changed. When GA4 recognises an AI assistant referrer it also writes a ai-assistant value to medium and an (ai-assistant) campaign name, so the traffic can be isolated in custom reports and explorations, not just in the default channel report.2 For SEO analysis this matters more than the channel itself: a session-scoped session_medium = ai-assistant condition works anywhere in GA4, whereas the channel group is only available where default channel grouping is offered.
What is the Source Group dimension in GA4?
Source Group, released in June 2026, is a dimension that consolidates the many spellings of a single traffic source into one reporting value.2 Raw session_source data fragments the same platform across several strings, so one source arrives as facebook, fb and Meta-facebook and splits its own totals three ways. Source Group collapses those into a single value.
Two details make it useful for SEO rather than only for paid media reporting:
- It includes AI platforms. Google’s release note names ChatGPT (OpenAI) and Perplexity among the grouped sources, which gives a second route to AI traffic alongside the AI Assistant channel.
- It is populated retroactively. Historic data carries the new dimension, so AI and referral traffic from before the release can be reanalysed rather than only measured going forward. Most GA4 dimensions apply from their release date onwards, which makes this an unusual case worth using deliberately.
Why do GA4 and Search Console numbers not match?
GA4 organic sessions and GSC clicks measure different events and will never match exactly. Published figures for the size of that gap circulate widely and very few of them are measurements, so treat the number as site-specific rather than a benchmark: it is set by your consent rate, your audience’s regulatory context and how your banner behaves. What follows is the set of causes worth checking, in the order they usually explain the difference.
Cookie rejection. GA4 requires cookie consent to track a session. A user who clicks an organic result and declines cookies on arrival registers in GSC but not in GA4. On sites serving EU users under GDPR with strict consent banners, this can account for a significant portion of the gap.
JavaScript blocking. The GA4 tag requires JavaScript. Users with script blockers, and pages where JavaScript fails to load, are invisible to GA4 but counted in GSC.
Click versus session counting. GSC counts a click each time a user clicks a result. GA4 counts a 30-minute session. A user who clicks a result, bounces back to the SERP, and clicks again produces two GSC clicks and one GA4 session.
Attribution and filtering. GA4 attribution models can reclassify traffic. A session that began with an organic click but where an attribution rule assigns the session to another channel disappears from organic. Misconfigured channel groupings in GA4 are a common cause of organic traffic appearing lower than it should.
Traffic that is not yours. The gap occasionally runs the other way, with GA4 reporting sessions that GSC has no click for. Staging environments, preview deployments and scraped copies of a site all carry the GA4 tag if it was copied with the markup, and they report into the same property. GA4 added a hostname filter in June 2026 for this, under Admin > Data filters, which excludes events whose hostname is not on an approved list.2 It is worth setting on any site that has ever been cloned or that runs a public staging domain.
When investigating a large gap, check in this order: cookie consent configuration, JavaScript loading, then attribution settings. If GA4 is reporting more than GSC rather than less, check hostnames first.
Diagnosing the gap is separate from working across it. For that, the two products can be linked directly.
How do you connect Search Console to GA4?
Linking a Search Console property to a GA4 web data stream brings organic query and click data into Analytics alongside behaviour data. The link is created from Admin > Product Links in GA4, or from the Search Console side, and requires the Editor role in Analytics plus verified ownership of the Search Console property.3
It produces two reports:
- Google Organic Search Queries. Search queries with their Search Console metrics. You can break this down by Search Console dimensions, but not by Analytics ones.
- Google Organic Search Traffic. Landing pages carrying both Search Console and Analytics metrics, drillable by Country and Device.
The reports are unpublished by default, which is why most properties appear not to have them. After linking, open Library in the left navigation and publish the Search Console collection; until you do, nothing appears in the Reports menu.3
Now the limitation, because it determines what the integration is actually good for. Search Console metrics can only be combined with Search Console dimensions plus exactly three Analytics dimensions: Landing page, Device and Country.3 Queries cannot be crossed with engagement, key events or any other GA4 dimension. The integration gives you a landing-page-level view of clicks and on-site behaviour in one place; it does not let you ask which query produced a conversion. That analysis needs BigQuery, or both datasets exported and joined outside Analytics.
Three further constraints apply before building a report on it: data reaches Analytics roughly 48 hours after Search Console collects it, the reports inherit Search Console’s 16-month retention ceiling, and they do not support time-series charts.3
Why is data missing from your GA4 reports?
Rows can be withheld from reports and explorations entirely, and the reason is privacy rather than a tracking fault. Google applies data thresholds “to prevent anyone viewing a report or exploration from inferring the identity or sensitive information of individual users”, and states that these are “system defined. You can’t adjust them”.4
The case that affects SEO directly: Google states that where a report or exploration includes search query information, “the row containing that data may be withheld if there aren’t enough total users”.4 A low-volume query row that has been thresholded looks identical to a query nobody searched, which is a real risk when analysing long-tail performance or site-search terms.
Thresholding is signposted rather than silent. When it applies, the data quality indicator at the top of the report carries a message saying thresholding has been applied to one or more cards. Google names two ways to reduce it: widen the date range, since narrow ranges with low counts trigger it more readily, and export to BigQuery, which is not subject to the same reporting thresholds.4
How do you mark algorithm updates in GA4?
Annotations attach a dated note to your reports, and they are the cheapest way to stop a traffic movement being re-investigated from scratch six months later. For SEO the obvious uses are core update rollout dates, migrations, template changes and redesigns: the events that explain a step change in organic sessions but leave no trace in the data itself.
Create one by opening a report with a line graph, right-clicking the relevant data point, and choosing Add annotation.5 Each takes a title of up to 60 characters, a description of up to 150, a single date or a date range, and a colour. Once created it appears across every report and report card with a line graph, not only the one you made it in. Every annotation for a property is listed under Admin > Data display > Annotations.
Four practical limits: the cap is 1,000 annotations per property, creating or editing needs the Analyst role or above (viewing needs Viewer), Google recommends single dates rather than ranges where you expect many overlapping entries, and Analytics itself may add annotations when it detects a significant data-impacting event, so not every note you see will be one of yours.5
Annotations can also be written through the Admin API, which makes it practical to populate core update dates from a feed rather than adding them by hand after the fact.
How does data-driven attribution affect organic reporting?
GA4’s default attribution model is data-driven attribution (DDA), which distributes credit for a key event across all touchpoints in a path based on their statistical contribution. (GA4 calls these key events rather than conversions; the terminology is covered below.) This typically gives organic search more credit than last-click attribution, because organic search frequently appears early in multi-touch paths.
Under last-click attribution, accessible in GA4’s model comparison report, a user who found the site via organic search, returned via email, and converted through a direct visit produces a conversion attributed to direct. Under DDA, the organic session receives partial credit.
For SEO reporting, DDA produces a more accurate picture of organic search’s contribution to conversions. When presenting organic conversion data, confirm which attribution model the business uses as a default and use the model comparison report to quantify the difference between DDA and last-click for organic specifically. This difference is often the most compelling data point for making the case that last-click organic attribution understates SEO’s value.
How do you set up conversion tracking for organic search?
The terminology here changed and a lot of published guidance has not caught up. GA4 renamed conversions to key events in March 2024.6 In current GA4, a key event is an event you have marked as important; the word “conversion” now refers specifically to a key event that has been imported into Google Ads. Anything still instructing you to “mark an event as a conversion” in GA4 predates the rename.
For GA4 data to be useful for organic attribution, key events must be configured. The default purchase event works for ecommerce; lead-generation sites need custom events for form submissions, phone clicks, or other conversion signals.
In GA4: Admin > Data display > Events, then toggle Mark as key event on the relevant event.7 Editor or Marketer permissions are required. Once set, key events attributed to Organic Search appear in Acquisition reports alongside session data. Properties that had conversions configured before March 2024 had them carried over automatically, so no reconfiguration was needed.
The distinction matters when reconciling reports across tools. A stakeholder comparing a GA4 key event count against a Google Ads conversion count is comparing two different things, and the gap is a definitional artefact rather than a tracking fault.
Local interactions as a data source
GA4 gained a native Google Business Profile integration in June 2026, linked from Admin > Product Links.2 It imports seven profile metrics (interactions, calls, bookings, direction requests, website clicks, messages and menu views) into a dedicated reporting collection, on a rolling six-month window rather than the property’s full history.
Before this, connecting local search activity to site behaviour meant tagging profile links with UTM parameters and accepting that calls and direction requests stayed outside analytics entirely. The integration closes that gap, though the six-month ceiling means year-on-year local comparisons still need data exported and stored elsewhere.
Consent and modelled data
Sites using Google’s consent mode (required for EU users under GDPR) receive some modelled conversion data for users who declined cookies. This modelled data is not labelled separately in most reports. In high-consent-restriction markets, GA4 organic conversion data may undercount actual organic conversions by a meaningful margin. The consent mode calibration report, available in GA4’s Admin area, indicates how much of your conversion data is modelled versus directly observed.