← All articles

How to Track Which Content Drives Your ChatGPT and Perplexity Citations

To track which of your pages drive citations in ChatGPT and Perplexity, you combine three imperfect signals: server logs (which pages the AI engines fetched), AI referral traffic in your analytics (which citations produced a click), and citation monitoring (where you actually appear in answers). No single one tells the whole story, and a fair number of citations leave no trace at all. This guide shows how to assemble the picture you can actually get, and how to stop expecting the one you cannot.

Why this is harder than tracking clicks

A citation is not a click, and a click is not always measurable. That gap is the whole problem, so it is worth naming the three ways a citation goes uncounted before you try to count them:

  • No click happens. The AI answers the question using your content and the reader never visits. You were the source; you get nothing in analytics.
  • The referrer is stripped. Even when someone does click through, the AI app may not pass a referrer header, so the visit lands in your analytics as "direct" and you cannot tell it came from ChatGPT.
  • The flattering case is the invisible one. If your passage answered the question so completely that no one needed to click, that is a content win and an analytics blank at the same time.

So treat this as triangulation, not a single dashboard number, however much you would like the single dashboard number. Three signals, each catching what the others miss.

Signal 1: Server logs, the signal outside your dashboards

Your server access logs are the closest thing to direct evidence that an AI engine used your page, and because they sit outside the analytics dashboards most people work in, they are easy to overlook. The key is telling two kinds of bot apart:

  • Real-time fetchers like ChatGPT-User and PerplexityBot request a page at the moment a user's question pulls it into an answer. A hit from one of these is about as close as you get to "this page was just cited to a real person".
  • Training and indexing crawlers like GPTBot, ClaudeBot, and Google-Extended are building or refreshing the model's knowledge, not answering a live query.

Filter your logs by user agent, group by URL, and the pages the real-time fetchers hit most often are your most-cited pages. This signal is invisible in GA4 because these bots do not run JavaScript, which is exactly why it is worth the trouble: it catches citations that never produce a click.

Signal 2: AI referral traffic, for the citations that do get clicked

When a citation does send a visitor, you want that visit attributed to the AI engine rather than lumped into "direct" or "referral". GA4 has been moving toward recognising AI-assistant traffic natively, but the approach that works regardless of which update has reached your property is a custom channel group with a regex on the session source:

chatgpt.com|chat.openai.com|perplexity.ai|claude.ai|gemini.google.com|copilot.microsoft.com|meta.ai

Two caveats keep expectations honest. Custom channel groups apply from the day you create them and do not backfill, so set this up now rather than wishing you had later. And this only captures visits that arrived with an intact referrer, which, per the leaks above, is a subset of the citations that produced a click, which is itself a subset of all citations.

Signal 3: Citation monitoring, for where you actually appear

The first two signals tell you about pages that were fetched or clicked. Neither tells you whether you appeared in an answer that no one clicked. For that you have to look at the answers themselves.

The free version costs about half an hour: write down the ten or so questions a customer would actually ask, run them across ChatGPT and Perplexity on a fixed schedule (weekly or monthly), and record whether your site appears and which page it cites. It is manual and a little tedious, but it catches the citations that are invisible everywhere else, and the trend over time is more useful than any single check. Paid monitoring tools automate the same idea at larger prompt volumes if the manual version stops scaling.

What Google Search Console can and cannot tell you

GSC now breaks out part of this, but not the part you most want. As of June 2026 its generative AI performance report shows your impressions in AI Overviews and AI Mode, sliced by page, country, device, and date. The catch, stated plainly in Google's own announcement, is that it does not include click data, and AI-feature clicks stay folded into your overall Search totals rather than split out. So GSC is genuinely useful now for spotting which pages and queries surface you in AI experiences, but it still cannot tell you how many of those appearances became visits. Treat it as directional for AI search, not a precise citation counter. (For why those clicks are down in the first place, see how to get cited in AI Overviews.)

Putting it together

None of these is complete on its own, but together they answer the real question. A simple monthly routine:

  1. Logs: which pages did ChatGPT-User and PerplexityBot fetch most? Those are your most-used-by-AI pages.
  2. GA4: which of those also drove referral clicks from AI sources? Those are earning visits, not just citations.
  3. Monitoring: for your core questions, which pages get cited in the answers, clicked or not?

Where the same URLs show up across all three, you have found the content that genuinely drives your AI visibility, and a template for what to write more of. The point of earning citations in the first place is rather undercut if you never find out which pages are doing the earning.

The takeaway

You cannot get a clean, single number for AI citations, and any tool that promises one is selling certainty that does not exist. What you can do is triangulate: server logs for what got fetched, analytics for what got clicked, and monitoring for where you appear. Run that monthly and you will know which pages drive your presence in ChatGPT and Perplexity, which is the input that makes the rest of a GEO strategy worth doing. Setting that measurement up, and reading it honestly, is part of an AI Citation Readiness assessment, so if you would rather have it done than built, that is where to start.

Frequently asked questions

Can I see in Google Analytics which pages get cited by ChatGPT?

Partly. GA4 can attribute visits that came from ChatGPT, Perplexity, and other AI apps, either through its native AI-assistant grouping or a custom channel group with a regex on the session source, but only when the referrer is intact. It shows clicks, not citations: many citations produce no click and never appear in analytics at all, so GA4 sees a subset of a subset.

How do I know if ChatGPT is actually reading my page?

Check your server access logs. Real-time fetchers like ChatGPT-User and PerplexityBot request a page at the moment a user's question pulls it into an answer, so a hit from one of them is the closest signal that your content was used in a live response. This is invisible in GA4 because those bots do not run JavaScript, which is why server logs are worth the trouble.

Does Google Search Console show AI Overview citations?

Partly, and it improved in June 2026. Search Console's generative AI performance report now shows your impressions in AI Overviews and AI Mode, broken down by page, country, device, and date. It does not include click data, though, and AI-feature clicks stay folded into your overall Search totals. So GSC is useful for seeing which pages surface in AI experiences, but not for counting how many of those appearances became visits.

What is the simplest way to start tracking AI citations?

Use a fixed prompt set. Write down the ten or so questions a customer would actually ask, run them across ChatGPT and Perplexity on a fixed schedule (weekly or monthly), and record whether your site appears and which page it cites. It is free, takes about half an hour, and catches the citations that never show up in analytics because no one clicked.

Want this done for you and verified against real field data?

Book an audit