Article · Google Analytics
How to build an organic search report in GA4 for a client
The GA4 steps for the search part of a monthly client report: key events, the Organic Search row, organic landing pages and the Search Console reports. Plus a table to copy, and what to say when sessions and clicks do not match.
The short answer: in Traffic acquisition, set last calendar month, compare it with the previous period or year, and read the Organic Search row: sessions, engaged sessions, key events. Narrow the Landing page report to google / organic. Take clicks from Search Console. Do not expect the two to match: Google says clicks and sessions are calculated differently, but the trends should be similar.
What this report answers
This is question 3 of the five-question report structure: is search bringing more of the right visitors? Per Google's Search Central guide, Search Console covers what happened before a person reached the site from Google Search. Google calls Search Console the source of truth for Search performance and Analytics the source of truth for behavior on the site. So clicks come from Search Console, sessions and leads from GA4.
Before you start: access
Request GA4 access with the rest of your onboarding access list. Per Google's help pages, customizing reports takes Editor; marking an existing event as a key event takes Editor, and a new one Marketer; linking Search Console takes Editor in GA4 plus verified ownership of the Search Console property, which often only the client has; sharing an exploration takes at least Analyst. If the client keeps those roles, send them the steps below.
Step 1: Make sure the key events exist
A key event is an event you mark because it measures an action that matters to the business. For a service business that is usually a sent quote or contact form. Google now uses "conversion" for something else: measuring ad campaigns.
- Go to Admin, then under Data display, Events.
- On the Recent events tab, click the star next to the event. A new event may not be listed yet; Google lets you mark it ahead of time with + Create event and the Mark as key event toggle.
- If the form only leads to a thank-you page: + Create event, a name (for example
quote_request), Mark as key event on, Create without code, event namepage_view, the thank-you page URL, Create. Do not editpage_viewitself; Google warns it would stop collecting data for other pages. - Allow up to 24 hours before the key event shows in standard reports.
Standard properties allow up to 30 key events; purchase is marked automatically. Marking does not change historic data, so do it in week one. Which events count as a lead belongs in the KPI definitions you agree with the client.
Step 2: Read the Organic Search row in Traffic acquisition
-
Open the report
Reports, Acquisition, Traffic acquisition. The default dimension is Session default channel group: one row per channel, such as Organic Search, Direct or Email, for both new and returning users. If the report is missing from the menu, an Editor can add it back.
-
Set a whole month and a comparison
Open the date picker in the top right and set a custom range for last calendar month. Click Compare, choose Previous period or Previous year, then Apply. The range carries over to every report you open; other users do not see your change.
-
Read the row
The columns include Sessions, Engaged sessions, Engagement rate, Key events, Session key event rate and Total revenue. An engaged session lasted 10 seconds or longer, or had a key event, or had two or more page or screen views. Session key event rate is the share of sessions with a key event. Purchases count in Total revenue only if the purchase event sends both a value and a currency.
-
Split out Google
In the dimension drop-down above the table, pick Session source / medium, then search
google / organicin the search bar above the table. That row is the GA4 number to set next to Search Console clicks.
What Organic Search includes. Google defines it as visits from non-ad links in organic search results, including Google's AI Overviews and AI Mode. The rule: the source is on Google's list of search sites, or the medium is exactly organic. So the row is not Google alone, and any link tagged with medium "organic" lands in it too. Traffic that matches no rule is Unassigned.
"Session" dimensions show where new and returning users came from each time they started a session. Do not mix them with First user default channel group, used by the User acquisition report, which keeps the channel a user first arrived from.
Step 3: See where organic visitors land
Reports, Engagement, Landing page. A landing page is the path and query string of the first page view in a session. The report shows Sessions, Active users, New users, Average engagement time per session, Key events and Total revenue. It counts per session: one person who lands on page A in one session and page B in another counts once for each.
To narrow it to Google organic traffic, add a comparison with two conditions: Session source exactly matches google, and Session medium exactly matches organic. These are the same conditions Google's Search Central guide uses. For all search engines, use Session default channel group with the value Organic Search instead.
Filters or comparisons
| Question | Filter | Comparison |
|---|---|---|
| What it does | Narrows the report to matching data, or excludes it | Shows subsets side by side, such as one channel next to all users |
| How to add it | + Add filter at the top of the report; Include or Exclude; a dimension and values; OK, Apply | Comparison control, top right; + Create new; a dimension, match type (exact, or partial, which is case sensitive) and values; Apply |
| Conditions | Up to five in a saved report filter, joined by AND | Up to five, joined by AND; values within one condition count as OR |
| Keeping it | An Editor saves it under Customize report, then Save changes to current report | Up to 200 saved per property. Another report turns off all but All users; switch them back on there |
Step 4: Add the Search Console reports to GA4
Linking adds two Search Console reports to GA4. Keep taking monthly clicks from the Performance report in Search Console itself; see setting up Search Console for client reporting.
What it needs: the roles above, and both tools collecting data for the same pages. One web data stream links to one Search Console property, and the other way round.
- In Admin, under Product links, click Search Console links, then Link.
- In the row "Link to Search Console properties I manage", click Choose accounts, select the one to link, Confirm, Next. Select the web data stream, Next, then review and submit. Links cannot be edited; to change one, delete it and link again.
- The Search Console collection is unpublished by default. Open Library in the left menu and publish it.
- The reports then appear under Reports, Search Console: Queries and Google organic search traffic.
| Report | Rows | Columns | Breakdowns |
|---|---|---|---|
| Queries | Organic Google search query | Organic Google search clicks, impressions, click through rate and average position | Country and device category only |
| Google organic search traffic | Landing page + query string | The same four Search Console metrics, plus Active users, Engaged sessions, Engagement rate, Average engagement time, Event count and Key events | Country and device |
Limits to know:
- At most 16 months, what Search Console keeps; data arrives 48 hours after Search Console collects it; no time-series charts.
- Search Console metrics combine only with Search Console dimensions and three GA4 ones: landing page, device and country. Channel is not on that list.
- Data starts from the site's verification or the stream's creation, whichever came later. Relinking to another stream switches every date range to it.
- Click through rate shows as a fraction: 0.0588 means about 5.88%. Convert it for the client.
Google's help page does not say that the GA4 columns in the Google organic search traffic report are limited to Google organic visits. For the lead count, use the Organic Search row from Step 2.
Optional: an exploration for organic landing pages
For organic landing pages, sessions and key events in one table you can reopen.
- Click Explore in the left menu and start a Free form exploration.
- Put Landing page in Rows, and Sessions and Key events in Values.
- Add a filter: Session default channel group exactly matches
Organic Search. Filter expressions are case sensitive.
A new exploration is private until you share it, and viewers cannot edit a shared one. Explorations follow the property's data retention setting (2 months by default, or 14); standard reports do not. Shortening the setting deletes the affected data. With 2 months, an exploration cannot reach last year, so take year-over-year numbers from standard reports. Above 10 million events per query, results may be sampled; the icon in the right corner then turns from green to yellow.
The monthly table to copy
This fills the "Search traffic and results" step of the outline. Write the source next to each line so the client, or you next year, can find it again. For the site health section, see the Core Web Vitals status table.
| Line | Where it comes from | September 2026 | August 2026 | September 2025 |
|---|---|---|---|---|
| Clicks from Google Search | Search Console, Performance report | 1,310 | 1,250 | 1,090 |
| Organic Search sessions | GA4 Traffic acquisition, Organic Search row | 1,240 | 1,180 | 1,020 |
| Of which google / organic | Same report, Session source / medium | 1,130 | 1,070 | 940 |
| Engaged sessions (rate) | Organic Search row | 760 (61%) | 700 (59%) | 590 (58%) |
| Key events: quote_request | Organic Search row, Key events | 38 | 31 | 24 |
| Session key event rate | Organic Search row | 2.9% | 2.5% | 2.2% |
| Booked jobs from web leads | Client's job log | 14 | 11 | 9 |
| Top organic landing pages | Sessions (google / organic) | Key events |
|---|---|---|
| /emergency-plumbing/ | 410 | 17 |
| /water-heaters/ | 260 | 9 |
| / (home page) | 220 | 6 |
Monthly pull, in order
- Search Console: clicks for last month, previous period and previous year.
- GA4 Traffic acquisition: Organic Search, then google / organic, same comparisons.
- GA4 Landing page: google / organic, top three to five pages.
- The client's count of leads or jobs, if they share it.
- The date you pulled the numbers, under the table.
The numbers then go in sentence two of the monthly report email. Lead with the KPIs you agreed on in choosing SEO KPIs with a client, not with every line above.
Why GA4 sessions and Search Console clicks differ
Clients will compare the first three lines of the table. Google says even the most similar metrics, sessions and clicks, "don't match exactly", and that what matters is that the general trends have the same pattern. These are the reasons Google documents:
| Reason | What Google documents |
|---|---|
| Different measures | Clicks and sessions are calculated differently |
| Missing tag | Some pages may lack the Analytics tag; Analytics data depends on how it was set up |
| Consent | If visitors opt out of tracking, Analytics data can be skewed |
| JavaScript | Analytics tracks only visitors with JavaScript enabled |
| Time zone | Search Console uses Pacific Time, which cannot be changed; in Analytics you choose the time zone |
| Attribution | Search Console counts every click in Google Search; Analytics offers attribution models, and its default model is the closest match |
| Canonical URLs | Search Console reports only the canonical URL; Analytics reports any URL with the tag, so it likely shows more URLs |
| Search types | Search Console splits web, image, video, news and Discover; Analytics groups traffic differently |
| PDFs and other files | Search Console counts them; Analytics may not without enhanced measurement |
| Bots | Analytics filters known bots; Search Console does not necessarily |
| Privacy | The Search Console Performance report does not show all data |
| Channel scope | Organic Search covers every search site on Google's list; Search Central filters Analytics to google / organic |
To the client, in two sentences: Search Console counts clicks on Google results; Google Analytics counts visits to tagged pages from browsers that ran the tracking and did not opt out, and may use a different time zone. Google says the two do not match exactly but should follow the same pattern, so we report both and watch the trend.
Data limits to plan around
- Processing time. GA4 data processing can take 24 to 48 hours, some data can arrive up to 7 days late, and attribution credit for key events can change for up to 12 days. So last month's numbers can still move in the first days of a new month. Pull on the same day each month and write the date down.
- Thresholds. GA4 can withhold data so no one can identify individual users, for example with demographics or low counts in a narrow date range. Thresholds cannot be adjusted. If the data quality indicator says thresholding was applied, try a longer date range.
- (not set) and Unassigned. (not set) means GA4 received no value for that dimension. A (not set) landing page means a session had no
page_viewevent. A missingsession_startevent gives (not set) as session source / medium, and those sessions fall into Unassigned; one cause Google lists is a Tag Manager tag not on the Initialization - All pages trigger. Large rows like these go to whoever manages the tag.
Sources
- Before the click, sources of truth, why sessions and clicks differ, google / organic conditions: Search Central, Using Search Console and Google Analytics data
- JavaScript, privacy and Pacific Time: Search Console Help, data discrepancies
- Menu path, dimension, metrics, search box, filters: Traffic acquisition report
- Organic Search rule, AI Overviews and AI Mode, Unassigned, scopes: Default channel group
- Session and first user scopes: Scopes of traffic-source dimensions
- Landing page definition, metrics, session scope: Landing page report
- Comparisons, conditions, match types, limits: Apply comparisons to reports
- Date picker and Compare options: Change and compare date ranges
- Saved report filters, Editor role: Customize detail reports
- Key events vs conversions: Conversions vs. key events
- Marking key events, roles, marking ahead of time, 30-event limit, past data, 24 hours: Mark events as key events
- Event from a thank-you page: Create or modify key events
- Search Console link roles and steps, one-to-one linking, Library, 16 months, 48 hours, compatible dimensions: Connect Search Console to Google Analytics
- Report columns and breakdowns: Google organic search traffic report; menu path, CTR as a fraction: Queries report
- Explorations, sharing, default retention, sampling, status icon: Explorations; free form: Free form exploration; case-sensitive filters: Apply segments and filters
- Retention options, what they affect, deletion when shortened: Data retention
- Processing time and late data: Data freshness
- Thresholds: About data thresholds; (not set): What (not set) means