How Achtung.app measures AI visibility
Achtung.app connects three data streams brands usually look at separately: mentions in AI answers, real search demand from Google Search Console, and signals from competitors and the wider market. That reveals where classic search and AI recommendations diverge.
This page documents how Achtung.app measures. If something isn't yet reliably measurable, you'll find it below under "What Achtung.app does not yet measure".
Search-grounded measurement
Search-grounded means the AI model performs a live web search on every query and cites the sources it finds. Closed-book means the model answers from training data, whose cutoff is months or years old. Achtung.app only measures visibility in search-grounded mode.
Four reasons Achtung.app uses search-grounded over closed-book
- Closer to actual usage. ChatGPT, Gemini, Perplexity, and Claude all run with live web search in their consumer products today. A closed-book API call measures the model's memory of training data, not what a model finds on the web for the query. That would be a category error: brand recall instead of AI visibility. Achtung.app measures the officially offered, web-grounded answers of each provider and deliberately does not reproduce the personal session of an individual user: account history, personalisation and interface experiments stay out, so that measurements remain comparable over time.
- Citations are auditable for the customer. A search-grounded response carries URLs. You click, verify, confirm: "Yes, our brand is on that page, that's the source the model cited." Closed-book gives no such audit trail; neither the customer nor Achtung.app could tell whether a mention was real or hallucinated.
- Closed-book favors older brands. Training data has a cutoff. Brands that were prominent before that date dominate; newer or fast-growing brands are systematically under-weighted. Search-grounded ignores the cutoff and works against the current web index.
- Variance stays measurable. Closed-book outputs shift with every model update; a fine-tune in November can change rankings without anything having moved in actual visibility, and from the outside that jump is indistinguishable from a real change. Search-grounded responses are anchored to live search results that Achtung.app can observe itself. How much the answers still fluctuate is not smoothed away, it is measured.
Four providers answer the queries with live web search and return citations with URLs. From the Starter tier up, three of them run daily: ChatGPT (OpenAI), Gemini (Google), and Perplexity. Claude (Anthropic) was added in May 2026 and runs weekly due to higher API cost. On the Lite tier all four are queried weekly. Methodologically Claude is fully comparable to the other three, just refreshed less often.
How reliably that search happens differs by provider. On ChatGPT and Claude, Achtung.app forces the search tool on every single call. Perplexity searches by design. Gemini cannot be forced: the Google search tool offers no switch for it, so the model decides per call.
How often Gemini searches on its own
Gemini ran a live search on 74.2 percent of 3,932 visibility queries over the last 30 days. For the rest, Achtung.app repeats the query once. If Gemini still does not search, Achtung.app discards the data point rather than counting a training-data answer toward the score. That is why the claim above holds: what does not meet the condition is not counted.
As of 22. August 2026. The figure is recalculated continuously from our own measurement runs, including when it falls.
How this choice differs from other measurement approaches, and why two tools can rate the same brand differently, is laid out in the neutral overview of measurement methods
Measurement access: documented interfaces instead of scraping
Achtung.app measures exclusively through the documented interfaces of each provider. Achtung.app does not scrape search result pages, does not automate chat or search interfaces, and does not circumvent CAPTCHAs or anti-bot systems. There is also no third-party vendor sitting between Achtung.app and the AI providers, passing measurements along.
This is not only a technical decision, it is part of the measurement methodology. Unofficial access paths can be blocked, changed or routed through different infrastructure. Measurements could shift as a result even though a brand's visibility has not changed at all. A decline in your chart should mean a change in observed visibility, not the silent failure of an access path.
That is why Achtung.app only adds a platform to ongoing monitoring once it is reliably measurable through an access path intended for that purpose. Web search data comes from the Brave Search API, an independent search index with a documented interface. Brand websites are fetched directly, for example to check whether a domain exists and is reachable. That belongs to the hygiene checks, not to visibility measurement.
Where do AI platforms cite from?
Every search-grounded answer carries the sources the model uses to back its statements. Achtung.app stores these sources per answer and analyses them per provider: which domains get cited, how often, and whether an established source disappears again.
The analysis counts each domain at most once per answer and filters out technical artifacts such as embedded image URLs. The result is a per-provider profile of preferred third-party sources: industry directories, review platforms, forums, video platforms, Google Business profiles, and the trade media of each niche.
The providers differ markedly. Which platform favors which sources is published with concrete numbers and sample sizes in the insights: Read the current source analysis
In ongoing tracking, Achtung.app shows per brand which sources each provider actually cites. Published aggregates come exclusively from Achtung.app's own measurement series.
Blind measurement
Achtung.app asks AI assistants for recommendations in a niche without naming the brand or its domain in the query. Only when a model surfaces a brand on its own does it count as an organic citation.
This is intentionally stricter than tools that ask AI directly about a brand. An answer like that shows the model knows the brand. It does not show unprompted visibility on brand-free questions. Learn more about GEO →
Each keyword is queried more than once, never just a single time. Achtung.app therefore also measures how reliably a mention comes back, not only whether it appeared once. The next section covers how that works.
Double queries and answer variance
Generative answers can differ even when the same question was asked. Achtung.app therefore runs every tracked query twice per provider per day and averages both runs into AI Prominence. A single answer is a sample, not a measurement.
The two runs draw their wording independently from the active question templates for that niche. Most of the time they are two different phrasings of the same question. That is intended: a brand that only appears under exactly one phrasing is not as visible as one that appears under several.
The sampling parameters stay fixed throughout. Every visibility query runs at temperature 0. A fixed seed is not available for the search-grounded measurement: Perplexity, Gemini and Claude offer no such parameter, and at OpenAI the forced web search runs through the Responses API, which does not accept one. Temperature 0 does not make a model deterministic, it only lowers sampling variance. Whatever differs between two runs therefore comes mostly, though not exclusively, from the live web search behind it.
When both runs happen to draw the same phrasing, that creates a genuine control pair: same question text, same parameters, both collected in the same daily batch. From those pairs Achtung.app computes weekly how much the brands named in the two answers overlap, separately per provider and only within the same model. A model swap mid-series therefore cannot disguise itself as a change in stability.
That comparison only holds if it is fixed which model answers. Where a provider offers dated snapshots, Achtung.app requests the snapshot rather than the floating alias, which can be swapped out behind the scenes. Independently of that, Achtung.app stores the model identifier that actually answered with every single answer. That identifier is printed in the monthly report below the provider figures. Two consecutive reports therefore show a model change in plain text instead of letting it surface as a change in visibility.
That curve is recomputed continuously, including when it falls. Current values with sample size and window are published in the field notes: See how stable AI platform answers are
The tracking carries the matching number per brand: when a provider names your brand on a given day, how reliably does it appear again in the second run? Achtung.app only shows that value from 20 evaluated groups upwards. Below that it is not dependable, and no number beats a shaky one.
AI Prominence
AI Prominence is a brand's visibility value from 0 to 100, recalculated daily from the Starter tier up and weekly on Lite. It is composed of six factors. The weighting may change as Achtung.app gathers more data; the factors themselves and their definitions are stable.
- Mention Frequency – share of queries that mention the brand at all. What is counted is the brand being named in the answer, not the website being linked as a source.
- Mention Breadth – share of AI platforms that mention the brand. Measures distribution rather than volume.
- Recommendation Strength – how actively a mention is framed as a recommendation, from neutral mention to explicit top pick.
- Position – where in the response the brand appears. Earlier mentions count more than later ones.
- Sentiment – tone of the mention (positive/neutral/negative).
- Trend Momentum – change in mention rate against the previous period.
Quality scaling
Quality factors are scaled relative to the amount of data available. This prevents brands with one very positive mention from dominating the score. Less data produces a more cautious score – not a better one.
An outage is not a loss of visibility
When a measurement source fails, Achtung.app treats that as a missing measurement, not as a loss of visibility. Every share is computed across the providers and queries that actually answered that day. A brand therefore loses no points because a provider went silent or because an answer failed the grounding condition. A decline in the chart should mean a change in observed visibility, nothing else.
Hallucination filter
AI models invent brands. Before competitor profiles are stored, Achtung.app runs them through two independent checks: does the domain exist, and is the website reachable?
Profiles that fail both checks are dropped. This catches obvious fakes but not all of them: domains that exist yet have nothing to do with the niche can still slip through. Achtung.app is working on it.
Search Console fusion
Brands can connect their Google Search Console to Achtung.app. Achtung.app reads clicks, impressions, CTR and position per query. The connection is optional and separate from tracking – a brand can be tracked fully without GSC.
Achtung.app uses GSC for one thing that does not work without it: detecting signals of generative search results displacing organic clicks. When Google produces its own AI-generated answer, classical visibility metrics no longer tell the full story.
That detection is a heuristic, not a report from Google. Achtung.app looks through the GSC data for queries that are phrased as a question, carry enough impressions, rank near the top and still get almost no clicks. That is a well-founded suspicion that a generative answer sits above the result, not proof of one, and it is labelled as such.
Since June 2026 Google has provided a dedicated report on generative search features for a portion of Search Console properties. It is first-party, but so far it is only available in the interface and not through the documented Search Console API. It reports impressions only, lumps AI Overviews and AI Mode together, and covers verified own properties exclusively, so no competitors. Achtung.app will integrate that data as soon as it is retrievable through an official interface. Until then the heuristic above remains the approximation that is possible without official access.
GSC data never leaves the system. Achtung.app does not publish brand-specific GSC numbers, neither inside another team's brand portal nor in the public field notes.
Market signals: news and competitors
Achtung.app collects news daily via the Brave News API for the brand and its detected competitors. Brands in fast-moving verticals (tech, finance, sports, breaking news) can additionally enable an xAI search on X/Twitter, which surfaces verified posts mentioning the brand. Every X URL Achtung.app surfaces comes from xAI's search index, not from model output, so the citation chain is auditable end to end. Each item is then scored by an LLM for relevance and potential business impact before it surfaces as an alert.
The score is an approximation, not a verdict. An article with a high relevance score is one Achtung.app believes deserves attention – not a guaranteed business threat.
Alerts and thresholds
Achtung.app runs six detectors every day, covering the following eight thresholds between them, each with its own minimum data window and cooldown so your inbox does not fill up with background noise. Every alert carries a severity: critical, warning, or info.
- AI Prominence: today's score deviates by at least 5 points from the 7-day average (10 points or more is critical).
- Provider drop: visibility on a single provider falls by at least 15 points vs that provider's own 7-day average (30 points or more is critical).
- Provider concentration: more than 60% of all citations across your tracked queries come from one provider, which leaves you exposed to that provider's algorithm shifts.
- Competitor surge: an existing competitor gets cited more than 50% more often, based on its own 7-day average; or a new competitor shows up on at least three of the last seven days.
- Lost source: a third-party domain that appeared at least three times in the last 14 days (alongside your brand in half of those) has gone silent for three days.
- High-impact news: a news article about your brand today scores at least 75 for relevance and 70 for business impact (impact 85+ is treated as a warning).
- Negative framing: at least two mentions in the last three days judge your brand negatively, and they account for at least one in ten analysed mentions (always critical).
- Fading recommendation: the share of positively framed mentions falls by at least 15 points over the last three days against the eleven days before (25 points is critical when fewer than two in five mentions are still positive). Requires 15 analysed mentions in the recent window and 30 in the prior one.
The daily digest goes out once score calculation completes. Users pick per severity and per channel (email or push) what they want to see.
Vertical reports
For selected niches, Achtung.app publishes free vertical reports at /branche/{niche}, listed in the /branchen directory. The data is licensed under CC BY 4.0: brand names, rankings and aggregates may be reused with attribution.
Each report puts two sources of visibility side by side. On the AI side, the same search-grounded providers as in the subscriber tracking answer typical niche queries, each query run multiple times per provider; every report lists the providers it actually used. The web side comes from the Brave Search API for the same queries.
Counting is per brand, not per domain: hubspot.de, blog.hubspot.de and hubspot.com are one entry, in both channels.
The ranking in a report is not a 0-100 score but a comparison within the niche: citation frequency, average position in the AI answer, SERP rank, plus an overlap comparison between the AI top 10 and the web top 10. SERP data is collected weekly, AI data once per report run. Browse all vertical reports
Free visibility scan
The public visibility scan at /en/ai-visibility-check asks ChatGPT and Gemini blindly for recommendations in the entered niche and delivers a result by email within minutes. It is intended as an entry point, not a replacement for ongoing monitoring.
The scan score is deliberately more conservative than the continuously recalculated AI Prominence of a subscriber account. It averages only two of the six factors above: citation frequency and model breadth. Sentiment, position weighting, recommendation strength and trend momentum are not included. Reason: a one-off scan has neither historical baselines nor the query depth that would make those factors reliable.
The result is directional, not conclusive. It shows whether and in which models a brand appears in its niche. It does not replace ongoing monitoring and is not directly comparable to a brand's subscriber score. Run a scan
What Google itself recommends for AI optimization
Google has published an official guide for optimizing for AI Overviews and AI Mode. Four points stand out in the "GEO" or "AEO" conversation.
- No special files. Files like llms.txt and AI-specific markup do nothing. The same crawl-and-index hygiene that makes a page findable in classic search makes it findable in AI answers.
- No AI writing style, no content chunking. Rewriting content for machines or breaking it into tiny pieces is explicitly not recommended. Write for humans.
- Schema.org is part of normal SEO hygiene, not an AI lever. Structured data qualifies pages for rich results and feeds the Knowledge Graph, but Google states it is neither a requirement for the AI features nor a direct factor for AI citations.
- Manufactured brand mentions don't work. Purchased or seeded mentions produce no measurable AI effect and can violate Google's spam policies.
In practice: there is no technical shortcut to AI visibility. Appearing in answers from ChatGPT, Gemini or Perplexity requires real coverage in the sources those models search live on every query.
Google's guide covers Google's own AI features. ChatGPT and Perplexity use different infrastructure but the same basic pattern: live web search per query, then a cited answer. What improves findability in classic search results generally also improves the odds of being named in AI answers.
That is where Achtung.app comes in: not on the question of how to build that coverage, but on whether it actually lands in real AI answers, per provider, per keyword, run after run.
Source: Google, AI features and your website.
What Achtung.app does not yet measure
This list is intentionally public. It changes when Achtung.app adds something — and it's the most honest answer to where the product stands today.
- Forecasting future visibility. Achtung.app observes trends; it does not predict them.
- Direct revenue attribution. Achtung.app does not automatically connect visibility to clicks, leads or revenue. It is on the roadmap.
- Recommendation workflows. Insights today are text, not trackable tasks.
- Complete hallucination detection. The filter catches obvious inventions but not all of them.
- Google AI Mode as a separate measurement source. There is no publicly documented access path for automated answer measurement.
- Paid placements inside AI interfaces, such as ChatGPT Ads. What gets measured is the answer itself, not the ad block next to it.
Why Achtung.app does not measure Google AI Mode separately
Google AI Mode is currently not accessible through a publicly documented interface for automated answer measurement. Achtung.app does not substitute a missing official interface with SERP scraping or browser automation, and does not buy the data from a scraping vendor either.
Gemini with Google Search grounding runs as its own Gemini measurement and is never reported as Google AI Mode. These are two different surfaces with different retrieval logic. As soon as Google provides an officially intended automated access path to AI Mode, the platform can be added as its own measurement source.
Why ChatGPT Ads do not show up in the measurement
From 24 August 2026, ChatGPT also shows ads in the DACH region. They appear only for people on the Free and Go plans, are labelled as ads, and sit in their own block, visibly separated from the answer. According to OpenAI they do not influence the answer: the model composes it without knowing which ad will run alongside it.
Achtung.app measures through the documented API, and that returns the answer without the ad block. AI Prominence therefore describes the organic answer layer and cannot be moved by ad spend. Paid placements are not measured, and will only be added once there is an officially intended way to access them. The same standard applies to Google AI Mode.
FAQ
Achtung.app calculates AI Prominence from six factors: citation frequency, model breadth, recommendation strength, position in the response, sentiment and trend momentum. Factors are scaled relative to available data volume so that individual outliers do not skew the score.
Every competitor profile goes through two independent checks: does the domain exist, and is the website reachable? Profiles that fail both checks are dropped. The filter catches obvious fabrications but does not yet work perfectly.
Achtung.app monitors four AI platforms whose APIs answer in search-grounded mode, running a live web search per query: from the Starter tier up, ChatGPT, Gemini and Perplexity daily plus Claude weekly; on the Lite tier all four once a week. Each model is queried with generic industry questions without naming the brand, so what shows up is genuine visibility, not a forced mention.
AI visibility data is collected in a single morning run, daily from the Starter tier up: it queries each keyword twice per AI provider and averages the results, so single-response noise does not distort the score. On the Lite tier the run happens once a week, with three queries per keyword and provider instead of two. Search engine data (SERP) is collected weekly. News and market signals are updated daily. GSC data is synced regularly when the connection is active.
Blind measurement means AI models are queried with generic industry questions without mentioning the brand name. If a model names the brand anyway, that is real, organic visibility – not the result of a targeted prompt.
No. Google's official guide for AI Overviews and AI Mode states that no special files like llms.txt, no AI-specific markup and no content chunking are required. The same crawl-and-index hygiene that makes a page findable in classic search makes it findable in AI answers. Achtung.app measures whether those fundamentals are actually landing for you.