Measurement
A GEO Reporting Template That Connects Work, Visibility and Inquiries
Build a monthly GEO report with a stable question sample, clear denominators, identifiable referrals, deduplicated inquiries and an action log. Includes a worked example.

TL;DR
- Agree the sample, lead definition, date window and source rules before the month starts.
- Report delivered work, answer observations, visits and inquiries in separate blocks.
- Reconcile counts, show missing data and end with a decision, owner and next review date.
A useful GEO report answers three questions. What work is done? What does the evidence show? What should the team do next? Keep AI answers, site visits and sales requests in their own records. Join them only where the data supports the link.
This is a proposed monthly reporting template, not an industry benchmark or a claim about Sementa results. It turns the definitions in our AI visibility tracking guide into a practical review process. Platform documentation was checked on October 5, 2026.
Use a one-page report with an audit trail
A benchmark can be accurate yet unsuitable for your report. Adobe’s March 2026 US retail data showed AI referrals converted 42% more often, had 12% higher engagement and spent 48% longer on site than non-AI traffic. Its analysis spans over a trillion retail visits. These relative differences are not B2B targets or causal lift.
The worked numbers below belong to the fictional example in this article. They are not Sementa results or external benchmarks.
| Block | Reported result | Decision or evidence |
|---|---|---|
| Delivery | Scope section published; crawler review complete. | Release URLs and dated review record attached. |
| Sample coverage | 36 usable answers out of 40 planned: 90%. | Explain four failures before comparing periods. |
| Answer observations | 12 mentions: 33.3%; 6 owned citations: 16.7%. | Each rate uses the 36 usable answers; events can overlap. |
| Identified AI referrals | 50 sessions; 3 unique inquiries: 6%. | Session source rule, exclusions and deduplication record attached. |
| Sales review | 2 qualified; 1 pending. | Keep the pending inquiry out of the qualified total. |
| Uncertain source | 1 extra self-reported AI-assisted inquiry. | Retain separately after deduplication; not a confirmed AI-referral session. |
| Next action | Check the four failed observations; clarify one scope answer. | Analyst owns retry review; service lead owns scope approval. |
Use the run log, analytics export, release record and inquiry list to check the report. In this example, some runs failed and sales has not checked all leads yet. The report is ready when the counts match and each next action has an owner and date. The fuller calculation below explains the same example; it should not become a second, conflicting dataset.

Put the measurement contract on the first page
State the dates, timezone, markets, languages, platforms, question-set version and analytics property. Name who owns each set of data. Say whether the previous period used the same rules.
Keep a core question set for comparisons. Place new test questions in their own group until you choose to change the baseline. Adding easy questions that name the brand can raise a score without a gain on the old set.
Use three states: measured, unavailable and not applicable. A failed run is unavailable. A report you cannot access is not a measured zero.
Record completed work separately from observed outcomes
Keep one row for each release or output:
Change ID:
Affected URL or channel:
Business question addressed:
Delivered item and approved scope:
Owner, approval date and public release date:
Evidence that the release works:
Related campaigns or product changes:
Expected observation and review date:
A draft handed over is not a live page. Advice about a code change is not a fix already made. Check the release state before asking why results have not changed.
Use an answer-observation register with explicit denominators
Give each run an ID. Save the exact question, platform, date, relevant context, answer, brand-mention status and source links. Label whether the question names the brand. The citation guide covers source checks.
Use these rules for this template:
- Completion rate: usable runs ÷ planned runs.
- Mention rate: usable runs that name the brand ÷ all usable runs in the group.
- Owned-site citation rate: usable runs that link at least one owned page ÷ all usable runs in the group.
Count each answer once per rate, even if it repeats the brand or links several owned pages. You can also count unique source URLs, but keep that as a different metric. State the rules: another tool may use the same name for a different count.
If failures cluster on one platform, show that gap. A blended rate can hide it.
Keep platform impressions and website acquisition distinct
Google’s Generative AI performance report reports impressions for AI Overviews and AI Mode. Keep these apart from sampled answers, site sessions and sales requests. If the report is absent, record that gap; do not derive an AI count from Web totals.
For visits, choose a source scope and use it consistently. GA4’s scope guide explains first-user, session and event fields. They answer different questions.
Keep the raw referral host beside its mapped AI category. Record any genuine campaign tags too. Google’s UTM guide explains those fields. A tag on a link you shared does not prove an earned AI referral.
Leave direct and unknown traffic visible. A rise in AI mentions does not tell you where an unknown visit came from.

Reconcile inquiries before reporting conversion
Start with the saved inquiry record, then match analytics events to it where the data allows. Test success, failed sends and duplicate sends in an authorized test setup. Repeated clicks are not several new buyers.
With the right privacy choices and access, keep the landing page, source context, time and a private inquiry ID. Keep “How did you hear about us?” in its own field. A buyer’s memory does not overwrite the observed visit source.
Agree the fit rules with sales. These might require a relevant service need, supported market and valid business contact. Mark requests still waiting for review as pending, and say when sales last checked the group.
Compute a session-to-inquiry rate only when the requests can be linked to those sessions and that period. Do not divide all sales requests by just AI-referral sessions. See the inquiry measurement guide for the handoff.
Worked example: reconcile the numbers before the narrative
Made-up reporting example. These counts teach the method. They are not client results or a forecast.
Of 40 planned answer checks, 36 worked and 4 failed. Of the 36 usable answers, 12 name the brand and 6 cite its site. Completion is 36 ÷ 40 = 90%. Mention rate is 12 ÷ 36 = 33.3%. Owned-site citation rate is 6 ÷ 36 = 16.7%. Show the counts as well as the rates.
Separately, 50 site sessions have an identifiable AI referral. Three unique inquiries link to those same sessions. Sales has qualified 2 and is reviewing 1. The inquiry rate is 3 ÷ 50 = 6% under this session-based rule. It is not the rate for everyone who saw an AI answer. The 12 mentions are not a visitor count.
One more buyer says “I found you through ChatGPT,” but has no usable referral record. Keep that as one self-reported AI-assisted inquiry, outside the observed 3 ÷ 50 rate. If the person is already in another record, merge the duplicate before showing any combined count.
The example has no prior period or isolated test. It cannot show that GEO caused a gain.
End with a decision record
For each next action, state what you saw, what you think it means, what is unclear, who owns the work and how to check it. For example, repeated scope questions can lead to a clearer service-page section. Check the live text, then repeat the same question group.
Keep failed checks, missing inputs and unknown sources in the report. The aim is to choose useful work, not make all numbers rise. Use the roadmap guide to give the work owners and a sequence.
Frequently asked questions
Should brand mentions and website citations be added together?
No. One answer can contain both. Report them as separate measures with defined denominators, and retain the underlying observations.
How should unavailable observations affect the rate?
In this template, exclude them from usable-answer rates and show the completion rate alongside those rates. Explain concentrated failures and do not present an incomplete sample as fully observed.
Can self-reported AI discovery count as an AI lead?
It can be labeled a self-reported AI-assisted inquiry. Keep that label and check for the same person in the referral records. Their answer does not prove the source of the final site visit.
When is an ROI claim justified?
You need a documented cost basis, an agreed definition of value, a consistent time window and a defensible attribution method. More mentions or more traffic alone does not establish incremental revenue or return on investment.
Share a redacted current report and the decision it should support to scope reporting improvements.
