1001 SEO Media
All posts
By 1001 SEO MediaChatGPTcitationstrackingfield notes

How We Track Client Citations in ChatGPT, Week After Week

Our working routine for tracking citations in ChatGPT for clients: prompt panels, page-level and domain-level citation data, and what we do with the changes.

A citation in ChatGPT is a source the answer points to. A mention is the brand name appearing in the text. They are different events, they move for different reasons, and clients confuse them constantly. Our tracking routine keeps them apart from the first day.

This is how we run it for client programs. It is not clever. It is repetitive on purpose, because citation data only means something when the same questions are asked the same way over many weeks.

Start with a fixed prompt panel

Citations vary with the prompt. Ask "best accounting software" and you get one set of sources. Ask "accounting software for a ten-person agency that bills in euros" and you get another. So we build a panel before we measure anything.

We sort prompts by type: organic category questions, brand questions, and competitor comparisons. We also tag them by intent, because a how-to prompt tends to cite guides while a "best X" prompt tends to cite listicles and review sites. The tags matter later when you ask why a citation share moved.

Then we freeze the panel for a month. New prompts get added at the review meeting, not mid-month. If you edit the panel constantly, every chart has a hidden change in it.

Track two levels of citation

We look at citations at the domain level and the page level, and the two answer different questions.

Domain level. Which sites does ChatGPT lean on for this topic? For most B2B categories the answer is a mix of review sites, vendor sites, Reddit threads, and a few publishers. This tells us where to earn mentions, not just where to publish.

Page level. Which specific URLs get cited, at what position among the sources, and how often relative to the prompts that could have cited them? This tells us which of the client's pages are doing work and which are dead weight.

In Promptwatch the citation analytics give both views, plus URL positions. We also use Citation Trends, which classifies each citation by content type and source type. If every citation for a prompt cluster is a comparison article and the client has none, we have a content brief before we have a meeting.

Separate your pages from everyone else's

Clients like to know about their own domain. The more useful list is usually the competitor pages that keep winning. The Page Tracker lets us watch specific URLs, ours or a competitor's, across tracked prompts. When a rival's comparison page shows up in a cluster of prompts week after week, we add it to the tracker and read it properly. Length, structure, freshness, how it states the answer in the first paragraph. We are not copying it. We are finding out what the engine apparently finds easy to quote.

Check that the crawler can reach the page at all

Before we conclude that a page is not cited because the content is weak, we check whether the crawlers fetched it. ChatGPT-related bots have different jobs. GPTBot is associated with training collection, OAI-SearchBot with search indexing, and ChatGPT-User with a fetch triggered by a user's request. A page that OAI-SearchBot never retrieved cannot be indexed for ChatGPT Search no matter how good it is.

This is why the crawler data sits next to the citation data in our process. Promptwatch's Agent Analytics shows IP-verified crawler logs, so a fake user agent does not pollute the picture, and the crawl-to-citation path shows a citation rate per page. A page that is crawled often but never cited has a content problem. A page never crawled has an access problem. Those need different fixes, and getting them confused wastes a month.

The weekly routine

Every week one person does the same short pass.

  1. Open the citation view for the panel and compare against the previous period.
  2. List pages that gained or lost citations. Note first-cited and decay figures from Citation Trends for any page that dropped.
  3. Check crawler errors for any page on that list.
  4. Look at the Action Board for suggestions that match what we found.
  5. Write three lines in the client log: what moved, our best guess why, what we will do about it.

The third step catches a surprising number of "drops". A deploy that changed a path, a CDN rule that started blocking a bot, a redirect chain after a migration. The page did not get worse. The bot stopped getting in.

What we tell clients about noise

ChatGPT answers vary run to run. A single prompt that cited you yesterday and not today is not news. We report movement across the whole panel, over a period, and we say so in the first slide. If a client wants a daily number we explain that the daily number is mostly sampling noise and offer a rolling view instead.

We also avoid making up precision. We do not tell a client that citations "will grow by" some amount. We tell them what we changed, which prompts it targets, and when we will check.

Turn the findings into work

Tracking that does not change the editorial calendar is a hobby. Our usual outputs are:

  • A refresh list: cited pages whose citation rate is decaying, which get updated before they fall out entirely.
  • A gap list: prompt clusters where competitors are cited and the client has no page at all.
  • An access list: pages the crawlers failed to fetch, with the error from the log.
  • An offsite list: third-party pages that mention the brand or the category, which is where outreach and community work goes.

Our recommendation

If you are going to track ChatGPT citations seriously, use a platform that puts prompt tracking, citation analytics, and crawler logs on the same page. We run this routine on Promptwatch because the crawl-to-citation path removes the guessing. Start with the free Explore plan, which covers ChatGPT only, to see how the data looks, then move up when you need crawler logs. Plans and the free report are at promptwatch.com.