How to Check Your Brand’s Visibility and Perception in ChatGPT
AI visibility refers to how frequently and accurately Generative AI models like ChatGPT recommend, cite, or describe your brand. Because Large Language Models (LLMs) operate on probabilistic token prediction and optional live web retrieval, monitoring your presence requires structured prompting and API-driven evaluation.
1. Manual Prompt Testing Framework
To check what ChatGPT says about your brand manually, test across four distinct query types using standard, uncustomized chat sessions (incognito mode or fresh threads to avoid personal personalization bias):
- Direct Entity Query:
"What is [Brand Name], and what are its main pros and cons?"— Evaluates base knowledge and dominant sentiment in training data. - Category Discovery (Unbranded):
"What are the top 5 tools for [Industry/Use Case]?"— Measures Share of Voice (SoV) and recommendation rank against competitors. - Competitive Comparison:
"Compare [Brand Name] vs [Primary Competitor] for [Target Audience]."— Evaluates positioning, feature accuracy, and target market mapping. - Live Web Retrieval Test: Enable web search and run:
"What are current user reviews saying about [Brand Name] in 2026?"— Evaluates live index sources and real-time sentiment aggregation.
2. Automated Visibility Audits via OpenAI API
Manual testing introduces bias and fails to account for output variability. Running automated checks over multiple runs with a low temperature provides statistical accuracy.
The following Python script uses the OpenAI API to query category prompts, analyze brand inclusion, and return structured JSON metrics:
import json
from openai import OpenAI
client = OpenAI(api_key="YOUR_OPENAI_API_KEY")
def audit_brand_visibility(brand_name: str, category_query: str) -> dict:
prompt = f"""
Evaluate the following search query: "{category_query}"
1. Does the response recommend or mention {brand_name}?
2. What position is {brand_name} ranked in the recommendation list? (0 if omitted)
3. What is the overall sentiment associated with {brand_name}? (Positive, Neutral, Negative, N/A)
4. What core attributes or features are highlighted?
Return response strictly as JSON with keys: mentioned (bool), rank (int), sentiment (str), attributes (list).
"""
response = client.chat.completions.create(
model="gpt-4o",
temperature=0.2,
messages=[
{"role": "system", "content": "You are an objective brand visibility auditor. Respond only in JSON."},
{"role": "user", "content": prompt}
],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
# Example Execution
query = "What are the best enterprise CRM tools for modern sales teams?"
result = audit_brand_visibility("HubSpot", query)
print(json.dumps(result, indent=2))
3. Key Metrics to Track
When measuring LLM visibility, track four core quantitative metrics across a sample size of at least 10–20 API runs per query to offset non-deterministic outputs:
- Recommendation Rate (Share of Voice): The percentage of test runs where your brand appears in non-branded category queries.
- Average Rank Position: Your brand's mean numeric position when listed in top recommendations.
- Attribute Co-occurrence: The specific keywords, use cases, and target audiences LLMs consistently tie to your brand entity.
- Source Attribution: For queries utilizing web browsing, track which canonical domains (G2, Reddit, official site, industry blogs) ChatGPT pulls from to form its response.
4. Interpreting Results and Output Variance
ChatGPT responses depend on two systems: pre-trained parametric memory and real-time search indexes. If your brand appears in web-enabled queries but not in standard base model queries, your brand lacks sufficient historical entity representation in training corpora. Conversely, negative sentiment usually stems from aggregated third-party review sites indexed during web browsing mode.
Need this done fast? order an AI-visibility audit on Kwork.
I take on freelance fixes and builds in this area.