GEO: which KPIs to track in Search AI?

Improving visibility in generative AI engine responses (ChatGPT, Gemini, Perplexity) is a major challenge for many brands in 2026. But one question systematically arises: how can this visibility actually be measured?
While SEO is now a mature discipline with well-defined KPIs, the situation is very different for GEO (Generative Engine Optimization). Indicators remain fuzzy, sometimes unreliable, and above all, largely incomplete. For example, it is impossible to rely on an equivalent of Google Search Console to know which queries trigger a mention of your brand, which content is cited, or how often you appear in responses generated by ChatGPT and other LLMs.
In this article, we will see that there is a reliable method for measuring the activity of generative AI engine crawlers on your site - log analysis - and that it can be used to track GEO KPIs.
Prompt tracking, an indication rather than a reliable indicator
The first reflex for measuring your GEO visibility is, of course, to see if your brand is mentioned in LLM responses. Thus, from a list of strategic queries you have identified, you will assume the prompts that your users might type into ChatGPT, Gemini, or Perplexity (based, for example, on your different marketing personas), then look at the response:
- Whether your brand is mentioned (mention in the response, without a URL)
- Whether your brand is cited (citation with a URL from your site)
- At what position your brand is mentioned or cited
- Whether the sentiment associated with each mention or citation is positive, neutral, or negative
Your goal? To appear in the response to these various prompts, ideally by being recommended as the reference (rather than simply being mentioned at the bottom of a list). For example, if I ask ChatGPT "What tool should I use to easily set up a redirection plan in SEO?", the response provided by ChatGPT is interesting because it:
- mentions redirection.io first, with a link to the page detailing the feature that allows you to generate a redirection plan (redirect mapping) in a few minutes
- proposes Screaming Frog in second position, with a link to the tool
- then suggests several tools (Ahrefs, SEMrush, Google Search Console, httpstatus.io), with only a link to an Ahrefs blog post on redirections

The same exercise would then be performed for each of the different prompts you have listed. Obviously, several tools allow this to be done at scale, meaning:
- querying the generative AI engine on all the prompts you have defined
- doing the same for each of the main generative AI engines (ChatGPT, Gemini, Perplexity, etc.) on all these prompts
- potentially querying each generative AI engine several times in a row for the same prompt (as their response may vary, as we will see later)
- performing this operation daily, so as to track the evolution of your visibility on a day-to-day basis
Defining your prompts
For you, the first step consists of defining, from a list of your strategic keywords, the prompts that your users might type when querying their favorite response engine. You can then segment these prompts by intent:
- Informational ("How to choose")
- Commercial ("Which is the best")
- Comparative (brand A or brand B?)
- Etc.
In this way, you address the different stages of your prospect's journey (TOFU / MOFU / BOFU), whether they do not yet know your brand or are in a decision or purchase phase. Once your list of prompts is established, you must then query the various LLMs, either manually or using a tool.
Defining your GEO visibility indicators
You can then use different indicators to evaluate your visibility - tools generally perform this calculation for you.
- Number of mentions: how many times is your brand mentioned in the responses (without a link to your site)?
- Number of citations: how many times is your brand cited in the responses (with a link to your site)?
- At what position are you cited?
This data then allows you to calculate several other indicators:
- Your presence rate: what percentage of responses mention your brand?
- What is your visibility score / share of voice? You can calculate this by weighting your presence rate by the position occupied in each response, and doing the same for all your competitors
In addition, you can associate qualitative data with these indicators, namely the brand sentiment associated with each response (positive, negative, neutral).
Going further: distinguishing parametric visibility and dynamic visibility
In a recent study, Resoneo clearly highlighted the difference between two types of visibility on ChatGPT:
- Parametric visibility, which corresponds to what the model already knows about your brand thanks to its training data
- Dynamic visibility, which corresponds to what the model finds in real-time about your brand by launching a web search to respond to the user
While parametric visibility is stable, as it only evolves with the update of training data (at each "knowledge cutoff"), dynamic visibility is much more unstable, as it depends on the sources ChatGPT searches for in real-time when launching a web search, as well as model updates.
It can be relevant to evaluate your brand's visibility both parametrically and dynamically, as the first form of visibility has a direct influence on the second. Being known by the training model (i.e., having parametric visibility) offers a double advantage:
- It influences queries during the query fan-out process (known brands are more likely to be targeted)
- It provides more weight later in the response
Resoneo provides examples of prompts to audit your brand's parametric visibility.
The limits of prompt tracking
Using prompt tracking to evaluate visibility on generative response engines provides an illusion of measurement but is actually very imperfect for evaluating actual visibility.
-
This measurement is performed from prompts that you have assumed or imagined. In reality, you do not know exactly what your prospects are searching for on ChatGPT, Gemini, or Perplexity, nor how they search for it (yet, phrasing can have a significant impact on the response content).
-
The returned responses vary according to user history, location, session context, the model used (and its version), etc.
-
Generative AI engine results differ between the API and the interface - which adds an extra layer and, in some cases, access to external data. It is therefore necessary to ensure that the tool you use scrapes results directly from the interface (as this is what the general public uses) and does not make API requests - at least depending on what you are trying to measure.
-
Beyond personalization, even with identical parameters, the same prompt can yield different responses only a few minutes apart.
Thus, SparkToro conducted a study at the end of 2025 showing that, even when asking ChatGPT or Google AI Overviews the same thing 100 times, there is less than a 1 in 100 chance of getting the same list of brands in two different responses... and only a 1 in 1000 chance of getting the same list in the same order.
How, then, can one rely on reliable - and indisputable - data to define GEO indicators?
Log analysis, a reliable data source for measuring GEO KPIs
However, there is a direct and observable site-side data source on which you can base - at least in part - your GEO KPIs: your server logs. For every request to your site - whether made by a user or a bot - a line is recorded in your logs, with information such as the requested URL, the response code obtained, the date and time, the user-agent, etc.
These logs provide information on the passage of AI crawlers on your site and the pages they visited. Even more interestingly: each generative AI engine generally has several types of crawlers, identified by a different user-agent, which allows us to more precisely analyze the pages of your site cited as a source in LLM responses.
The different types of LLM crawlers
LLM crawlers can be classified into three categories:
- "Training bots": they explore content to collect data used later for training their generative AI models
- "Search bots": they serve to power the search features of generative AI engines
- "User-fetch bots" (or "user-triggered bots"): as their name suggests, they are triggered in response to a user action to browse one (or more) page(s) of your website whose content is then used in the LLM's response. These are the crawlers that interest us specifically when we want to identify pages on our site likely used as sources in generative AI engine responses.
Here are some examples of user-agents used by the main LLMs:
| Bot Category | Bot Examples |
|---|---|
| Training bots | GPTBot (OpenAI), ClaudeBot (Anthropic), CCBot (Common Crawl), Bytespider (TikTok), Meta-ExternalAgent (Meta) |
| Search bots | OAI-SearchBot (OpenAI), PerplexityBot (Anthropic), Claude-SearchBot (Claude), DuckAssistBot (DuckDuckGo) |
| User-fetch bots | ChatGPT-User (OpenAI), Perplexity-User (Perplexity), Claude-User (Claude), MistralAI-User (Mistral AI) |
Note that a fourth category of bot could even be added, "ads bots," since OpenAI recently updated its documentation on crawlers to include "OAI-AdsBot," a crawler used to "verify the safety of web pages submitted as advertisements on ChatGPT." However, this only concerns pages submitted as ads, and thus only advertisers on ChatGPT.
By using log analysis, you can track the activity of AI crawlers on your site, distinguishing them by bot type (search, training, user-fetch).
Which GEO KPIs via log analysis?
Analyzing your server logs allows you to obtain several indicators.
Number of hits by AI crawler type
What type of AI crawler is browsing your site? You can count:
- The number of hits by a "training" bot
- The number of hits by a "search" bot
- The number of hits by a "user-fetch" bot
You can then track the evolution of these hits by category and also display their distribution.
Number of hits by LLM
Which generative AI engines have bots browsing your site? You can count the hits associated with each generative AI engine:
- ChatGPT
- Claude
- Perplexity
- Mistral AI
- Etc.
Similarly, for each generative AI engine, you can track the evolution of these hits and see how they are distributed by bot category (training, search, user-fetch).
Top URLs
What are your most explored URLs by AI crawlers? What interests us most here are the URLs most explored by "user-fetch" type crawlers (i.e., the instant response crawlers of LLMs), as these are your pages serving most as sources in LLM responses.
As seen previously, you can count the number of hits by bot category, but also distinguish the number of unique URLs crawled - and track its evolution.
In the case of "user-fetch" type crawlers, this will allow you to track the evolution of the number of unique pages likely used for a citation in an LLM response.
Response codes
In the same way that you monitor response codes encountered by Googlebot in SEO, you can track this data for generative AI engine crawlers, with the ability to distinguish them by bot type and by LLM.
Monitor specifically the pages returning an error (4XX or 5XX).
Visits
Your logs also allow you to count traffic coming from each LLM and display the distribution by generative AI engine, the top URLs generating the most visits, etc.
You can also cross-reference this traffic data with others to measure:
- The number of unique pages that generated a visit (with the ability to filter by LLM)
- The click-through rate (CTR) from the LLM interface, by calculating the ratio for each LLM between the number of visits and the number of hits from a "user-fetch" type bot (i.e., the ratio between the number of times a user visited your site from the LLM and the number of times you were cited by that LLM)
Using redirection.io log views to monitor GEO KPIs
Thanks to its real-time traffic log analysis feature and the ability to create "log views" (views filtered according to certain criteria: user-agent, response code, URL, etc.), redirection.io allows you to easily leverage your log data for tracking your GEO KPIs.
In the manager, go to the log list screen, use the filters of your choice, then save your "log view" for future use.
Here are some examples of the views you can obtain.
Top pages most cited in LLM responses
By filtering on the user-agent (to include only "user-fetch" type bots), then grouping by URL, you get the list of your site's pages most cited in LLM responses.

Top "user-fetch" type bots exploring the site the most
By grouping by user-agent rather than URL, you see which "user-fetch" type bots are browsing your site in response to a user action to likely use its content in their response.

LLM crawl detail
By filtering by user-agent to focus on a specific LLM (Claude, in our example), then grouping by user-agent, you can see the number of hits associated with each bot category (training, search, user-fetch).

By additionally grouping by URL, you can see the top URLs crawled by each bot type of the generative AI engine you are interested in.

You can also filter by response code to more closely study the error URLs encountered by the AI crawler of interest.

redirection.io allows you to create and save multiple "log views" according to your needs. You can also add them to favorites so they are accessible and visible at the top of the log analysis tool, with an indication of the number of hits over the selected period.

Exporting your data to build your dashboard with GEO KPIs
redirection.io also allows you to export your log data in CSV format. Using a few filtered exports, you can easily reuse this data in a tool like Google Data Studio to build your own dashboard with your GEO KPIs.
Here is an example of a dashboard built this way, with the ability to filter data:
- By crawler type (training, search, user-fetch)
- By LLM (ChatGPT, Claude, Perplexity, Mistral AI, etc.)

These filters were created in Google Data Studio using a calculated field based on the user-agent, associating each user-agent with a crawler type and an LLM.
Using data from your analytics tool
Your analytics tool can provide two types of data to feed your GEO KPIs:
- Traffic generated by LLMs
- Conversions generated
This last indicator, in particular, can generally only be measured in your analytics tool.
You can then:
- Calculate a conversion rate
- Identify more precisely your top landing pages for this type of traffic
- Associate qualitative indicators with this traffic (time spent, number of page views, etc.)
As we saw in this article, in Google Analytics 4, you need to isolate traffic from generative AI engines by proceeding as follows:
- Go to "Traffic acquisition"
- Click "Add filter"
- Select "Session source" as the variable, and "Matches regex" as the match type
- Enter the regular expression below as the value and click "Apply"
Here is the regular expression to enter in the "Value" field to filter traffic from the main LLMs:
.*chatgpt.com.*|.*openai.com.*|.*perplexity.*|.*mistral.ai.*|.*copilot.microsoft.com.*|.*copilot.com.*|.*copilot.cloud.microsoft.*|.*gemini.google.com.*|.*claude.ai.*|.*meta.ai.*|.*grok.com.*
This rule can, of course, evolve and can also be completed if you wish to take into account other existing generative AI engines.

Remember, however, that while your analytics tool will provide valuable data on the conversions you generate via ChatGPT, Perplexity, or Claude, it will tell you nothing about the pages explored by their crawlers - and thus the pages likely to serve as sources in their responses. Yet, before being a traffic channel, GEO is an influence channel, and your goal is for your brand to be cited in these responses, hence the interest in more precisely monitoring your content used as a source.
Conclusion
Your analytics tool - if you have one installed on your site - can already provide useful indicators in GEO:
- Traffic generated by generative AI engines
- Conversions generated
However, limiting yourself to this data means missing the fact that a large part of your visibility in LLMs does not necessarily translate into a click to your site, but into a mention or citation in the ChatGPT, Gemini, or Perplexity response. And it is this mention that can then lead a user to discover your brand, consider it, or serve as a mark of reassurance, depending on the stage they are at in their purchase or decision process.
While prompt tracking can help evaluate your GEO visibility, it remains only an indication and faces several limits. Therefore, log analysis appears to be the only reliable method for tracking AI crawler activity on your site, specifically that of "user-fetch bots" - the robots triggered in response to a user action to retrieve the content of a page on your website, a sign it has very likely been used as a source in the LLM response.
Summary: GEO KPIs to track and associated method
| GEO KPIs to track | Method |
|---|---|
|
Analytics tool |
|
Log analysis |
|
Prompt tracking tool |