Choose the business question before the dashboard

A useful SEO measurement plan starts with a question that the available data can answer. Did a page appear in search, did people arrive, did a reference remain visible, or did visitors complete a defined action? These are different observations. Putting them on one screen does not turn them into the same unit or establish that one caused another.

For each measure, record its source, entity, scope, date range, timezone, collection date and known gaps. Keep raw exports unchanged and build a separate working view. An authority metric or estimated publisher traffic may help research a source; it is not your measured sessions, revenue or a count of customers. This guide explains a specification and a worked example, not a live analytics integration.

Keep search, visits and actions in their own scopes

Google explains why Search Console and Analytics answer different parts of the journey. Search clicks and website sessions need not match. Configuration, consent, canonical URLs, reporting scope and time zones can all matter. Before diagnosing a discrepancy, compare the definitions and filters rather than declaring the difference to be lost visitors.

The GA4 Traffic acquisition report uses session source dimensions. User-, session- and event-level attribution are different scopes. A key-event count is not the number of sessions containing that event. Define the intended action, such as a successfully completed inquiry, and check the implementation before interpreting a report. A click on a submit button is not automatically proof that the inquiry was received.

Seven fictional records, with their units left visible

The example below is entirely invented for teaching. It is not customer data, a provider response or a report from this website. Search Console records 120 web clicks for September 1–7, 2026 in Pacific Time. GA4 records 97 google / organic sessions for the same calendar labels in a property configured to UTC. The date boundaries and the metric definitions differ, so subtracting them does not measure missing visitors.

For publisher.example / referral, the fictional GA4 cohort has 25 sessions, three sessions with the selected inquiry key event and four occurrences of that event. Two separately checked source pages point to the same destination: review-a was observed, while review-b could not be assessed because access failed. A point-in-time link observation is not a traffic total, and an inconclusive check is not evidence that the reference was removed.

Fictional measurement records: keep units and dates separate
RecordValueScope or keyPeriod or observationInterpretation
Search Console web clicks120Verified property; web search2026-09-01–07; Pacific TimeSearch-result clicks, not sessions
GA4 organic sessions97google / organic2026-09-01–07; property UTCDifferent metric and date boundaries
GA4 referral sessions25publisher.example / referral2026-09-01–07; property UTCKeep once at domain-level source grain
Referral sessions with the selected key event3Same 25-session referral cohort2026-09-01–07; property UTCSession-rate numerator; 3 / 25 = 12%
Selected key-event occurrences4Same 25-session referral cohort2026-09-01–07; property UTCRepeated occurrences are not extra sessions
Source page AReference observedhttps://publisher.example/review-a → https://shop.example/projector-guidePoint check 2026-09-08Publication observation; no per-page traffic attribution
Source page BAccess inconclusivehttps://publisher.example/review-b → https://shop.example/projector-guidePoint check 2026-09-08Do not infer removal or zero visits

Use a valid denominator and preserve the join grain

For this fictional referral cohort, the session key-event rate is 3 / 25 = 12%. Dividing four event occurrences by 25 sessions would give an event-per-session ratio, not the percentage of sessions with the event. Keep the event definition, cohort and reporting period beside the calculation. If the denominator is zero or missing, do not silently convert that absence into a measured rate of zero.

The source-page register contains two URLs on publisher.example, while the referral report identifies the publisher at domain level. Joining the same total to both URLs and then summing would incorrectly turn 25 sessions into 50. Keep the 25 once at its reported grain and attach the two page observations as separate evidence. The available source / medium value alone cannot tell you how those visits split between review-a and review-b.

Build a reviewable measurement specification

The worked CSV keeps the seven records, their units and periods. Use the blank sheet to define your own observations before importing results. Record the exact target and source identifiers, query or export filters, timezone and collection date. Explain URL normalization choices; stripping every parameter or merging every subdomain can erase distinctions that matter to the analysis.

Check one known user journey in the appropriate analytics setup and verify what the event actually represents. Record excluded, unavailable or inconclusive evidence separately. Existing backlink-analysis and reporting workflows can organize saved observations, but this worksheet neither connects Google accounts nor resumes a provider scan. A Search Console connection or a live combined dashboard is a separate integration and is not implied by this download.

Download the worked measurement records · Download a blank measurement specification

Report change without inventing causation

Present publication checks, search visibility, website behavior and business outcomes as separate layers. Compare periods only after describing the common scope and any changes in implementation. An increase during a link campaign does not isolate that campaign’s effect; an Authority Score movement does not explain measured revenue. Preserve the differences instead of creating a single success score.

For a practical handoff, show the original record, the transformation, the calculation and the unanswered question. Here the supported conclusion is a 12% session rate within an explicitly fictional cohort. It is not proof of a profitable publisher, a ranking improvement or a working live connection. If a new data source later becomes available, add its provenance and validate its join keys before extending the report.