Skip to content
GistfulStart free
Measurement foundations

How to build a repeatable AI visibility scan

A practical protocol for recording engines, questions, locale, time, answers, and source links.

On this page
  1. Freeze the question set before the first scan
  2. Record the scope before you run it
  3. Run the same scope across the included engines
  4. Mark exceptions instead of repairing them after the fact
  5. Compare only a matching later scan

An AI visibility scan is useful when you can run it again without changing what the result means. Save the question, locale, engine scope, time, returned answer, and answer state. Then a later scan can be read as another observation of the same defined test.

Gistful currently checks ChatGPT, Gemini, Claude, and Perplexity. Its current scan record keeps the profile snapshot, exact question text, requested country and language, method, timestamps, answers, and cited sources when they are available. That is enough to inspect a result without treating it as a verdict on your work.

Freeze the question set before the first scan

Start with discovery questions a potential client could ask without knowing your name. A name-recognition question can diagnose what an engine associates with you, but it does not belong in discovery coverage. Give every discovery question one job: find an expert for a problem, compare fit for a buyer type, or investigate a decision.

Record the exact wording. Do not tidy it later and keep the old date. A word such as "independent," a buyer type, or a country can change who an engine treats as relevant.

For an illustrative pricing consultant, a small set could include:

QuestionJob
Which independent pricing strategists help B2B software teams choose packaging?Find an expert for a service.
Who can help a US B2B software company prepare for a pricing change?Test a geography-specific buyer situation.
What does Jordan Lee do in pricing strategy?Separate recognition check.

The first two questions can form a discovery series. The third belongs in a recognition report. The examples are prompts, not evidence of demand or a prediction that an engine will recommend anyone.

Record the scope before you run it

Use a record that another person can read without guessing what happened:

FieldRecord
QuestionsExact saved text and each question's purpose
Profile snapshotThe public facts supplied for the person at collection time
EnginesWhich of ChatGPT, Gemini, Claude, and Perplexity were included
Requested localeCountry and language selected for the scan
Collection detailsDate and time recorded with the scan
Answer stateReturned, missing, failed, or pending review
EvidenceFull answer text, cited links when present, and identity assessment

The requested locale describes the scope you asked Gistful to use. Gistful records a US or GB English locale. That record does not establish a physical browser or search location for every engine. Keep that limit in the report instead of adding a location claim the evidence cannot support.

Run the same scope across the included engines

Run the saved questions without editing them during the scan. Keep engine rows separate. A ChatGPT answer and a Perplexity answer are two pieces of evidence, not votes in a contest. They may return different people, cite different pages, ask for clarification, or fail.

When a result arrives, preserve the full answer before you summarize it. Open any cited page and check what it supports. OpenAI warns that web search results and citations can be incomplete, outdated, or wrong, and advises checking cited sources when accuracy matters. OpenAI's guidance describes that review step for ChatGPT Search.

For discovery coverage, count confirmed identity-supported mentions against returned discovery answers. A short answer, refusal, or clarification response still belongs in the returned-answer denominator. A missing or failed check is unmeasured and stays outside that denominator. Keep recognition rows out of the discovery figure.

Mark exceptions instead of repairing them after the fact

Suppose eight discovery checks return answers. Two answers need a follow-up because the name could refer to someone else. One answer asks the user to narrow the request. One engine request fails. Your record should show eight returned discovery answers, the two unresolved identity assessments, the clarification response, and one unmeasured failure. Do not delete the thin response because it makes the percentage uncomfortable.

An exception log can stay short:

CheckWhat happenedHow to report it
Gemini, question 2Returned a clarification requestReturned discovery answer; no supported mention established.
Claude, question 1Name could match two peopleReturned answer; identity review unresolved.
Perplexity, question 2No answer returnedUnmeasured check.

The log preserves the reason a numerator or denominator looks the way it does. It does not explain why an engine returned that answer.

Compare only a matching later scan

On a later date, run the same saved discovery questions with the same requested locale, profile scope, engine scope, and collection method. If you add an engine, change country, revise the profile facts, or rewrite a question, begin a new series for the changed scope. Keep the older result visible beside it rather than drawing a trend line through two different tests.

Google says that its search results may vary with location, language, device type, and current searches. It describes Google Search, not every engine in this scan, but it is a sound reason to preserve the conditions of any observed answer. Read Google's explanation.

Save the scope record with the answers, then use it when you rescan. A later change can be worth investigating. The record tells you whether you are looking at a new observation of the same question or a different question altogether.

Sources

Measure your starting point

See how AI answers questions about your expertise.

Start a free scan