Measuring AI Citations
Tomohiro Iida · Published June 30, 2026
ChatGPT, Perplexity, Google's AI Overviews, and Gemini are replacing part of search behavior, but many teams conflate two very different signals: how many people click through from an AI answer, and whether an AI's answer cites a brand at all. This article, part of Netsujo's AIO (AI search visibility and optimization) work, describes the implementation behind netsujo.jp's ai-citation-tracker, a tool for continuously tracking whether generative engines cite or mention the company in their answers. It defines two core metrics, citation presence and citation share, explains how citations are judged from engine responses, covers how snapshots are stored to track change over time, and states the measurement's real limits plainly: engine output is non-deterministic, coverage differs by engine, and small query sets swing wildly. The current implementation is a skeleton built mainly around the Perplexity API; full cross-engine automated measurement is still being extended.
Key takeaways
- AI referral traffic and AI citation are different metrics. Looking only at traffic cannot distinguish being cited but not clicked from not being cited at all.
- Citations are tracked with citation presence (a yes/no per query) and citation share (the percentage across a fixed query set on the same engine); the value is in the trend over time, not the absolute number.
- The current implementation is a Perplexity-centered skeleton. Because output is non-deterministic, avoid asserting causation; use it to locate which queries need improvement.
Traffic and citation are not the same thing
AI referral traffic is the number of people who clicked a link in an AI answer and actually visited the site. GA4 currently classifies ChatGPT and Copilot under an "AI Assistants" channel, while traffic from Google's AI Overviews and AI Mode still falls under "Organic Search," so check the channel definitions before reading traffic numbers. It is also a lagging indicator, observed hours to one or two days after the fact on a finalized-data basis. Citation presence, by contrast, is whether a domain appears in the engine's answer text or source list at all, regardless of whether anyone clicked: a leading indicator that can still build awareness even without a click. Looking at traffic alone cannot tell "cited but never clicked" apart from "never cited at all," and the two call for different fixes: the former needs better titles and snippets, the latter needs the content itself to become more citable.
Defining the metrics
- Citation presence
- A binary (true/false): did the domain appear at least once as a source or in-text link in the answer to a given query?
- Citation share
- The percentage of a query set in which the brand was cited. For example, 8 of 25 queries gives a 32% share.
- Citation depth (supplementary)
- The average position at which the brand appeared as a source within the answer, on the hypothesis that appearing higher carries more weight.
- Competitor delta (supplementary)
- The gap between a brand's share and a key competitor's share on the same query set, used to tell whether the brand grew or the competitor fell.
These metrics depend heavily on the specific query set; the value is in tracking the trend over time on the same set and engine, not the absolute figure.
Designing the query set
Measurement accuracy depends heavily on how the query set is designed (model variance, region, login state, and API changes also matter). For each topic cluster, fix 10 to 30 representative queries a real user might type. netsujo.jp's set includes brand and proximity queries such as "Web3 development company Kyoto," term-definition queries such as "what is DID" and "what is RWA," and problem-solving queries such as "PoC failure causes" and "smart contract audit."
- Keep the set fixed: adding or removing queries week to week makes it impossible to tell whether a share change reflects content improvement or a changed query set.
- Build in natural variation for Japanese, since kanji, kana, and romanized spellings can change the answer.
- Do not over-weight brand-name queries: queries containing the company name are cited more easily and can inflate the share above the real picture.
Judging citations from engine responses
The current ai-citation-tracker is a skeleton implementation centered on Perplexity's Sonar API, which returns a structured citations array of source URLs, the most straightforward case to judge. That array can be null or empty, and a naive substring match can misfire (matching a spoofed host such as netsujo.jp.evil.com), so the logic parses each URL and compares hostnames instead. Judgment is split into two passes: checking the structured citation list for a matching domain (a lower false-positive rate, though URL normalization and null handling are still needed), and checking the answer's body text for brand or domain mentions (this catches cases where a name appears without a linked source, but needs regex handling for spelling variants). ChatGPT, Gemini, and AI Overviews each source citations differently: ChatGPT's UI answers require browser automation with a login, its API web-search responses expose citation annotations, Gemini's Grounding with Google Search returns structured annotations via API, and AI Overviews has no official API, leaving third-party SERP-scraping tools as an approximation with reproducibility and terms-of-service caveats. This cross-engine coverage is still being extended; Perplexity is the starting point for a gradual rollout.
Storing snapshots to track change
Each run's result is stored as a per-query snapshot, extracted citation data only rather than the full response, both to limit storage and for privacy. Snapshots are accumulated by date, engine, and query, then compared week over week for the week-on-week change in citation share, newly cited queries, queries that lost citation, and the change in the gap versus competitors. netsujo.jp runs this on a GitHub Actions cron every Monday and posts the diff summary to Discord, with run frequency adjusted for each engine's rate limits.
As a starting cadence, weekly measurement is easy to operate. Because engine answers vary, treat important queries as needing multiple runs rather than a single result, and after a major content change, take a baseline and re-measure about two weeks later.
Looping uncited queries back into content fixes
The real value of citation tracking is turning uncited queries into inputs for improvement. When a query shows up in lost mentions, or has never been cited, the corresponding page gets reviewed for passage structure (is the conclusion or definition at the top of the paragraph, since generative engines tend to lift an easily quotable passage and may miss points buried deeper in the text), structured data (are FAQs and definitions machine-readable), and crawlability (can AI crawlers reach the page at all).
Being honest about the limits
- Output is non-deterministic: the same query can get a different answer run to run, so a single false result does not prove a brand is not cited; look at the trend across multiple runs and days.
- Accuracy differs by engine: engines that return a structured citation array and engines where citation retrieval is only an approximation are not comparable, so simply summing share across engines is misleading.
- Sample size is a constraint: with a small query set, one query flipping can swing the share by several points (a single change in a 30-query set moves it over 3 points).
- API specifications change: how each vendor returns citations shifts on its own schedule, so the judging logic needs regular upkeep.
For that reason, we avoid asserting that a specific change caused a specific point gain in citation rate. What the measurement can show is the relative trend under fixed conditions, and which queries need improvement, nothing stronger.
How this fits with AI-referral measurement
AI referral tracking in GA4 measures actual clicks from an AI answer: a near-conversion, confirmed-result metric. Citation tracking, described in this article, measures whether a brand appeared in the answer regardless of clicks: a leading indicator upstream of traffic. Reading both together sharpens the diagnosis: high citation share with low traffic points to a snippet or appeal problem; low citation share means the content itself needs to become more citable first. Generative-engine citation is non-deterministic and not always accurate even when it happens, but it remains a useful signal for identifying which pages to improve.