# AI visibility report

Blank working template from Reputably. Replace bracketed fields before sharing.
This document contains no customer records and does not connect to any account.
Instructions and fictional worked example:
https://reputably.net/resources/ai-visibility-reporting-for-agencies/

## 1. Executive summary

- Client: [name]
- Reporting period and timezone: [dates / timezone]
- Market, language and service: [market / language / service]
- Prepared by and checked on: [owner / date]
- Main finding: [What do the answers actually say about this client?]
- Client decision: [What should the client do or approve?]
- Material limitation: [Missing observations, changed method or unknowns]

## 2. What we tested

Keep exact questions and variant text in the client's private records.
Do not publish raw answers, screenshots or customer data with this template.

| Question ID | Exact question / variant | Engine and model label | Market / language | Date / session method |
| --- | --- | --- | --- | --- |
| [ID] | [Question] | [Engine / label] | [Market / language] | [Date / method] |

| Engine | Planned checks | Usable answers | Unavailable answers | Errors | Pending checks |
| --- | --- | --- | --- | --- | --- |
| ChatGPT | [ ] | [ ] | [ ] | [ ] | [ ] |
| Claude | [ ] | [ ] | [ ] | [ ] | [ ] |
| Gemini | [ ] | [ ] | [ ] | [ ] | [ ] |
| Google AI Mode | [ ] | [ ] | [ ] | [ ] | [ ] |
| Google AI Overviews | [ ] | [ ] | [ ] | [ ] | [ ] |

Coverage = usable answers / planned checks. Show both counts and the percentage.
An unavailable overview or failed request is not a completed answer omitting the client.
Reconcile all statuses to planned checks. Explain any missing records separately.
Changes in questions, model labels, market, method or tracking: [changes / none]

## 3. Recommendations and competitors

Definitions used:
- Recommendation: the answer explicitly suggests the client as an option.
- Name mention: the answer names the client; record separately whether it recommends them.
- Position: [Define ordering, or mark not applicable for unranked answers.]

| Engine | Usable answers | Answers recommending client | Recommendation rate | Answers naming client | Repeated competitors / context |
| --- | --- | --- | --- | --- | --- |
| [Engine] | [ ] | [ ] | [ ] | [ ] | [Names / context] |

Recommendation rate = answers recommending client / usable answers.
Count each answer once per measure; naming and recommendation counts can overlap.
Human review notes for ambiguous flags: [notes]

Comparison period: [dates]
Matched question-and-engine checks available in both periods: [count]
Prior recommendations / matched usable answers: [count / count]
Current recommendations / matched usable answers: [count / count]
Change in percentage points: [current percentage minus prior percentage]
Unmatched checks and coverage changes: [details]
Do not infer causation from a before/after result alone.

## 4. Citations and disclosed searches

| Engine | Usable answers | Answers citing client's site | Site citation rate | Distinct client pages cited |
| --- | --- | --- | --- | --- |
| [Engine] | [ ] | [ ] | [ ] | [ ] |

Site citation rate = answers citing client's site / usable answers.
Count an answer once even if it includes several links or fragments.
Do not add citation and recommendation counts: they can overlap.

| Public cited page | What the answer used it for | Describes client, competitor or general advice? | Useful improvement |
| --- | --- | --- | --- |
| [URL] | [Passage / purpose] | [Classification] | [Action] |

Disclosed fan-out searches: [summary / unknown where not disclosed]
Distinguish surfaced sites from cited sites. A source list does not explain every selection decision.
Keep raw research inputs private; include public links and authorised written findings only.

## 5. Traffic and enquiries

| Measure | Value | Collection / attribution method | Limitation |
| --- | --- | --- | --- |
| Detectable AI referral visits | [count / not measured] | [Analytics method] | [Known gaps] |
| AI crawler requests | [count / not measured] | [Server-side method] | [Not human visits] |
| Qualified enquiries | [count / not measured] | [Qualification and attribution] | [Known gaps] |
| Trials or booked work | [count / not measured] | [Attribution] | [Known gaps] |

Use “not measured” when tracking is absent. A crawl doesn't prove a citation or a visit.
If sponsored placements are monitored, report them separately from organic answers.

## 6. Actions and next review

| Finding | Page or workflow to change | Owner | Due date | Actual live/completion date | Review date | Result |
| --- | --- | --- | --- | --- | --- | --- |
| [Finding] | [Concrete action / public URL] | [Name] | [Date] | [Date / pending] | [Date] | [Pending / finding] |

- Client input needed: [item / none]
- Next reporting date: [date]
- Final checks: counts reconcile; answer text reviewed; missing results visible;
  citations and recommendations separate; public claims sourced; private data protected.
