Casient

Casient blog

How to Build an Organic Search Report in GA4 (Sessions, Key Events, Revenue)

· 11 min read

A good organic search report in GA4 answers one question: what did unpaid search do for the business over a defined period. Sessions, the conversions that matter, and revenue where it applies — for the Organic Search channel only, over a window you can actually stand behind.

GA4 makes this harder than it should be. The channel filter is easy to get subtly wrong, and several of the numbers move after you have quoted them. Here is how to build the report, and the traps that make GA4 figures unreliable if you ignore them.

Step 1: Isolate the Organic Search channel

The fastest route is Reports → Acquisition → Traffic acquisition. The default primary dimension is "Session default channel group". Click into the Organic Search row, or apply a filter where Session default channel group exactly matches Organic Search.

Two things to get right:

For anything more than a single number — a breakdown, a custom comparison — use an Exploration (free-form), add Session default channel group as a filter set to Organic Search, and build from there. Explorations are more flexible but more exposed to sampling; see below.

Step 2: Choose the metrics that answer the question

Sessions

The volume metric. Optionally add Engaged sessions to show quality alongside raw count.

One key event

Do not report "key events" as a lump total — that mixes every conversion action the property has. Pick the one that maps to the client's goal (a lead form submit, a signup, a booking), and filter to it by adding Event name and matching that event, or by selecting it in the conversions view. Keep the exact event name; the readable label is for the report, not the data.

Total revenue

Only meaningful if the property sends purchase or transaction events with a value. If it does, report it in the property's own currency and do not convert. If it does not, leave revenue out — an empty revenue row is not a story.

Step 3: Set a stable comparison period

Use GA4's date comparison: a period against the one immediately before it (90 days vs the prior 90) or year on year. Then pull both ends back so you are not quoting data that is still moving.

A practical rule: end the comparison window at least 14 days before today. GA4 figures for the most recent one to two weeks are still settling as late data and modelled conversions arrive. If you report a number from last week and it drops 8% by the time the client checks, that is the number they remember.

The traps that make GA4 numbers unreliable

Data freshness

Covered above, and worth repeating because it is the most common mistake: recent GA4 data is provisional. Do not put a figure from the last two weeks into a client deliverable.

Sampling

Explorations over large date ranges or high-cardinality breakdowns get sampled — GA4 estimates from a subset. Look for the sampling indicator (a shield or percentage near the report title). If a report is sampled, the numbers are approximate; narrow the date range or simplify the breakdown until it is not.

Thresholding

When Google Signals is on and a segment is small, GA4 withholds data to protect anonymity — rows disappear or collapse into (other). A conversion count can look lower than reality purely because of thresholding. Watch for a note that data is "subject to thresholding".

Retention limits

Event-level data used by Explorations is retained for 2 to 14 months depending on the property setting. Standard reports go back further, but a custom Exploration cannot reach a year-ago period if retention is set to two months.

Key events have no history

Marking an event as a key event today does not create key-event data for the past. If you need a year-on-year conversion comparison, the event has to have existed a year ago. Check when it was configured before promising a historical trend.

Incomplete or missing rows

If one side of a comparison returns far fewer days of data than the other — a tracking gap, a tag that was down — the periods are not comparable. A 200% "increase" against a half-empty prior period is an artefact, not a result.

Turning it into a client deliverable

Once you have clean, stable numbers:

The full method is in connecting SEO to business outcomes.

Where Casient fits

Casient runs this report for every client property automatically, and it enforces the safeguards above so you do not have to check them each time:

See it on the GA4 for SEO agencies page, or read how it compares to Search Console in Search Console vs GA4 for SEO agencies.

Skip the manual GA4 pulls

Casient reports Organic Search sessions, key events and revenue for every client property — on stable data, with the sampling and freshness checks built in.

Related: Connecting SEO to business outcomes · SEO case study generator · Pricing