Skip to content

SEO Reporting and KPIs: How to Prove SEO Is Actually Working

By test Seo
Reporting & KPIs

SEO Reporting and KPIs: How to Prove SEO Is Actually Working

Most SEO reports show activity: blog posts published, links built, audits run. Few show whether any of it moved revenue. Here is the measurement model SEOelinks uses to close that gap for clients, honestly, with the caveats intact.

Ask for a reporting review

90 daysWindow for reliable leading indicators before outcome data is meaningful
3Metric layers: activity, output, outcome
±10–20%Typical discrepancy between Search Console and analytics session counts
2Splits every dashboard should show: branded vs non-branded

Activity, output and outcome are not the same thing

Confusion in SEO reporting almost always comes from mixing three layers of metric that measure different things. Activity metrics describe what the agency did: audits completed, pages written, links pitched. Output metrics describe what changed on the site or in search visibility as a result: rankings, impressions, indexed pages, Core Web Vitals scores. Outcome metrics describe what the business got: leads, bookings, revenue, retained customers. A report that only shows activity is a task list, not evidence. A report that shows output without connecting it to outcome tells you the machine is running, not that it is worth the fuel.

Good reporting shows all three, but weights outcome most heavily and is explicit about the lag between them — activity this month typically shows up as output next quarter and outcome the quarter after that, particularly for competitive commercial terms.

A measurement model from impressions to revenue

The funnel below is the shape we build for most clients, adapted to whatever the actual conversion path is — ecommerce checkout, lead form, phone call, or booked appointment.

Animated funnel and waterfall chart from search impressions down to closed revenue Impressions 100,000 Clicks 3,200 Engaged sessions 2,100 Leads 85 Closed revenue 18

Every stage of that funnel should have its own conversion rate tracked over time. If leads are flat but closed revenue drops, the problem is sales handling, not SEO. If clicks are flat but leads drop, the problem is likely on-page or landing page conversion. Reporting that only shows the top and bottom of this funnel hides exactly where an actual investigation needs to start.

Search Console vs analytics: expect discrepancies

Search Console and Google Analytics (or any other analytics platform) will never match exactly, and a discrepancy is not automatically a tracking error. Search Console counts clicks at the point a user leaves the search results; analytics counts sessions after the page loads and any tracking script fires, which means bounced page loads, ad blockers, and consent banner delays can all cause sessions to under-count relative to clicks. A gap in the 10–20% range is common and not inherently a red flag; a gap that suddenly doubles between two reporting periods usually is, and is worth investigating as a tagging or consent-mode issue before assuming a traffic problem.

Attribution limits for organic search

Last-click attribution systematically undercounts organic search’s contribution, because a large share of buyers research via organic search early in a decision and convert later through a branded search, a direct visit, or an email click. This does not mean organic gets a blank cheque of credit for everything; it means single-touch attribution models should be treated as a floor on organic’s contribution, not a ceiling, and multi-touch or assisted-conversion views should be checked before concluding that a channel “isn’t working” based on last-click numbers alone.

Branded vs non-branded split

Lumping branded and non-branded search together in a report flatters agencies and misleads owners. Branded search growth mostly reflects offline marketing, word of mouth and existing brand awareness — it is a poor way to judge whether an SEO programme is doing new-demand generation. Non-branded search growth is the more honest signal of whether the programme is winning new visibility among people who did not already know the business existed. Every dashboard should report these two separately, not as a combined “organic traffic” number.

Metric What it actually tells you
Branded clicks/impressions Existing awareness and recall, not new SEO-driven demand
Non-branded clicks/impressions Whether the programme is winning new prospects who did not know you
Share of voice Your visibility relative to competitors across a defined keyword set
Assisted conversions Organic’s contribution earlier in multi-touch buying journeys

Share of voice as a leading indicator

Share of voice — your estimated visibility across a defined basket of relevant keywords compared with named competitors — is one of the few metrics that moves faster than revenue and is harder to game than a single rank tracker screenshot, since it aggregates across many terms rather than resting on one. Tracking it monthly against two or three real competitors, not a vague “industry average”, gives an owner a directional read on competitive position well before it shows up in the bank account.

Leading indicators in the first 90 days

Days 1–30: indexation status, crawl errors resolved, technical fixes shipped, baseline Search Console data captured.
Days 30–60: impressions trend for target non-branded queries, new pages entering the index, early ranking movement for long-tail terms.
Days 60–90: click-through rate improvements on updated titles, first movement in engaged sessions and on-site conversion events tied to organic.
Day 90 review: honest checkpoint — if none of the above moved, that is a signal to revisit scope or execution before waiting for a revenue outcome that has no supporting leading indicators.

Page-group and cohort reporting

Reporting rankings or traffic for the whole site hides where growth is actually coming from. Grouping pages by type — service pages, location pages, blog content, product pages — and reporting each group’s trend separately shows which parts of the strategy are working and which are dead weight. Cohort reporting, tracking a specific batch of pages published in a given month over time, is the cleanest way to judge whether new content production is paying off, since it isolates that batch from the noise of the rest of the site.

Honest forecasting

Forecasting organic growth should always be presented as a range with stated assumptions, not a single confident number. A forecast that says “we expect 20–35% growth in non-branded organic sessions over two quarters, assuming no major algorithm update and consistent publishing cadence” is honest. A forecast that says “you will get 500 new leads a month by June” without any stated assumptions is a sales pitch dressed as a projection, and it is the single most common thing that erodes client trust when it does not land.

The monthly dashboard an owner should receive

Non-branded clicks and impressions trend, conversion events by page group, share of voice versus named competitors, and a plain-language summary of what changed and why.

What it should not be

A wall of rank-tracking screenshots with no commentary, or a PDF of “tasks completed” with no tie-back to visibility or conversions.

Red flag: vanity metrics only

Reports that lead with “domain authority” increases or total keywords ranked, with no page-one or conversion context, are hiding a lack of real movement.

Red flag: no access

If an agency won’t give you direct login access to your own Search Console and analytics properties, treat that as a serious warning sign.

The report that actually protects an SEO budget is not the one with the most charts. It is the one that says plainly which numbers moved, which did not, and what the agency is doing differently next month because of it.

Other red flags in agency reporting

Beyond vanity metrics and withheld access, watch for reports that never mention a metric going down, since organic performance is never a straight line up and a report that hides every dip is curated rather than honest. Watch for reports that change the reporting period or comparison baseline whenever the numbers look unfavourable — comparing this month to a cherry-picked low month rather than the same month last year, for example. And watch for any report that presents correlation as proof: “we published 10 blog posts and traffic went up” says nothing about causation without checking what else changed in the same window, including seasonality, algorithm updates, and competitor activity.

Frequently asked questions

What is the single most important SEO KPI?

There is not one. The combination that matters is non-branded organic traffic trend, conversion rate from that traffic, and share of voice against named competitors, viewed together.

Why don’t Search Console and Google Analytics numbers match?

They measure different events at different points in the user journey and use different counting methodologies. A moderate gap is normal; a sudden large change in the gap is worth investigating.

How soon should I see results in reporting?

Leading indicators like indexation and impressions typically move within 60–90 days. Outcome metrics like revenue usually take a full quarter or more to show a reliable trend.

Should I fire an agency if rankings drop one month?

Not on one data point. Look at the trend over a full quarter and ask for the agency’s explanation, distinguishing algorithm volatility from execution failure.

What is share of voice and why does it matter?

It is your estimated visibility across a defined basket of keywords relative to specific competitors. It moves earlier than revenue and is harder to cherry-pick than a single ranking screenshot.

Reporting cadence and who reads what

One report cannot serve three audiences. The owner wants to know whether the investment is producing pipeline. The marketing manager wants to know which pages and clusters are moving so they can plan the next quarter. The person doing the work needs granular diagnostics that would bore everyone else. Trying to satisfy all three in a single PDF produces a document nobody reads carefully, which is how underperformance stays hidden for two quarters.

Split it. The owner gets a one-page monthly summary: non-branded impressions and clicks, qualified enquiries from organic, cost per enquiry compared to paid, the two or three things that shipped, and the two or three things shipping next. No jargon, no screenshots of tool dashboards, no vanity charts. The manager gets a working review every month with page-group performance, cluster-level movement, content and link deliverables against plan, and any technical issues found. The practitioner keeps a live diagnostic dashboard that nobody needs to see in a meeting.

Cadence matters as much as content. Weekly reporting on organic search is noise — the underlying data is too volatile and the work is too slow to show weekly deltas. Monthly is right for review, quarterly is right for strategy. Reserve out-of-cycle communication for genuine events: a core update, a ranking drop, a site migration, a tracking break. If an agency sends a lengthy automated report every Monday and nothing else, that is volume standing in for insight.

Finally, agree the definition of every metric in writing before the first report. What counts as a qualified enquiry, whether phone calls are tracked, which subdomains are in scope, and whether branded terms are excluded from the headline number. Most reporting disputes are not disagreements about performance; they are disagreements about definitions that were never settled at the start.

Want a reporting review, not just a rankings report?

SEOelinks builds outcome-focused dashboards for clients worldwide from our Brampton, Ontario base, since 2014.

Request a reporting audit

Leave a Reply

Your email address will not be published. Required fields are marked *