A screenshot proves that ChatGPT cited you once. It cannot tell you whether it will do it again. To measure ChatGPT citations, keep a log: ask the same fixed questions with web search switched on, one new chat per question, and write one row per run. Each row records two separate facts. Did the answer name you? Did it link to your page as a source? After a few weeks you can say “linked in 5 of 14 runs”. That sentence is a measurement. The screenshot is an anecdote.
In this page, a citation is a source link attached to the answer that a reader can click to open your page. A mention is your name in the answer text. They are different events, and ChatGPT mentions vs citations explains why mixing them sends you to the wrong fix.
Why is one answer not enough?
Because the same question rarely gets the same answer twice. In January 2026, the audience research company SparkToro and Gumshoe.ai had 600 volunteers run 12 recommendation prompts through ChatGPT, Claude and Google’s AI a combined 2,961 times. The chance that ChatGPT or Google’s AI returned the same list of brands in any two answers was below 1 in 100. The same list in the same order: closer to 1 in 1,000.
That study counted brand names in recommendation lists, not source links. The lesson still carries over. Any single answer is one draw from a pool of candidates. What you can measure is how often you appear across repeated runs of the same questions. Rand Fishkin, who led the study, concluded that a visibility percentage “across dozens to hundreds of prompts run multiple times is a reasonable metric”. A position in one answer is not.
What goes in the log?
One row per question, per engine, per run. A spreadsheet is enough. These eight columns are the template:
| Column | What to write |
|---|---|
| Date and time | When you got the answer, with the time zone |
| Engine and mode | For example: ChatGPT, Search on, temporary chat, personalization off |
| Question | The exact text from your fixed list, plus its version (v1) |
| Named | yes or no: your person or company name appears in the answer text |
| Linked | yes or no: a citation in the answer opens a page on your domain |
| Your URLs | Every page of yours that was cited, in full |
| Cited instead | The sources the answer used, if they were not you |
| Notes | Anything that needs a human: mismatch, sources list only, used not cited, errors |
Four rules keep the cells honest:
- Named and linked are separate cells. A page can be linked while the text credits nobody, and your name can appear with no link. Score each on its own.
- Open every link before you score it. OpenAI’s own help page says: “Open a cited source to check that it supports the answer.” If your page is linked but does not support the sentence, keep linked as yes and write “mismatch” in Notes.
- Decide once what the Sources list counts for. OpenAI says the Sources button shows “cited sources and other relevant links”. If your page appears only there, not beside a sentence, write “sources list only”. Choose, in writing, whether that counts as linked, and keep the rule the same every week.
- A failed run is not a no. If search did not run, the chat broke off, or you stopped halfway, write “failed” and leave both cells empty. Failed runs drop out of the count.
One more note belongs in the Notes column: used, not cited. That is an answer that repeats your idea or your number with no name and no link. Copy the sentence. It is a lead worth checking, not a score: the wording may be common, and you cannot see whether the engine read your page.
How do you run a session?
Keep the conditions the same each time, so that a change in the log is a change in the answers, not in how you asked.
- Switch search on. ChatGPT may search on its own, but you can force it: select View all tools, then Search, or type / in the message box and choose Search. An answer without sources tested the model’s memory, not ChatGPT search.
- Start clean. OpenAI says a temporary chat can still use your existing memories and custom instructions unless you turn personalization off when you start it. Turn it off. Use one new chat per question.
- Note where you are. ChatGPT takes a general location from your IP address and may pass it to its search partners. If your market is the Netherlands, run the log from the Netherlands and ask Dutch questions in Dutch.
- Save the answer before you score it. Copy the text into the sheet or keep the shared link, so someone else can check your row.
- Same list, same slot. Weekly is a workable rhythm for a small business. Run each question two or three times per session. One run of one question is an anecdote.
A worked example (hypothetical)
Imagine a two-person bookkeeping firm in Haarlem that wants ChatGPT to cite it on small-business tax questions. The owner writes five questions, three in Dutch and two in English, freezes them as version 1, and runs each three times on Monday 14 September. That is 15 runs.
Four of the rows:
| Time | Question (v1) | Named | Linked | Notes |
|---|---|---|---|---|
| 09:10 | Hoe vaak moet een zzp’er btw-aangifte doen? | no | yes | Firm’s VAT deadlines page cited; firm not named in the text |
| 09:14 | Hoe vaak moet een zzp’er btw-aangifte doen? | no | no | Cited the tax authority and two software vendors |
| 09:21 | Can a Dutch freelancer reclaim VAT on a laptop? | yes | yes | Named and linked; page supports the sentence |
| 09:30 | Wat kost een boekhouder voor een eenmanszaak? | (empty) | (empty) | Failed: search did not run |
The same question got two different answers four minutes apart. That is normal, and it is why each question runs more than once.
At the end of the session the owner counts: 15 runs, 1 failed, so 14 completed. Linked in 5, named in 3. The honest report is one line: linked in 5 of 14 completed runs and named in 3 of 14; question set v1; ChatGPT with search, run from Haarlem; 14 September. Not “36 percent AI visibility”.
The rows already point at work. The VAT deadlines page gets linked without the firm’s name in the answer, so the page needs a named person or company beside the claim. The pricing question needs a rerun before anyone concludes anything.
How do you turn the log into a number?
One rule is worth pinning above the sheet: “Linked in X of Y completed runs, question set vN, engine and mode, dates.” Every part of that sentence is required.
- The denominator is completed runs only. Report failed runs next to it.
- Keep branded questions, the ones that already contain your name, in a separate count. They test whether the engine recognises you, not whether it finds you.
- Report the named rate and the linked rate as two numbers.
- Do not compare across versions. A reworded question is a new question.
- Keep the counts next to any percentage. With 14 runs, a change of two runs can be chance.
- A before-and-after change shows that the answers changed. It does not prove that your edit caused it.
Can GA4 or Search Console measure this for you?
No. They measure neighbouring things, and each is worth reading. None of them records ChatGPT citations.
| Report | What it counts | What it cannot tell you |
|---|---|---|
| GA4, AI Assistant channel (announced 13 May 2026) | Visits from sources such as ChatGPT, Gemini, Deepseek, Copilot or Grok | Answers that cited you but sent no click. Clicks from Google’s AI Overviews and AI Mode count as Organic Search |
ChatGPT’s utm_source=chatgpt.com tag (a label ChatGPT adds to its links) | Visits that arrived through a link in ChatGPT | Anything about answers nobody clicked |
| Search Console, Generative AI performance report (all websites since 31 August 2026) | Impressions: how often links to your site were shown in Google’s AI Overviews and AI Mode, by page, country, date and device | Clicks, the questions people asked, and anything about ChatGPT |
| Bing Webmaster Tools, AI Performance (public preview since 10 February 2026) | How often your pages were cited in Microsoft Copilot and Bing’s AI summaries | Clicks, and anything about ChatGPT |
OpenAI’s publisher FAQ points site owners to referral tracking in analytics tools such as Google Analytics. It describes no citation report. For ChatGPT, the log you keep yourself is the only direct record of citations you will have.
What do you do with each result?
A log earns its place only if each row changes what you do next. Len’s book The Findability Engine, about being cited by answer engines (drafting, English edition first, not for sale yet), calls this sheet the citation log and reads it as a routing table: each result points to a different fix. You do not need the book to use it. Here is that idea applied to the columns above:
| What the rows show | What it usually means | Next move |
|---|---|---|
| Named and linked | The page works | Leave it alone. Note which URL the engine chose |
| Linked, not named | The engine found the page but could not attach a name | Put a person or company name next to the claim on that page |
| Named, but linked to a copy elsewhere, or not linked | Your idea travelled; your page did not | Publish the claim at one permanent URL on your own site |
| Used, not cited | Someone else is trusted with your idea, or the wording is common | Find where the best version of that sentence lives |
| Absent in every run | Wrong question, or no page that answers it | Check that people ask it; then write the page that answers it |
Why ChatGPT does not name you works through those failures in order of cost. If you have not checked the basics yet, the citation-readiness audit tests one URL in fifteen minutes before you start logging.
Try this today (20 minutes)
- Open a spreadsheet and paste in the eight column headings above.
- Write five questions a customer would type before buying, in their words, not your page titles. Save them as v1 with today’s date.
- Open ChatGPT, start a temporary chat with personalization off, switch Search on, and ask question one. Save the answer and fill the row.
- Repeat for the other four questions, one new chat each.
- Put the same slot in your calendar for next week.
Five rows will not give you a rate. They give you a baseline, a dated record of where you stand before you change anything, and usually one surprise worth fixing.
The log is boring on purpose. Boring is what makes next month comparable with this one.
Cite this:How to measure ChatGPT citations: a weekly log, not a screenshot.Len P. van der Hof. https://lenvanderhof.com/en/blog/citation-measurement-log/ ·