Reporting AI visibility to clients: KPIs, contracts and monthly reports

AI visibility KPIs that hold up: Share of Voice, citation rate, assisted conversions, contract clauses, attribution methods and a monthly report template.

MOVE Agency graphic cover for the article: Reporting AI visibility to clients: KPIs, contracts and monthly reports

In short

AI visibility needs its own KPIs because the old ones lie: ChatGPT often names a brand without a link, so traffic undercounts everything. The KPI tree runs Share of Voice at the top, then citation rate, then assisted conversions, then revenue influenced. In the contract, fix Share of Voice targets, assisted conversions and a reporting cadence, and state plainly that no position is promised, because only about 30 percent of brands hold their place across two consecutive answers. Split metrics into leading (30 days), transitional (60) and lagging (90), report monthly from a fixed template, attribute with four overlapping methods, and decide up front who pays for the tracker.

Why traffic is the wrong KPI

Almost every marketing report has a sessions chart near the top. For generative engine optimization that chart is close to useless, for three reasons.

First, assistants name brands without linking. ChatGPT often answers “the main options are A, B and C” with no URL at all. The user then searches the brand name or goes directly. That visit lands in organic or direct, not in an “AI” bucket.

Second, the click is rarer and warmer. According to a March 2026 Campaign report citing analytics firm Adthena, one advertiser saw a click-through rate of 0.91 percent for ChatGPT ads against a benchmark of 6.4 percent for Google Search ads in the same sector: a single client’s result in a single sector, not a platform-wide average. Organic behavior follows the same shape: fewer clicks, but the user arrives after a conversation, not after a headline. AI-sourced visits convert far better than organic in every published dataset: Opollo reports 14.2 percent against 2.8 percent, Semrush reports AI visitors 4.4 times as valuable, Ahrefs reports 23 times more sign-ups per visit, and Shopify reports nearly 50 percent higher conversion on product pages. A traffic KPI treats one of those visits the same as one organic bounce.

Third, persistence is low. Per the AirOps 2026 State of AI Search report, only 30 percent of brands stay visible in the next answer to the same query, so any single-day traffic number is noise.

So the reporting question is not “how many visits did AI send” but “how often are we the answer, and what did that do to the pipeline.”

The KPI tree

Four levels, each explaining the one above it.

LevelKPIDefinitionOwner of the number
1. VisibilityShare of Voice (SoV)Percentage of answers to the frozen prompt set (20-40 prompts, 4 assistants, 2 runs) that name the brand; per assistant, per funnel stage, vs 3-5 named competitorsAgency
2. CredibilityCitation rate and source splitShare of brand mentions that come with a cited source; split of own domain vs third-party sources; accuracy of factsAgency
3. PipelineAssisted conversionsLeads and sign-ups where an AI assistant appears anywhere in the path (UTM, self-reported, CRM source, GA4 AI channel group)Agency + client
4. BusinessRevenue influencedClosed revenue from deals with an AI touch, reported by the client’s CRMClient

Level 1 is what the agency controls most directly and reports monthly. Level 4 is what the client’s finance team recognizes. Levels 2 and 3 are the bridge, and they are where most reporting arguments happen, so define them in writing before month one.

Supporting metrics under level 1: average position when mentioned, sentiment, and share of prompts with at least one mention across all assistants. Under level 2: new third-party mentions logged and an entity consistency score, since, according to AirOps, 85 percent of brand mentions in AI answers come from third-party domains rather than the brand’s own site.

What to put in the contract

The contract protects both sides from the persistence problem. Include these clauses:

Measurement baseline. The frozen prompt set (with stage and market tags), the list of assistants, the number of runs per month and the scoring rules are attached as an appendix. Changes require both signatures.

Primary KPI: Share of Voice. A starting value from the audit, a target range for month 3, 6 and 12, and the competitor set used for comparison. Express targets as ranges, not points.

Secondary KPI: assisted conversions. The definition, the four attribution sources counted, and who enters the data.

Cadence. Monthly written report by a fixed day, quarterly review call, prompt-set review every six months.

Explicit exclusions. No position or rank in any AI answer is promised. The reason cited is persistence of about 30 percent between consecutive answers. Traffic volume is not a KPI. Schema and FAQ markup are hygiene, not a deliverable with a visibility target: an Ahrefs study of 1,885 pages that added markup found citation shifts ranging from -4.6 percent in AI Overviews to +2.2 percent in ChatGPT, statistically close to zero.

Data ownership. Prompt set, raw answer logs, mention log and tracker account belong to the client.

Access preconditions. Client commits to removing technical barriers for AI crawlers: robots.txt, CDN restrictions, JavaScript rendering issues. According to Otterly.ai, 73 percent of sites have these barriers. The client also grants access to Bing Webmaster Tools and sets up IndexNow: this speeds up page discovery on Bing, one of the search data providers for ChatGPT Search alongside OpenAI’s own OAI-SearchBot crawler, though direct acceleration of indexing in ChatGPT itself is not officially confirmed.

Avoid any wording anywhere in the document that promises a fixed outcome. This is not legal advice: agree the exact contract language with a lawyer.

Leading vs lagging metrics by 30/60/90 days

Clients want results in 30 days; Share of Voice takes longer to move. Bridge the gap by reporting different metrics at different stages and saying so in advance.

WindowTypeMetrics to reportWhat “good” looks like
Days 1-30LeadingCrawler access fixed per bot; Bing index and IndexNow confirmed; key pages pass extractability; entity consistency score; mention log started; tracker live with baselineAll technical items closed; baseline SoV recorded per assistant
Days 31-60TransitionalNew third-party mentions on cited domains; citation source split moving toward third party; fact accuracy of mentions; first assisted conversions taggedMentions on cited domains growing; wrong facts corrected at source
Days 61-90LaggingShare of Voice per assistant and stage vs baseline and vs competitors; assisted conversions; revenue influenced (first read)SoV up in at least the category and comparison stages; assisted conversions visible in CRM

State in the contract that month one is a leading-metrics month. It avoids the “nothing changed” conversation on day 31.

Monthly report template

One document, same structure every month, no more than six pages. Sections in order:

#SectionContentsSource
1SummaryThree sentences: what moved, why, what we do nextAgency
2Share of VoiceSoV per assistant, per funnel stage, vs 3-5 competitors, vs last month and baseline; chart plus tablePrompt runs or tracker
3Position and sentimentAverage position when mentioned; sentiment split; count of wrong or outdated facts and their source pagesPrompt runs
4CitationsOwn domain vs third-party citations; top 10 cited third-party pages; new pages cited this monthPrompt runs
5MentionsNew third-party mentions logged (URL, type, correctly named); entity consistency scoreMention log
6TechnicalCrawler access status per bot; Bing index; extractability of pages changed this monthManual checks
7Assisted conversionsCount and list by attribution source; revenue influenced where availableGA4, CRM, forms
8Paid AI (if running)Spend, impressions, CTR, CPC in ChatGPT Ads or Microsoft AI Max; overlap with organic SoV promptsAd accounts
9Next 30 daysActions with owner and dateAgency
10AppendixRaw answer logs for the month, prompt set versionFiles

Keep section 2 on the first page after the summary. It is the number the client will screenshot for their own management.

Attribution methods

No single method fully captures AI’s influence. Run all four in parallel and report them as separate columns, then a deduplicated total.

1. UTM on links you control. Where you publish content that assistants cite (your own articles, profiles, case studies on partner sites with the partner’s consent), tag the links. This captures a small share, because assistants rewrite or strip URLs, but the data is clean when the method works.

2. “How did you hear about us” with an AI option. Add “ChatGPT / AI assistant” as a separate option on lead forms, sign-up flows and sales call scripts. Self-reported data is imprecise, but it is the only method that catches the no-link case, which is the majority.

3. CRM source field. A dedicated “AI assistant” value in the lead source field, set by sales after the first call. Make the field mandatory; a blank field should mean “unknown,” not “organic.”

4. GA4 channel group. Create a custom channel group in GA4 that assigns referrals from chatgpt.com, copilot.microsoft.com, gemini.google.com, claude.ai and perplexity.ai to an “AI assistants” channel. This captures the clicks that do happen and separates them from generic referrals.

Report all four, note the overlap, and never present the sum as the full effect. It is a floor, not the whole picture.

Cost of measurement and who pays

Measurement has a real cost, and it should sit in the open, not buried in the fee.

ItemTypical costWho pays and why
Visibility trackerOtterly from $29/month, Peec €89-199/month, Profound from $99/monthClient, as a separate line item; the account and history belong to the client
Manual monthly prompt run (without a tracker)Roughly a person-day for 30 prompts x 4 assistants x 2 runsAgency, inside the retainer
Baseline auditMarket range $1,500-7,500Client, one-off, before the retainer starts
Attribution setup (GA4 channel group, CRM field, form option)Internal hoursClient’s team, per agency instructions

For context, AI visibility retainers for a mid-size business run $2,000-8,000 a month, and for enterprise $10,000-25,000 or more. A tracker at $29-199 is a rounding error next to that, so do not let it become the reason the program has no data.

How MOVE reports

At MOVE, this is the report we send: Share of Voice on the first page, raw answer logs in the appendix. In contracts we fix Share of Voice ranges and assisted conversions using the definitions from this article, and add an explicit line that no position in any AI answer is promised.

The tracker sits in the client’s account. We hand over the prompt set and mention log as editable files after the audit (market range from $1,500). If the client also runs AI advertising in ChatGPT Ads or Microsoft AI Max, section 8 shows paid and organic visibility on the same prompts, so the client can see where paid is closing a gap and where organic has already caught up.

Six mistakes in AI visibility reporting

  1. Leading with sessions. The client learns to judge the program by a single number that misses most of the effect.
  2. A moving prompt set. Adding or editing prompts each month makes every comparison invalid. Freeze it; add waves separately.
  3. Promising a position. With persistence around 30 percent, the promise will be broken by month two, and the relationship along with it.
  4. Reporting one run per prompt. Single runs turn variance into false trends. Two runs minimum, more if the tracker allows.
  5. Attribution by one method. UTM alone misses the no-link majority; self-report alone is unverifiable. Use all four and label it as a minimum.
  6. Hiding the tracker cost. A surprise line item on the invoice in month four erodes trust more than $99 does on the first one. For why the data behind that line item matters, see how ChatGPT chooses sources.

Next step

If your current GEO report opens with a sessions chart, it is time to rebuild it. Order an AI visibility audit from MOVE: you get a baseline Share of Voice, a frozen prompt set, an attribution setup checklist and a contract-ready KPI appendix. Details on the AI advertising and GEO service page, or write to us via the contact page with your market and current reporting toolset.

Frequently asked questions

What is the main KPI for AI visibility?
Share of Voice: the percentage of answers to a frozen set of buying-intent prompts that name the brand, measured per assistant and funnel stage and compared with named competitors. It is the top of the KPI tree; citation rate, assisted conversions and revenue influenced sit below it.
Why is traffic the wrong KPI for GEO?
Because ChatGPT and other assistants often name a brand without linking to it. Referral traffic captures only the minority of cases where a user clicks a link, so it undercounts visibility and distorts budget decisions. Use Share of Voice and assisted conversions instead.
Can an agency promise a position in ChatGPT answers?
No, and the contract should say so directly. Only about 30 percent of brands hold their place across two consecutive answers. The contract should fix targets for Share of Voice, assisted conversions and reporting cadence, not a position.
How do you attribute leads to AI assistants?
Combine four methods: UTM tags on links you control, a 'how did you hear about us' field with an AI option, a CRM source field with an AI value, and a GA4 channel group for referrals from chatgpt.com, copilot.microsoft.com and gemini.google.com. None is complete on its own; together they give a usable lower bound.
Who pays for the visibility tracker?
Usually the client, as a separate line item in the retainer, because the data belongs to the client and should survive an agency change. Trackers start at $29/month (Otterly), €89-199 (Peec) or $99 (Profound); a spreadsheet plus a monthly manual run costs only time.
Add MOVE to your Google sources