---
title: "How to build a citation prompt set for AI answers | Len P. van der Hof"
description: Build a ten-question citation prompt set for AI answers. Freeze the wording, separate brand mentions from source links, and test one question today.
image: "https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.wide.webp"
---

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

# Build a citation prompt set: ten questions to test AI source links

A source citation and a brand mention are different results. Your questions and run rules decide what either count can mean.

Len P. van der HofPublished 23 October 202610 min read

Ten identical jars filled to the same line, with an empty slot at the end of the row: the same questions under the same rules, every time.

Direct answer

A citation prompt set is a fixed list of questions and run rules used to check whether an AI answer cites a page you own. Start with customer questions that cover different buying decisions, keep a branded question separate, and freeze the wording as version 1. For every run, save the answer, source links, engine, mode and date. Ten questions run three times give you an audit of those answers, not an estimate of overall AI visibility.

## Key takeaways

- Choose questions from customer language before you inspect answers; mark any guessed question as a guess.
- Record an owned-page source citation separately from a brand mention or a product link.
- Keep the exact wording and run conditions with each answer. A rewritten question starts a new version.
- Report the branded control on its own; the brand is already in the question.
- Ten questions run three times can expose gaps, but cannot establish your share of all AI answers.

**A citation prompt set measures whether your site is cited for a fixed set of questions.** It is a written list of prompts, plus rules for how to run and score them. Keep the questions unchanged, save each answer, and you can see what happened on those runs. Change the questions after seeing the answers and even a correctly calculated percentage can mislead.

Start with a distinction: a company can be named in an answer without any of its pages being cited. A link to its product is also different from a link presented as a source for the answer. To track citations, count source links to pages you own. Record mentions and other links in separate columns.

## What does the count actually tell you?

Before you run a prompt, write down the site or domain being measured and what you will count as a source citation. For a ChatGPT Search audit, this could be a link to a page on that domain among the answer’s cited sources. Count each answer at most once for an owned-page citation, even if it cites two of your pages; save both URLs. Open the links to check that they point where you think they do. A brand name in the prose goes in the *mentioned* column. A product link outside the cited sources goes in the *other link* column.

The denominator is the number of completed answers to your fixed, unbranded questions. If the run used your chosen search mode, an answer with no source links still counts: it is a completed answer with zero citations. A timeout, a tool error or a run that did not use your chosen search mode is a failed run: record it separately and retry under the same rules. Decide these cases in advance, so a disappointing answer cannot quietly disappear.

This gives you an auditable count for your questions on your run dates. It does not tell you how often all buyers see your site cited. It also does not say whether a citation supports the answer; that needs a separate source check.

## What does the research establish?

In January 2026, SparkToro published a [study of AI brand recommendations](https://sparktoro.com/blog/new-research-ais-are-highly-inconsistent-when-recommending-brands-or-products-marketers-should-take-care-when-tracking-ai-visibility/). Its main experiment covered 2,961 runs of 12 recommendation prompts across ChatGPT, Claude and Google’s AI. SparkToro estimates a less than one-in-100 chance of getting the same brand list twice from ChatGPT or Google’s AI under its test conditions. That is a reason to save repeated answers instead of trusting one screenshot.

A separate exercise looked at wording. Volunteers wrote 142 different prompts for one need: choosing headphones for a travelling family member. SparkToro reports an average semantic similarity of 0.081 among those prompts. Across 994 responses, Bose, Sony, Sennheiser and Apple each appeared in 55–77% of the answers. The authors read this as evidence that the tools often recognised the need despite varied wording.

The boundary matters. SparkToro studied which brands or products appeared in recommendation lists. It did not report a citation rate for links to source pages. Its numbers cannot tell you how many citation runs are enough, or validate the ten-question run sheet below. Here, ten questions and three runs are a manageable first audit, not a statistical threshold.

## How do you choose ten questions?

Collect wording from sales emails, support tickets, call notes or customer interviews. Remove private details. If you have no such records, draft questions from the decisions customers face and mark them as guesses. Ask someone who speaks with customers to strike out any question they do not recognise.

Give each question a different job, not a new wording of the same need. For a small set, three category questions, two comparisons, two objections, two market or language questions and one branded control provide a useful spread. This is an editorial template, not a proven mix. Choose one answer engine and define the market for your first sheet. If you include two languages, report their results separately. Write questions as a customer might ask them, not as page titles or phrases designed to make your company appear.

Here is a **hypothetical** ten-question set for an inspection-software company serving English and Dutch customers. These are invented questions, not prompts tested with buyers:

SlotJobExample question1Category: available approachesWhat software can a small maintenance team use to record equipment inspections?2Category: plain-language problemHow can we stop inspection findings getting lost in email?3Category: specific constraintWhich inspection tools work offline in plant rooms with no signal?4Comparison: current methodSpreadsheet or dedicated app for inspection follow-up at five sites?5Comparison: two approachesPaper checklists or tablet inspections: which is easier to review later?6Objection: continuityWhat happens to our inspection records if a software supplier closes?7Objection: migrationHow much work is involved in moving inspection history out of Excel?8Dutch-language category questionWelke app gebruiken onderhoudsteams om keuringen van machines bij te houden?9Local operating contextHow can a maintenance team in the Netherlands track overdue inspection findings across sites?10Branded controlWhat does [company name] offer for inspection tracking, and where is its documentation?

The ninth slot is written in English for illustration. In a live Dutch-market set, use a real customer’s own Dutch wording instead: adding “in the Netherlands” to an English question does not make it a Dutch customer’s question. The branded control puts your name in the question. It tests what the tool says when asked about you directly; keep it outside the unbranded count.

Do not include a question just because its answer is likely to cite your page. A legal or safety question, for instance, might properly cite an authority rather than a software vendor. Keep such questions in a separate editorial list instead of treating a vendor citation as the desired result.

## What belongs on the run sheet?

Write the protocol at the top of the sheet before the first run. Keep the questions in numbered rows beneath it.

1. **Version and wording.** Give the set a version, date and exact text for every question. Do not correct spelling or add context between runs.
2. **Engine and mode.** Record the product interface and the search mode you used. For ChatGPT, [OpenAI says](https://help.openai.com/en/articles/9237897-searching-the-web-with-chatgpt) Search can be selected manually, although ChatGPT may also search automatically. Choose one method for the sheet.
3. **Account and place.** Record the account setting, country and language. OpenAI says ChatGPT can infer general location from IP address and may share that general location with search providers. A location change belongs in the record.
4. **Fresh runs.** Ask each question three times, each in a new conversation. If you use Temporary chat, [OpenAI’s current help page](https://help.openai.com/en/articles/8914046-temporary-chat-in-chatgpt) says a Personalized temporary chat can use existing memories and custom instructions, and that Unpersonalized must be chosen before the first message. Record which you used.
5. **Evidence and scoring.** Save the full answer, its visible source links, and the date and time. Mark *mentioned*, *owned page cited* and *other link* separately. Log tool failures, including retries, without silently removing them.

OpenAI says search answers **may** include citations. A completed answer without one is still a completed answer. If a different tool displays sources in another way, define its scoring rule and keep its results in a separate sheet. Do not pool a consumer app, an API and a vendor’s collection setup into one count without showing how each was run. For a column template and a weekly routine, see [How to measure ChatGPT citations](https://lenvanderhof.com/en/blog/citation-measurement-log/).

## How do you score one question across three runs?

Here is a **hypothetical** worked example; the results are invented. Suppose the inspection company runs slot 4 three times in ChatGPT Search. It has decided in advance that a citation means a cited source link to a page on its own domain.

RunWhat the answer showsMentioned?Owned page cited?ANames the company and cites its inspection guideYesYesBNames the company but cites only independent pagesYesNoCNames neither the company nor any of its pagesNoNo

The record says **cited in 1 of 3 completed answers** and **mentioned in 2 of 3**. Calling this a 2-of-3 citation result would count a brand mention as a source link. Calling it market visibility would stretch three answers to one question far beyond what they show.

The full answers matter too. In run A, open the cited guide. If it does not support the point for which the answer uses it, log a bad citation rather than celebrating a link. The reverse pattern can also occur: your page is cited while the prose does not name you. Score that as cited, not mentioned.

## How much can a small set prove?

Nine unbranded questions asked three times produce 27 completed answers if every run works. If six cite an owned page, write “6 of 27 completed answers in this set.” Show the count by question, job and language as well. An aggregate describes your chosen mix; change that mix and the aggregate can move without any page changing.

Do not call 6 of 27 your share of AI citations, a ranking, or a trend. The questions were selected by you, and three runs per question are too few to establish a stable rate. SparkToro says that seeing a tool’s full set of recommendations for one prompt usually takes at least 60 to 100 runs. That guidance concerns brand lists; it is not a tested minimum for citations. The authors also call for more research on statistically sound run counts.

When a question returns no owned citation in any of its three runs, inspect the answers before editing a page. Does the tool cite any sources? Is there a relevant page on your site? Does that page answer the question and show where its evidence comes from? For a broader diagnosis, read [Why am I not mentioned in ChatGPT?](https://lenvanderhof.com/en/blog/why-chatgpt-does-not-name-you/). [ChatGPT mentions vs citations](https://lenvanderhof.com/en/blog/chatgpt-mentions-vs-citations/) explains the two separate outcomes, and [AEO vs GEO vs SEO](https://lenvanderhof.com/en/blog/aeo-vs-geo-vs-seo/) shows where this prompt log sits beside Search Console rankings and server access logs. A missing link is a lead to investigate, not proof of why it is missing.

## When should you start a new version?

Once the ten questions and run rules are agreed, freeze them as v1. Keep the original sheet. If you rewrite a question, change the target domain, or alter the scoring rule, create v2 and say what changed. You can carry unchanged questions into v2, but compare only results collected under the same question and rule.

Add a short note whenever the engine, the search mode, the Personalized or Unpersonalized choice, or the location changes. Do not merge those runs into a tidy line chart as though the conditions stayed fixed. A transparent sheet with its answers is more useful than a precise percentage whose inputs nobody can inspect.

## Try this today

1. Find one unbranded customer question in a real email or call note, remove private details, and write down which decision it precedes. If you have none, draft one from a decision customers face and label it a guess.
2. Choose one engine and search mode. Write your scoring rule: “An owned-page citation is a source link to a page on our domain.” Note your account setting and location.
3. Run the exact question three times in three new conversations. Save each full answer and its source links. Do not improve the wording after the first answer.
4. Score each run for a brand mention and an owned-page citation. Keep a completed answer with no citation in the denominator; record any tool error separately.
5. Write the result as a count, such as “cited in 1 of 3 completed answers.” Open any cited page to see whether it supports the answer. Then ask a customer-facing colleague whether the question belongs in the ten-question set.

You now have one checkable row and a draft scoring rule. Write the other nine questions before you freeze v1. If the first row reveals a content gap, [How to get cited by ChatGPT](https://lenvanderhof.com/en/blog/how-to-get-cited-2026/) covers the page work; keep the question unchanged while you investigate.

Cite this:Build a citation prompt set: ten questions to test AI source links.Len P. van der Hof. [https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/](https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/) · Published 23 October 2026.

## 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 in ChatGPT](https://help.openai.com/en/articles/8914046-temporary-chat-in-chatgpt) · OpenAI Help Center
4. [Why am I not mentioned in ChatGPT?](https://lenvanderhof.com/en/blog/why-chatgpt-does-not-name-you/)
5. [ChatGPT mentions vs citations: a name is not a source](https://lenvanderhof.com/en/blog/chatgpt-mentions-vs-citations/)
6. [How to get cited by ChatGPT](https://lenvanderhof.com/en/blog/how-to-get-cited-2026/)

## Further reading

- [How to measure ChatGPT citations: a weekly log, not a screenshot](https://lenvanderhof.com/en/blog/citation-measurement-log/)
- [Why am I not mentioned in ChatGPT?](https://lenvanderhof.com/en/blog/why-chatgpt-does-not-name-you/)
- [ChatGPT mentions vs citations: a name is not a source](https://lenvanderhof.com/en/blog/chatgpt-mentions-vs-citations/)
- [How to get cited by ChatGPT](https://lenvanderhof.com/en/blog/how-to-get-cited-2026/)
- [AEO vs GEO vs SEO: three jobs, not three synonyms](https://lenvanderhof.com/en/blog/aeo-vs-geo-vs-seo/)

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/build-a-citation-prompt-set/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#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": "Build a citation prompt set: ten questions to test AI source links",
					"item": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#webpage",
			"url": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/",
			"name": "Build a citation prompt set: ten questions to test AI source links",
			"description": "Build a ten-question citation prompt set for AI answers. Freeze the wording, separate brand mentions from source links, and test one question today.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#breadcrumb"
			},
			"inLanguage": "en-GB"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/build-a-citation-prompt-set/#webpage"
			},
			"headline": "Build a citation prompt set: ten questions to test AI source links",
			"description": "Build a ten-question citation prompt set for AI answers. Freeze the wording, separate brand mentions from source links, and test one question today.",
			"datePublished": "2026-10-23T19:00:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-build-a-citation-prompt-set-v3.73a621e18e5f.wide.webp"
			],
			"articleSection": "SEO, GEO and AEO",
			"inLanguage": "en-GB"
		}
	]
}
```
