---
title: "How to measure ChatGPT citations (free log template) | Len P. van der Hof"
description: "To measure ChatGPT citations, ask fixed questions with search on and log each run: were you named, were you linked? Template, rules and a worked example."
image: "https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.wide.webp"
---

[SEO, GEO and AEO](https://lenvanderhof.com/en/blog/category/seo-geo-aeo/) Research guide

# How to measure ChatGPT citations: a weekly log, not a screenshot

One good answer proves it happened once. A dated row per question, per run, shows how often.

Len P. van der HofPublished 29 September 20269 min read

A remembered chat is not a record. A dated row is.

Direct answer

To measure ChatGPT citations, keep a log. Ask the same fixed questions in ChatGPT with web search switched on, one new chat per question, and write one row per run: the date, the exact question, whether the answer named you, and whether it linked to your page as a source (a citation). Count only runs that completed. 'Linked in 5 of 14 runs' is a measurement. A screenshot of one good answer is not.

## Key takeaways

- One answer proves little. In a 2026 SparkToro study, ChatGPT and Google's AI gave the same brand list twice less than 1 time in 100.
- Log two separate facts per run: named or not, linked or not. A name is not a citation.
- A failed run is not a zero. Leave it out of the count and report it separately.
- GA4, Search Console and Bing count visits, Google impressions and Copilot citations. None of them shows ChatGPT citations.
- Report a rate with its denominator: which questions, which engine, which dates.

**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](https://lenvanderhof.com/en/blog/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:

ColumnWhat to writeDate and timeWhen you got the answer, with the time zoneEngine and modeFor example: ChatGPT, Search on, temporary chat, personalization offQuestionThe exact text from your fixed list, plus its version (v1)Namedyes or no: your person or company name appears in the answer textLinkedyes or no: a citation in the answer opens a page on your domainYour URLsEvery page of yours that was cited, in fullCited insteadThe sources the answer used, if they were not youNotesAnything that needs a human: mismatch, sources list only, used not cited, errors

Four rules keep the cells honest:

1. **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.
2. **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.
3. **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.
4. **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:

TimeQuestion (v1)NamedLinkedNotes09:10Hoe vaak moet een zzp’er btw-aangifte doen?noyesFirm’s VAT deadlines page cited; firm not named in the text09:14Hoe vaak moet een zzp’er btw-aangifte doen?nonoCited the tax authority and two software vendors09:21Can a Dutch freelancer reclaim VAT on a laptop?yesyesNamed and linked; page supports the sentence09:30Wat 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.

ReportWhat it countsWhat it cannot tell youGA4, AI Assistant channel (announced 13 May 2026)Visits from sources such as ChatGPT, Gemini, Deepseek, Copilot or GrokAnswers that cited you but sent no click. Clicks from Google’s AI Overviews and AI Mode count as Organic SearchChatGPT’s utm_source=chatgpt.com tag (a label ChatGPT adds to its links)Visits that arrived through a link in ChatGPTAnything about answers nobody clickedSearch 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 deviceClicks, the questions people asked, and anything about ChatGPTBing Webmaster Tools, AI Performance (public preview since 10 February 2026)How often your pages were cited in Microsoft Copilot and Bing’s AI summariesClicks, 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](https://lenvanderhof.com/books/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 showWhat it usually meansNext moveNamed and linkedThe page worksLeave it alone. Note which URL the engine choseLinked, not namedThe engine found the page but could not attach a namePut a person or company name next to the claim on that pageNamed, but linked to a copy elsewhere, or not linkedYour idea travelled; your page did notPublish the claim at one permanent URL on your own siteUsed, not citedSomeone else is trusted with your idea, or the wording is commonFind where the best version of that sentence livesAbsent in every runWrong question, or no page that answers itCheck that people ask it; then write the page that answers it

[Why ChatGPT does not name you](https://lenvanderhof.com/en/blog/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](https://lenvanderhof.com/en/blog/citation-readiness-audit/) tests one URL in fifteen minutes before you start logging.

## Try this today (20 minutes)

1. Open a spreadsheet and paste in the eight column headings above.
2. Write five questions a customer would type before buying, in their words, not your page titles. Save them as v1 with today’s date.
3. Open ChatGPT, start a temporary chat with personalization off, switch Search on, and ask question one. Save the answer and fill the row.
4. Repeat for the other four questions, one new chat each.
5. 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/](https://lenvanderhof.com/en/blog/citation-measurement-log/) · Published 29 September 2026.

## Terminology

- [CITATION](https://lenvanderhof.com/glossary/citation/)

## Sources

1. [NEW Research: AIs are highly inconsistent when recommending brands or products; marketers should take care when tracking AI visibility](https://sparktoro.com/blog/new-research-ais-are-highly-inconsistent-when-recommending-brands-or-products-marketers-should-take-care-when-tracking-ai-visibility/) · SparkToro
2. [Searching the web with ChatGPT](https://help.openai.com/en/articles/9237897-searching-the-web-with-chatgpt) · OpenAI Help Center
3. [Temporary Chat FAQ](https://help.openai.com/en/articles/8914046-temporary-chat-faq) · OpenAI Help Center
4. [Publishers and Developers - FAQ](https://help.openai.com/en/articles/12627856-publishers-and-developers-faq) · OpenAI Help Center
5. [[GA4] Default channel group](https://support.google.com/analytics/answer/9756891?hl=en) · Google Analytics Help
6. [What's new in Google Analytics (May 13, 2026: AI Assistant channel)](https://support.google.com/analytics/answer/9164320?hl=en) · Google Analytics Help
7. [Generative AI performance report (Search)](https://support.google.com/webmasters/answer/16984139?hl=en) · Search Console Help
8. [Introducing AI Performance in Bing Webmaster Tools Public Preview](https://blogs.bing.com/webmaster/February-2026/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview) · Microsoft Bing Webmaster Blog
9. [ChatGPT mentions vs citations](https://lenvanderhof.com/en/blog/chatgpt-mentions-vs-citations/)
10. [Why am I not mentioned in ChatGPT?](https://lenvanderhof.com/en/blog/why-chatgpt-does-not-name-you/)
11. [Citation-readiness audit](https://lenvanderhof.com/en/blog/citation-readiness-audit/)
12. [The Findability Engine](https://lenvanderhof.com/books/the-findability-engine/)

## Further reading

- [ChatGPT mentions vs citations](https://lenvanderhof.com/en/blog/chatgpt-mentions-vs-citations/)
- [Why am I not mentioned in ChatGPT?](https://lenvanderhof.com/en/blog/why-chatgpt-does-not-name-you/)
- [How to get cited by ChatGPT](https://lenvanderhof.com/en/blog/how-to-get-cited-2026/)
- [Citation-readiness audit](https://lenvanderhof.com/en/blog/citation-readiness-audit/)

About the author

## [Len P. van der Hof](https://lenvanderhof.com/en/authors/len-p-van-der-hof/)

Entrepreneur, AI Innovator and Venture Builder

Len P. van der Hof builds practical AI systems, digital ventures and evidence-informed tools for founders.

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "Person",
			"@id": "https://lenvanderhof.com/#person",
			"name": "Len P. van der Hof",
			"alternateName": [
				"Len van der Hof",
				"L.P. van der Hof",
				"Leendert Pieter van der Hof"
			],
			"honorificSuffix": "MSc",
			"url": "https://lenvanderhof.com/",
			"image": [
				"https://lenvanderhof.com/photos/len-portrait-1.jpg",
				"https://lenvanderhof.com/photos/len-portrait-2.jpg",
				"https://lenvanderhof.com/photos/len-portrait-3.jpg",
				"https://lenvanderhof.com/photos/len-portrait-4.jpg",
				"https://lenvanderhof.com/photos/len-speaking.jpg",
				"https://lenvanderhof.com/photos/len-hero.jpg"
			],
			"jobTitle": "Entrepreneur, AI Innovator and Venture Builder",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"address": {
				"@type": "PostalAddress",
				"addressLocality": "Zwijndrecht",
				"addressCountry": "NL"
			},
			"alumniOf": {
				"@type": "CollegeOrUniversity",
				"name": "Rotterdam School of Management, Erasmus University"
			},
			"knowsAbout": [
				"Artificial intelligence",
				"AI agents",
				"Agentic AI systems",
				"LLM routing",
				"SEO",
				"Generative engine optimization",
				"Answer engine optimization",
				"Venture building",
				"Founder performance",
				"Founder psychology",
				"Evidence-based decision-making"
			],
			"sameAs": [
				"https://www.linkedin.com/in/lenvanderhof/",
				"https://x.com/LenvanderHof",
				"https://www.youtube.com/channel/UCTG20buKqYYbitqqf7l3zJA",
				"https://www.instagram.com/Lenvanderhof/",
				"https://www.threads.com/@lenvanderhof",
				"https://github.com/Lenvanderhof",
				"https://huggingface.co/LPH98",
				"https://www.npmjs.com/~lenvanderhof",
				"https://www.goodreads.com/author/show/70983905.Len_P_van_der_Hof",
				"https://www.amazon.com/author/lenvanderhof",
				"https://www.bol.com/nl/nl/b/len-p-van-der-hof-msc/609879394/",
				"https://bsky.app/profile/lenvanderhof.com",
				"https://mastodon.social/@Lenvanderhof",
				"https://crates.io/users/Lenvanderhof",
				"https://cursor.com/@Lenvanderhof",
				"https://medium.com/@Lenvanderhof",
				"https://gitlab.com/Lenvanderhof",
				"https://hub.docker.com/u/lenvanderhof/",
				"https://dev.to/lenvanderhof",
				"https://www.facebook.com/Lenvanderhof",
				"https://soundcloud.com/Lenvanderhof"
			],
			"affiliation": [
				{
					"@id": "https://lenvanderhof.com/#publisher"
				},
				{
					"@id": "https://lenvanderhof.com/#mindsesh"
				},
				{
					"@id": "https://lenvanderhof.com/#lifestyle"
				}
			]
		},
		{
			"@type": "WebSite",
			"@id": "https://lenvanderhof.com/#website",
			"url": "https://lenvanderhof.com/",
			"name": "Len P. van der Hof",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"inLanguage": [
				"en",
				"nl"
			],
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#publisher",
			"name": "LPH98.ventures",
			"url": "https://lph98.ventures",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#mindsesh",
			"name": "MindSesh",
			"url": "https://mindsesh.net",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#reasonkit",
			"name": "ReasonKit",
			"url": "https://reasonkit.sh",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#undominated",
			"name": "Undominated.ai",
			"url": "https://undominated.ai",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#lifestyle",
			"name": "LPH98.lifestyle",
			"url": "https://lph98.lifestyle",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "ImageObject",
			"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "Blog",
					"item": "https://lenvanderhof.com/en/blog/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "SEO, GEO and AEO",
					"item": "https://lenvanderhof.com/en/blog/category/seo-geo-aeo/"
				},
				{
					"@type": "ListItem",
					"position": 4,
					"name": "How to measure ChatGPT citations: a weekly log, not a screenshot",
					"item": "https://lenvanderhof.com/en/blog/citation-measurement-log/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#webpage",
			"url": "https://lenvanderhof.com/en/blog/citation-measurement-log/",
			"name": "How to measure ChatGPT citations: a weekly log, not a screenshot",
			"description": "To measure ChatGPT citations, ask fixed questions with search on and log each run: were you named, were you linked? Template, rules and a worked example.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#breadcrumb"
			},
			"inLanguage": "en-GB"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/citation-measurement-log/#webpage"
			},
			"headline": "How to measure ChatGPT citations: a weekly log, not a screenshot",
			"description": "To measure ChatGPT citations, ask fixed questions with search on and log each run: were you named, were you linked? Template, rules and a worked example.",
			"datePublished": "2026-09-29T19:00:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-citation-measurement-log-v1.20899e36945e.wide.webp"
			],
			"articleSection": "SEO, GEO and AEO",
			"inLanguage": "en-GB"
		}
	]
}
```
