AI visibility is harder to monitor than traditional search rankings. Instead of checking a single search result position, you are testing multiple prompts and AI surfaces, recording whether your brand appears, and reviewing the sources or citations that may accompany the answer. Repeating those checks through paid APIs can become expensive, especially when you are tracking several competitors.
This guide uses a Chrome extension to run those checks in the browser, capture the responses, detect brand mentions, and export the results as an HTML report or CSV. The goal is to answer a practical question: for the prompts you care about, how often does an AI surface mention your brand?
Before you start: separate discovery prompts from branded prompts
This distinction matters. A prompt such as “What are the best scrap metal marketplaces?” tests whether the AI discovers your brand without being prompted to mention it. A prompt such as “Is RecycleInMe legitimate?” already contains the brand name, so a mention is expected and should not be mixed into the same headline discovery score.
· Unbranded discovery prompts: category, local, problem/solution, and buyer-intent questions that do not name your brand.
· Branded or reputation prompts: questions that explicitly name your business.
· Comparison prompts: questions that name your brand and one or more alternatives.
Report these groups separately. Your cleanest discovery KPI comes from the unbranded set; branded and comparison prompts are better used to evaluate reputation coverage, answer quality, and competitive positioning.
Recommended audit record For repeatable comparisons, record the audit date, prompt set, AI surfaces enabled, number of prompts, target businesses, location or market context, and any important session conditions. AI answers can change between runs, so trends are more useful than a single one-off score. |
Step 1 - Download and install the extension
Download the codebase as a ZIP from GitHub and unpack it into a folder you will keep on your computer: https://github.com/whiteDigitalAI/Ai-Visibility-Chrome-Extention
1. Open chrome://extensions in Chrome.
2. Enable Developer mode in the top-right corner.
3. Click Load unpacked.
4. Choose the repository folder that contains manifest.json.
5. Optional: pin the extension from Chrome's Extensions menu so it is easy to reach.

Enable Developer mode before loading the unpacked extension.
Step 2 - Build your AI visibility campaign
Open the extension and enter the prompts you want to monitor, one prompt per line. A useful campaign usually combines several types of buyer questions rather than relying on one broad query. For this demonstration, we'll be running a sample audit on our sister company, RecycleINME.
· Prompts: one query per line, such as “What are the best scrap metal marketplaces?” or “Where can I find verified scrap buyers?”
· Target businesses: one business per line using the format name | aliases | domains. Aliases help catch alternative spellings or brand names.
· AI surfaces: enable the surfaces you want to test. In the sample run, ChatGPT and Google AI Overview are enabled and Perplexity is disabled.
· Delay and retries: use these controls to pace the run and retry failed extraction attempts without repeatedly hitting the browser session.

Example campaign setup with prompts, tracked businesses, engine selection, delay, and retries.
A useful testing habit Do not judge AI visibility from one prompt. A brand can be invisible for a broad category query and visible for a narrower buyer question. Keep a stable core prompt set over time, and add new exploratory prompts separately so trend comparisons remain meaningful. |
Step 3 - Run the batch
Click Start Batch. The extension works through each prompt × AI-surface combination, captures the response, and checks it against every target business. The run-status area separates completed checks, successful answers, unavailable surfaces, failures, and history.
Visibility rule: mentions ÷ eligible, successfully extracted business checks. Unavailable answers and technical failures should stay out of the visibility denominator; treating them as “brand not mentioned” would artificially push the score down.
Step 4 - Export the readable report
When the batch is complete, click Export Report. This produces an HTML summary that is useful for a quick review or for sharing the raw run results with a teammate or client.

Export Report creates the human-readable summary after the run completes.
The report summarizes raw mention rates by AI surface and by tracked business.

HTML summary from the sample run. Percentages are rounded for display.
Step 5 - Export the CSV for deeper analysis
The HTML report is convenient, but the CSV contains the detailed captured results. Click Export CSV to download the response text, mention flags, source fields, classifications, timestamps, and other fields used for analysis.

Export CSV downloads the detailed row-level dataset.
Understand the CSV structure before calculating anything
The exported file contains 24 columns. The key structural detail is that one AI response is repeated once for every tracked business. In the sample there are 20 prompts × 2 AI surfaces = 40 unique AI responses. With four businesses checked against every response, the CSV contains 160 rows.
Do not double-count response-level metrics Business visibility is calculated from the business rows. But answer length, source counts, source domains, URLs, and timestamps belong to the underlying AI response and are duplicated across business rows. Deduplicate those fields to one row per AI response before averaging or summing them. |
The fields you will use most often
CSV field | What it contains |
run_id | Campaign or run identifier. |
prompt | Prompt sent to the AI surface. |
engine | AI surface used for the response. |
business | Target business checked on this row. |
mentioned | Overall Yes/No brand-mention flag. |
in_answer | Whether the business was found in the captured answer. |
in_sources | Whether it appeared in captured sources or citations. |
snippet | Nearby text captured around a detected mention. |
source_domains | Semicolon-separated source domains used by the response. |
visibility_eligible | Whether the row should count in the visibility denominator. |
answer_text | Full captured answer text. |
source_urls | Semicolon-separated source URLs. |
timestamp | Time the response or result was captured. |
The export also includes fields such as in_text, in_thinking, status, classification, error detail, character counts, source text, and the AI/search-surface URL. Use them when you need to troubleshoot extraction or perform a deeper audit.
What the CSV does not measure
The export is useful for visibility, citation, reliability, source, length, and throughput reporting, but several tempting metrics are not present directly in the file:
· Numeric rank position inside an answer. The file records whether a business was mentioned and where it was detected, but it does not export an ordinal position such as #1, #2, or #3.
· Sentiment. A mention may be positive, neutral, or negative; there is no sentiment field in this CSV.
· Prompt search volume or commercial demand. Every prompt counts equally unless you bring in an external weighting model.
· True per-query latency. The timestamp helps describe run span and throughput, but there is no start/end timestamp pair for each individual request.
· Source authority or quality. The CSV records domains, URLs, and source text, but it does not score authority.
What the audit run tells us
Using the run and deduplicating response-level fields correctly, the campaign produced the following raw totals:
Metric | Result |
Prompts | 20 |
AI surfaces | 2 |
Target businesses | 4 |
CSV result rows | 160 |
Unique AI responses | 40 |
Eligible business checks | 152 |
Successful rows | 152 |
Unavailable rows | 8 |
Brand mentions | 28 |
Overall raw row-level mention rate | 18.42% |
Raw mention rate by business
Business | Mentions | Eligible | Raw mention rate |
RecycleInMe | 21 | 38 | 55.3% |
ScrapAd | 4 | 38 | 10.5% |
ScrapTrade | 3 | 38 | 7.9% |
Recycler's World | 0 | 38 | 0.0% |
Raw mention rate by AI surface
AI surface | Mentions | Eligible | Raw mention rate |
ChatGPT | 13 | 80 | 16.3% |
Google AI Overview | 15 | 72 | 20.8% |
RecycleInMe raw mention rate by AI surface
AI surface | Mentions | Eligible | Raw mention rate |
ChatGPT | 10 | 20 | 50.0% |
Google AI Overview | 11 | 18 | 61.1% |
Placement quality: 20 of the 21 detected RecycleInMe mentions appeared in captured text and in the answer, and 20 appeared in sources. None appeared in captured thinking, and all 21 had a snippet.
Response and source profile: The 38 successful unique responses contain 62,252 answer characters in total, averaging 1,638 characters per response (median 1,382; range 548–5,381). They contain 211 source references across 87 unique domains and 159 unique URLs, averaging 5.55 source references per response.
Most frequently cited domains in the sample
Domain | Source references | Share of references |
recycleinme.com | 33 | 15.6% |
justdial.com | 12 | 5.7% |
dir.indiamart.com | 11 | 5.2% |
scrapmonster.com | 9 | 4.3% |
scrapeco.in | 8 | 3.8% |
tradeindia.com | 7 | 3.3% |
scraprates.in | 6 | 2.8% |
Source-frequency caution: A domain appearing frequently in the sample means it was cited often in these captured responses. It does not, by itself, prove that the domain caused the brand mention or that the source is authoritative.
Optional: turn the CSV into a dashboard
The CSV can be summarized in a dashboard to compare businesses, AI surfaces, prompt-level results, and source patterns. The screenshots below show the type of view you can build from the exported dataset.

Example business-level dashboard and business × AI-surface heatmap.

Example prompt-level visibility chart and prompt × business heatmap.
If you use an AI model or another analysis tool to summarize the CSV, manually spot-check the underlying answers and mention matches. Page parsing and text normalization can occasionally change how a brand name is captured—for example, line breaks or spacing can cause a simple exact-match parser to miss an otherwise obvious mention.
If you want a ready-made dashboard rather than building one from scratch, you can use the sample dashboard referenced in the original workflow: Download the dashboard file
A reporting cadence that works
For ongoing tracking, keep a stable core prompt set and rerun it on a schedule. Compare trends rather than overreacting to one answer or one run.
· Report unbranded discovery prompts separately from branded and comparison prompts.
· Compare AI surfaces separately so gains on one surface do not hide declines on another.
· Track prompt-level wins and losses to see which buyer questions your brand is beginning to appear for.
· Track cited-mention rate and source domains to identify pages and sites that repeatedly appear alongside relevant answers.
· Keep unavailable and failed runs out of the visibility denominator.
· When possible, repeat the same audit conditions and record any changes to the prompt set or testing setup.
The takeaway
You do not need to burn through API credits just to answer the basic question: “Does ChatGPT or Google’s AI experience mention my brand for the prompts I care about?” This Chrome-extension workflow runs the checks in-browser and exports enough structured data to monitor mention rates, citations, prompt-level wins, and source patterns.
Start with a small, meaningful prompt set, separate unbranded discovery questions from branded questions, track only the competitors that matter, and rerun the same core campaign over time. Individual answers will move around. The trend in unbranded discovery, citation coverage, and prompt-level wins is the part worth watching.
Ready to Turn AI Visibility Into Growth? Tracking GEO is only the first step. SubmitInMe’s Generative Engine Optimization service focuses on improving how often your brand appears across AI answers, recommendations, and cited sources, without requiring you to manage the monitoring workflow yourself. Learn more about SubmitInMe Generative Engine Optimization |