You can track AI search visibility without buying a dedicated platform, but you need to measure several different signals instead of treating “AI visibility” as one number. A practical free workflow combines Google Search Console’s generative AI report, a controlled prompt-and-citation log, Google Analytics referral data, and crawler logs kept in separate evidence layers.
This guide shows how to track AI search visibility in Google Sheets without inventing rankings or claiming that a small prompt sample represents every answer shown to every user. You will create a repeatable prompt set, verify mentions and citations, import official Google AI impression data, calculate transparent rates, and turn observations into prioritized checks.
Quick Answer: How Can You Track AI Search Visibility for Free?
Use Google Search Console’s Generative AI performance report for verified impressions from AI Overviews and AI Mode. For ChatGPT and other assistants, run a fixed set of brand-neutral prompts under documented conditions and record whether the brand is mentioned, whether the website is cited, and which URL is linked. Keep GA4 visits and crawler requests separate: a referred visit proves a click, while a crawler request proves only that a bot requested a resource.
Key Takeaways
- There is no single free metric that measures every AI answer, mention, citation, impression, visit, and business outcome.
- Google Search Console provides first-party generative-AI impression data for supported Google Search features.
- A manual prompt log is a sample of controlled observations, not a census of all ChatGPT or assistant results.
- Mentions, citations, impressions, referral visits, and crawler requests answer different questions and should not share one denominator.
- Use trends across repeated, documented checks; do not treat one answer or one week as proof that an optimization caused a change.
The Five Signals in a Free AI Visibility Workflow
Before building the sheet, define each signal. This prevents a common reporting mistake: combining evidence from unrelated systems and calling the result an “AI ranking.”
| Signal | What it proves | What it does not prove | Free source |
|---|---|---|---|
| AI impression | A link from your site was shown in a supported Google generative-AI feature | That the user clicked, read, or remembered it | Search Console Generative AI report |
| Brand mention | Your brand appeared in one recorded answer | That your website was used as a source | Manual prompt log |
| Website citation | An answer linked to a URL on your domain | That the citation was accurate or generated traffic | Manual citation check |
| Referred visit | A measurable session arrived after a link click | Total mentions, citations, or exposure without a click | Google Analytics |
| Crawler request | A bot or fetcher requested a resource | That any user-facing AI answer included your content | Server or CDN logs |
This model complements generative engine optimization and answer engine optimization. Those disciplines improve content and technical foundations; the workflow here measures observable outcomes without claiming that a format guarantees citations.
What Google Search Console measures
Google’s Generative AI performance report covers impressions from AI Overviews and AI Mode. Google says the report was rolled out worldwide by August 31, 2026. It can break data down by pages, countries, dates, devices, and text-based or multimodal web search. The report may be absent when a property has not received enough qualifying impressions or has been excluded from Search generative-AI features.
The dedicated report does not provide a query dimension in its documented views. It tells you which pages appeared and where or when impressions occurred, but it does not replace a carefully designed prompt log for understanding individual questions.
What a ChatGPT citation check measures
Official OpenAI documentation for ChatGPT web search says search results and citations appear when ChatGPT uses web search. A manual check can therefore record whether a particular answer mentioned the brand or cited the site. It cannot establish how often all users saw that answer, because account settings, location, context, product availability, and answer generation can vary.
What GA4 measures
Google Analytics classifies known assistant referrals in its AI Assistant channel. Under Google’s current default channel definitions, the medium is ai-assistant; Google AI Overviews and AI Mode are excluded from that channel and belong to Organic Search. GA4 therefore measures identifiable visits after clicks, not all AI mentions or citations. Do not relabel unknown Direct traffic as AI exposure.
What crawler logs measure
Crawler logs belong to technical eligibility, not visibility reporting. Google’s official crawler documentation explains that crawlers fetch information for search indexes, product-specific tasks, and analysis. A request in a log confirms access to a URL; it does not confirm an impression, citation, mention, or recommendation. The same distinction applies when reviewing the roles of OAI-SearchBot and GPTBot.

Prerequisites for a Repeatable Measurement Set
Prepare these items before collecting observations:
- A verified domain identity: Record the brand name, domain, common abbreviation, and any similarly named entities that could create false matches.
- A defined market: Choose a country and language. Record them for every run.
- A fixed prompt set: Start with a manageable list of real audience questions. There is no universal ideal count; completeness and repeatability matter more than size.
- Access to relevant surfaces: Use only the assistants and Google features legitimately available to your account and market.
- A Google Sheet: Keep source prompts, raw observations, official exports, calculations, and decisions on separate tabs.
- A review rule: Decide what counts as a mention, an owned citation, a valid URL, and an ambiguous result before collecting data.
Do not include private customer data, credentials, unpublished strategy, or personal information in prompts. If multiple people collect data, document the same rules for everyone.
Step 1: Build the Google Sheets Workbook
Create five tabs:
| Tab | Purpose |
|---|---|
| Prompt_Set | The frozen prompt IDs, wording, intent, audience task, market, and target topic |
| Run_Log | One row for every prompt, platform, and collection date |
| GSC_AI | Exports from the Search Console Generative AI report |
| Summary | Transparent calculations by platform, topic, date, and evidence type |
| Action_Register | Observed gaps, supporting evidence, proposed checks, owner, and follow-up date |
Do not overwrite earlier runs. Append new rows so the sheet retains an audit trail.
Step 2: Create a Prompt Set Without Biasing the Result
Choose prompts from real customer questions, search queries, sales conversations, support tickets, and tasks your content genuinely answers. Divide them into useful intent groups:
- Definition: “What is generative engine optimization?”
- Problem solving: “How can a small site diagnose pages that are not being cited?”
- Comparison: “What is the difference between AEO and GEO?”
- Process: “How do I measure visibility in AI-generated answers?”
- Branded quality control: “What does ExampleSite teach about technical SEO?”
Use mostly brand-neutral prompts when measuring discovery. A prompt containing the brand name tests how the system describes a known entity; it should not be counted as unprompted visibility. Keep branded and unbranded results in separate segments.
Give each prompt a permanent ID such as P001. Freeze the wording for the baseline period. If a prompt must change, create a new version instead of silently replacing the old one.
Step 3: Use a Consistent Collection Protocol
For each manual run, record these columns in Run_Log:
| Column | Example value | Why it matters |
|---|---|---|
| run_date | 2026-10-11 | Answers and features can change over time |
| market | United States / English | Availability and results may vary by market |
| platform | ChatGPT Search | Never combine platforms before calculating their own rates |
| prompt_id | P004 | Connects the observation to frozen wording |
| result_status | Answered | Separates answers from errors or absent AI results |
| brand_mentioned | Yes / No | Measures explicit name presence |
| site_cited | Yes / No | Measures owned-domain links |
| cited_url | Exact public URL | Identifies the source page |
| citation_valid | Valid / Broken / Mismatch | Confirms that the link resolves and supports the claim |
| session_state | New chat, signed in | Documents a factor that may influence results |
| evidence_note | Short factual observation | Preserves context without inventing a score |
Use a new conversation when possible, keep the same market and language, and do not add follow-up context before the tracked prompt. If web search was not used and no sources were shown, record that condition instead of treating an unlinked answer as a citation failure.
Step 4: Verify Every Citation
A domain string in an answer is not automatically a usable citation. Open the cited link and check:
- Does it resolve to the recorded URL without an unexpected error or unrelated redirect?
- Is it on your owned domain rather than a third-party page that merely mentions the brand?
- Does the page actually support the statement attributed to it?
- Is the cited page current, indexable, and canonical?
- Does the answer name the brand, cite the site, do both, or do neither?
Record those states separately. A brand can be mentioned without a link, and a URL can be cited without the brand name appearing prominently in the generated text.
Step 5: Add First-Party Google AI Impression Data
Open Search Console’s Generative AI performance report and export the available chart and table data. Store the export unchanged in GSC_AI, then add a separate notes column if you need interpretation. Track:
- Total generative-AI impressions over time
- Pages receiving impressions
- Countries and devices
- Text-based versus multimodal web search, where available
- Preliminary periods and documented data anomalies
Do not infer the missing query from a page topic. The report’s page dimension shows the URL that appeared, not the exact prompt or query that produced the impression. Keep official impression data separate from manual prompt observations.
Step 6: Calculate Transparent Rates
Assume Run_Log uses column C for platform, F for result status, G for brand mention, H for owned-site citation, and J for citation validity. These Google Sheets formulas produce simple, auditable rates:
| Metric | Formula | Interpretation |
|---|---|---|
| Answered runs | =COUNTIF(F2:F,"Answered") | The denominator for manual visibility rates |
| Mention rate | =IFERROR(COUNTIF(G2:G,"Yes")/COUNTIF(F2:F,"Answered"),0) | Share of answered sample runs that named the brand |
| Owned citation rate | =IFERROR(COUNTIF(H2:H,"Yes")/COUNTIF(F2:F,"Answered"),0) | Share of answered sample runs linking to the owned site |
| Valid citation rate | =IFERROR(COUNTIF(J2:J,"Valid")/COUNTIF(H2:H,"Yes"),0) | Share of recorded owned citations that passed verification |
| ChatGPT mention rate | =IFERROR(COUNTIFS(C2:C,"ChatGPT Search",F2:F,"Answered",G2:G,"Yes")/COUNTIFS(C2:C,"ChatGPT Search",F2:F,"Answered"),0) | Platform-specific mention rate for the tracked sample |
Label every rate with its prompt set, platform, market, and date range. “Three citations from ten answered US-English checks” is meaningful. “30% AI visibility” without a denominator is not.
Illustrative Worked Example
The data below is fictional and exists only to demonstrate the calculations. It is not a test of HowToLearnSEO.com, any AI platform, or any real company.
| Run | Platform | Status | Brand mentioned | Owned site cited | What the reviewer records |
|---|---|---|---|---|---|
| P001 | ChatGPT Search | Answered | Yes | Yes | Link resolved and supported the claim |
| P001 | Google AI Overview | No AI result | No | No | Excluded from answered-run denominator |
| P002 | ChatGPT Search | Answered | Yes | No | Brand named without an owned link |
| P002 | Google AI Mode | Answered | No | No | Competitor source shown |
| P003 | ChatGPT Search | Answered | No | No | No owned evidence |
| P003 | Google AI Overview | Answered | No | Yes | Owned URL cited without brand name |
| P004 | ChatGPT Search | Answered | Yes | Yes | Brand and owned URL both present |
| P004 | Google AI Mode | Answered | No | No | No owned evidence |
Seven runs produced an answer. Three mentioned the fictional brand, so the sample mention rate is 3 ÷ 7 = 42.9%. Three cited the owned site, so the owned citation rate is also 42.9%. These rates describe only this defined sample; they are not market share, total exposure, or a universal GEO score.
Step 7: Convert Observations Into a Repair Register
A measurement sheet is useful only when it leads to evidence-based checks. Add each potential action to Action_Register with the affected prompt, URL, platform, evidence, proposed check, owner, and review date.
| Observed pattern | What it may mean | Next check | Safe response |
|---|---|---|---|
| Google AI impressions rising; visits flat | More appearances without proportional clicks | Compare pages, dates, Organic Search engagement, and conversion data | Improve the cited page for the reader; do not assume traffic tracking is broken |
| Brand mentioned; owned site not cited | Entity awareness may come from another source | Review cited sources and the accuracy of the description | Strengthen clear, source-backed information on the relevant page |
| Owned URL cited; claim mismatched | The page may be ambiguous or outdated | Compare the answer with the exact cited passage | Clarify the visible content and update factual support |
| Crawler requests; no observed visibility | Technical access exists, but serving is unproven | Check indexing, snippet eligibility, content value, and prompt fit | Fix confirmed blockers; do not claim crawler traffic as exposure |
| Results vary across repeated runs | Generated answers are variable | Compare the same prompt under documented conditions over time | Report the range and avoid reacting to one run |
Technical eligibility is only one layer. Google says pages must be indexed and eligible for a Search snippet to appear as supporting links, but it also says there are no extra technical requirements and inclusion is not guaranteed. See Google’s AI features and your website guidance. Content updates should remain useful and evidence-led, following the principles in this guide to writing AI-safe content.
AI Visibility Measurement Quality Checklist
- The prompt wording, market, language, platform, date, and session state are recorded.
- Branded and unbranded prompts are segmented.
- Errors and absent AI results are excluded from the answered-run denominator.
- Mentions and citations are recorded in separate columns.
- Every cited URL is opened and verified.
- Search Console exports remain separate from manual prompt observations.
- GA4 visits are reported as identifiable click-through traffic, not total exposure.
- Crawler requests are reported as access signals, not mentions or citations.
- Changes are evaluated across repeated periods without claiming causation from short-term movement.
- No result is described as a guaranteed ranking, citation, or traffic outcome.

Troubleshooting Common Measurement Problems
| Problem | Cause | Correction |
|---|---|---|
| The Google report is missing | The property may lack enough qualifying impressions or may be excluded | Check the documented eligibility setting and continue with other evidence without treating zero rows as a technical failure |
| ChatGPT shows no citations | Web search may not have been used for that answer | Record the answer state accurately; do not score it as a broken citation |
| The brand appears in every result | The brand name may be included in the prompt | Separate branded quality-control prompts from unbranded discovery prompts |
| Rates change sharply | A small sample or changed conditions can amplify variance | Check row counts, prompt versions, markets, platform modes, and collection dates before interpreting the movement |
| GA4 shows Direct instead of AI Assistant | Referrer information may be unavailable | Leave the traffic classified by available evidence; do not reassign Direct sessions based on a guess |
| Crawler volume increases | A bot is requesting more resources | Verify the user agent and technical impact, but keep the event out of the visibility scorecard |
Limitations of Free AI Search Visibility Tracking
A manual prompt set is intentionally small and controlled. It cannot represent every user, conversation, follow-up, location, account, language, model, or answer variation. Even consistent collection does not turn the sample into total platform market share.
Search Console’s report is stronger first-party evidence for Google features, but it covers supported Google generative-AI impressions rather than ChatGPT or other assistants. GA4 begins only after a measurable visit. Crawler logs begin with access. No one layer fills every gap.
Use the workflow to identify patterns and questions worth investigating. Do not use it to promise AI citations, infer hidden exposure from Organic Search or Direct traffic, or claim that one content change caused short-term movement. If readers consume an answer without clicking, the effect may not be measurable as a website session; that is part of the broader zero-click search problem.
Frequently Asked Questions
Is AI search visibility the same as an SEO ranking?
No. A traditional ranking normally refers to a page’s position for a query in a defined search result. AI answers can vary, use several sources, omit links, and change with context. A prompt-based mention or citation rate describes a documented sample of answers. Label it as such instead of calling it a universal AI rank.
How many prompts should I track?
Use the smallest set that covers your important audience tasks and that you can repeat consistently. There is no universal magic number. A carefully reviewed set of stable prompts is more useful than hundreds of weak or changing prompts. Add prompts when a new customer task or content area matters, and version them rather than overwriting the baseline.
How often should I run the manual checks?
Choose a cadence your team can maintain under the same documented conditions. Weekly or monthly checks may be practical, but the correct interval depends on the size of the prompt set and the decision it supports. Avoid daily reactions to individual answers. Evaluate trends across several comparable periods and record product or content changes alongside the observations.
Does an AI crawler visit mean my page was cited?
No. A crawler or fetcher request shows that a system requested a resource. It does not prove the page was indexed, selected, mentioned, cited, or shown to a user. Keep crawler activity in a technical-access report. Record visibility only when a supported first-party report or a documented answer observation provides that evidence.
Can GA4 show every visit from ChatGPT and other assistants?
GA4 can classify identifiable assistant referrals, including traffic matching its AI Assistant rules. It cannot reveal mentions or citations that did not produce a visit, and some clicks may arrive without usable referrer information. Do not convert Direct traffic into assumed AI traffic. Use GA4 as the click-through and outcome layer, not a complete visibility tracker.
Should I combine mentions, citations, impressions, and visits into one score?
Usually not. Each metric has a different source, denominator, and meaning. A single score can hide whether movement came from Google impressions, sampled assistant answers, or actual visits. Report the layers separately first. If an organization later creates a composite index, document its weights and limitations and never present it as a platform-provided ranking.
Conclusion
The best free way to track AI search visibility is a layered evidence system. Use Search Console for verified Google generative-AI impressions, a controlled prompt log for observed mentions and citations, GA4 for identifiable visits, and server logs for technical access. Keep the definitions and denominators separate.
A transparent sheet will not reveal every hidden AI interaction, but it will show what you actually observed, which pages appeared, which citations were valid, and what deserves investigation next. That is a stronger foundation for GEO decisions than an unsupported visibility score or a one-off prompt result.
