geondex
← Blog

How we know which sites AI engines cite

2026-08-08

Every person who sees Geondex for the first time asks the same thing, and it is the right question: how do you actually know what ChatGPT said? You cannot look over the shoulder of every user. So where do the numbers come from?

Here is the whole method. There is less magic in it than you might expect.

1. We ask the engines the questions your customers ask

You give us the keywords you care about — not single words, but the kind of full question a real person types: "best carbon table tennis blade for beginners", not "blade". Those questions are the whole input.

On a schedule, we send each question to each AI engine through its official developer interface, with web search switched on. That is the same pipeline the consumer product uses to answer a question, so the answers we get are the answers a user would get.

We do not scrape chat windows and we do not automate a logged-in browser. Both are fragile and against the terms of most engines. Everything we read is returned to us officially.

2. We read the source list, not the prose

When an AI engine answers a question using the web, it returns two things: the written answer, and the list of sources it used. That source list is the product. It is where your domain either appears or does not.

We record, for every source in the list:

3. We clean up the URLs before counting

This step is boring and it matters more than it sounds. The same page can be cited as example.com/blog, https://www.example.com/blog/, or https://example.com/blog?utm_source=chatgpt. Counted naively, one citation looks like three.

So before anything is counted we lowercase the host, drop www., remove tracking parameters, normalise the trailing slash, and decode international domain names. Three spellings collapse into one citation. Without this, every number above it is inflated.

4. We compare today against last time

A single measurement is nearly useless. "You are cited for 2 of 12 questions" tells you almost nothing on its own. What you need is the change.

So every run is compared against the previous run for the same question and the same engine. Out of that comparison come the only events that deserve an email:

This is what makes the tool useful rather than merely interesting. You publish something on Tuesday; the following week an engine starts citing that page. You now have a dated link between a change you made and a result.

5. We record who is cited instead of you

When the answer does not include you, it includes somebody. Those domains are the most useful thing on the page. They are a list, ranked by the engine itself, of the pages that currently answer your question better than yours does.

You can open them. You can see the format, the depth, the structure. That is a far more concrete instruction than any generic optimisation advice.

What we deliberately will not tell you

We can prove that a citation appeared after you did something. We cannot prove your change caused it — nobody outside the engine can, and any tool claiming otherwise is guessing. Retrieval changes, competitors publish, indexes refresh. We show correlation with dates attached and label it as correlation.

We also will not tell you that adding a piece of markup to your page will get you cited. Structured data helps machines read a page; it is not what earns the citation. The evidence points at being mentioned and linked on other sites people already trust. That is slower and less comfortable than a checklist, which is probably why so many tools sell the checklist.

Why this is worth measuring at all

Search used to end with a list of links, and you could see your position in it. Increasingly it ends with a written answer and a short source list. If you are not in that list, the reader never learns you exist — and, unlike a ranking drop, nothing in your analytics tells you it happened. There is no impression count for an answer you were left out of.

That silence is the actual problem. Measuring it is the first step to doing something about it.

If you want to see it on your own site, the free scan runs this pipeline against your domain, or start with the AI crawler check — if the engines are blocked from fetching your pages, nothing else matters yet.

See this on your own domain.

The free scan runs real queries against ChatGPT and Perplexity and shows what they cite.