• SEO Reporting
  • GA4
  • Search Console
  • Agencies
  • Reporting

SEO Analytics Reports in GA4: The Layout We Send

By Dolphin Analytics team · Published 30 Sept 2026 · Last checked 30 Sept 2026

TL;DR

An SEO analytics report joins two sources, linked inside GA4: Google Search Console for how the site shows up in search (clicks, impressions, CTR, position) and GA4 for what organic visitors do next (sessions, landing pages, key events). Expect Search Console clicks and GA4 organic sessions to differ, and say why in the report. We build these reports for agencies, white-labelled, and this is the layout we use.

Olamide Sule, founder of Dolphin Analytics: a digital analytics expert based in London delivering solutions for agency and in-house clients.

We build SEO reporting for agencies, and the account leads who come to us are usually pulling their hair out with data challenges they didn’t create: a Search Console total that doesn’t match GA4, a client asking which number is real, a deck rebuilt from scratch every month. This guide is the layout we send, section by section, with the source behind each number. If you’d rather hand the whole job over, that’s what our reporting service is for. For the monthly routine and how to stop rebuilding the deck, read our companion guide to SEO client reports; this post covers what goes inside the report and where each figure comes from.

What is an SEO analytics report?

An SEO analytics report shows a client how their site performs in organic search and what that traffic does once it arrives. Google Search Console supplies the search side (how often the site appeared and was clicked), and GA4 supplies the behaviour side (sessions, landing pages and key events). A good report keeps those two sources separate, labels each one, and explains the gap between them.

Search Console’s own definitions are the ones to put in your report glossary. A click is “the number of times a user clicked your site from Google Search results”, an impression is how often the site appeared in results, and average position is “the average position of the topmost result from your site”, according to Google’s Performance report help page. Quote those definitions once in the report appendix and clients stop asking what the columns mean.

What goes in an SEO analytics report?

Here is the sample layout we use for agency clients. Each row names one source, so there is never a debate about which tool a number came from.

SectionMetricsSourceWhere to find it
SummaryTwo or three sentences on what changed and whyYour analystWritten, top of page one
Landing pagesOrganic sessions and key events by landing pageGA4Traffic acquisition with Landing page added
Search visibilityClicks, impressions, CTR, average positionSearch ConsolePerformance report, or GA4 Search Console collection
Organic sessionsSessions and engaged sessions from Organic SearchGA4Reports > Acquisition > Traffic acquisition
Queries to pagesWhich queries sent people to which pageSearch Console via GA4Google Organic Search Queries report
Work done and nextWhat shipped, what comes nextYour notesWritten, last page

The order matters. Clients read the first page and skim the rest, so the written summary sits above every chart. When we build these for agencies, we put key events from organic landing pages second, straight after the summary, because enquiries and sales are what the client is paying for. Visibility comes next as the explanation for why those numbers moved.

Leave out anything that never changes a decision. A bounce rate chart with no action attached is padding. So is a list of every ranking keyword; pick the queries tied to pages that bring in leads or revenue.

How do you set up SEO reports in Google Analytics?

You set up SEO reports in GA4 by linking Search Console, publishing the Search Console report collection, and marking the events that count as results. The steps below follow Google’s help pages for the Search Console link, key events and the Traffic acquisition report.

  1. Check your access. The Search Console link needs the Editor role on the GA4 property and verified owner status on the Search Console property.
  2. Link Search Console. In GA4, go to Admin, then under Product links click Search Console Links. Click Link, choose the Search Console property, select the web data stream, then review and submit.
  3. Publish the collection. The Search Console collection is unpublished by default. Open Library in the left navigation, find the Search Console collection and publish it. That adds the Google Organic Search Queries and Google Organic Search Traffic reports.
  4. Mark your key events. Go to Admin > Events, find the event in the Recent events tab (for example generate_lead or purchase) and click the star beside it. Key events then appear in standard reports, which is what lets you tie organic sessions to results.
  5. Build the organic view. Open Reports > Acquisition > Traffic acquisition. The default dimension is the session default channel group, so filter the table to Organic Search, then click the plus icon next to the dimension and add Landing page as a secondary dimension.

One limit shapes what the report can say. Search Console metrics in GA4 only combine with Search Console dimensions and three GA4 dimensions: Landing page, Device and Country, per Google’s Search Console link guide. You cannot break a query down by a key event. The closest join is query to landing page, then landing page to key events, and the report should say so in plain words.

Two more points change how you schedule the send. Search Console keeps data for the last 16 months, and the data reaches both Search Console and GA4 48 hours after collection, per the same Google help page. Send the monthly report a few days into the new month, and export the history on a schedule if a client wants year-on-year comparisons that reach further back than Search Console holds.

Why don’t Search Console clicks match GA4 organic sessions?

Search Console clicks and GA4 organic sessions rarely match because they count different things. A click is recorded by Google Search when someone clicks the result; a GA4 session only exists if the GA4 tag runs on the page they land on. The gap is normal. The report’s job is to explain it, not to force the numbers together.

These are the causes we check first, each tied to Google’s own documentation:

  • Different units. GA4 starts a session when a user views a page with no active session, and by default a session times out after 30 minutes of inactivity, according to Google’s sessions guide. A Search Console click has no such rule; it is one click from a results page.
  • Consent choices. When a visitor denies analytics storage, GA4 does not read or write analytics cookies. With basic consent mode the tags are blocked until consent is granted, while advanced mode sends cookieless pings that GA4 uses for modelling, per Google’s consent mode guide. Our guide to consent mode setup covers the fix.
  • Other search engines. GA4’s Organic Search channel matches a list of search sites or a medium of exactly “organic”, per Google’s default channel group rules. That can include engines other than Google, which Search Console never sees.
  • Different aggregation. Search Console groups data by property for queries, countries, devices and dates, and by page for page filters, so chart and table totals can differ, according to the Performance report help page. In Looker Studio the connector makes you pick Site Impression or URL Impression tables, and a single data source can only use one of them, per the Search Console connector guide.

When we audit an agency’s SEO reporting, the fault we find most often is the second one: a consent setup or a missing tag on key landing pages, which quietly shrinks organic sessions while Search Console looks healthy. Put a short note in the report glossary that says which source each section uses and why they differ. A client who reads that note once stops treating the gap as an error.

Which numbers should an SEO report lead with?

An SEO report should lead with key events from organic landing pages, then use Search Console visibility to explain why they moved. Impressions and average position are early signals; enquiries and sales are the outcome the client is paying for. Putting outcomes first also exposes tracking faults fast, because a flat key event line under rising clicks is a question someone has to answer.

Keep the Search Console side honest too. Google defines average position as “the average position of the topmost result from your site” on its Performance report help page, so it is an average across every query, not a single ranking. Say that in one line under the chart rather than presenting it as a league table. If you present the report in Looker Studio, our Looker Studio guide covers the build, and our overview of GA4 reports helps you pick the right standard report for each section.

When to call someone

You can build this report yourself if GA4 and Search Console are linked, the key events fire reliably, and the report goes to a handful of clients. Call someone when any of these is true:

  • Organic sessions in GA4 fall while Search Console clicks hold steady, and you can’t find the cause in consent or tagging.
  • Key events from organic traffic don’t match the leads or orders the client sees in their CRM or store.
  • The report is rebuilt by hand for every client, every month, and the hours come out of senior time.
  • The client wants the report under your brand but nobody in the agency owns the data underneath it.

That is the work we do for agencies. We check the tracking first, then build the report once, under your brand, with every section tied to a named source and validated before it goes out. Here is what that looks like in practice:

Monthly client reports that took 4 to 6 hours each by hand now generate, validated, in under 5 minutes.

Agencies that want this as a standing service can run it through our white-label analytics arrangement. If the numbers already look wrong, or you’re not sure whether it’s the report or the tracking, tell us what’s broken, or book a call.

Frequently asked

What should an SEO analytics report include?

Six sections, in this order: a short written summary, landing pages (organic sessions and key events by landing page, from GA4), search visibility from Search Console, organic sessions from GA4, queries to pages from the Search Console reports in GA4, and the work done with next steps. Each section names its source, so a client can see that visibility numbers come from Search Console and behaviour numbers come from GA4.

Can you do SEO reports in Google Analytics?

Yes, once GA4 is linked to Search Console. The link lives in GA4 Admin under Product links, and the Search Console collection of reports is unpublished until you publish it from the Library. That gives you the Google Organic Search Queries and Google Organic Search Traffic reports inside GA4, next to the Traffic acquisition report filtered to Organic Search.

Why don't Search Console clicks match GA4 organic sessions?

They measure different things. A Search Console click is a click from Google Search results; a GA4 session starts when a page view fires with no active session. Consent choices, tags that fail on some landing pages, and GA4's Organic Search channel counting other search engines all move the two apart. Report both and explain the gap rather than forcing them to agree.

Should the report lead with rankings or conversions?

Lead with key events from organic landing pages, then show visibility as the reason they moved. Rankings and impressions explain the trend, but a client pays the retainer for enquiries and sales. Our reports open with a written summary of what changed and why, before any chart.

Who can build and run SEO reports for my agency?

We do. We build SEO analytics reports for agencies under the agency's own brand, check the tracking underneath before the first send, and validate each report against the source data. Tell us what's broken, or book a call.

Talk to us

Where does your data stop making sense?

Tell us what's broken, or grab a time. Either way you hear from a person, not a sales script.

Send a message

We reply within one working day.

Add a few details (optional) The more we know up front, the faster we can tell you what's wrong and how to fix it.

Protected by an invisible spam check. Prefer email? olam@dolphinanalytics.co.uk

Calendly · 30 min

Book a call

Thirty minutes on Google Meet with the founder.

The booking lands on the same record as your message.