Skip to content
New storyWe built Skald to count visitors. It caught an AI-key thief.
SkaldEvery visit, truly told.

AI visibility · one page, traced

AI citation tracking: cited, read, visited, became a lead

AI citation tracking in Skald follows one of your pages from an assistant's answer to your leads. Each step is counted from its own record, and the four are never added together.

AI citation tracking is recording when an AI assistant's answer links to your pages. Skald samples the answers of ChatGPT, Perplexity, Gemini and Claude with your own API keys, then sets each cited page beside what your server log and your leads show: the assistant reading it, the people it sent, and the leads that followed.

30-day free trial · no card · we set it up within one working day · free to self-host

/pricing/ · last 30 days · sample
38citedof 165 answersroad: the sampled answers
58readChatGPT-User fetchesroad: your access log
14sentvisits from chatgpt.comroad: the referrer
1leadfirst visit from any AI answerroad: a signed webhook

Four dials, four units, four records. There is no total to show.

pick an assistant Sample counts. The lead dial counts any assistant, so it stays put when you switch.

[01] is that link you?

A loose match would count other sites as yours. Call these six.

AI citation tracking is only as good as its rule for "this link is my site". Skald's rule is strict and written down. Before you read it, guess: does each link an answer gave count as citing Northwind, whose site is northwind.example? Part of AI visibility tracking.

links from sample answers0 of 6 called
  1. https://www.northwind.example/pricing/?utm_source=chatgpt.com

  2. https://docs.northwind.example/setup/#nginx

  3. https://northwind.example.mirror.example/pricing/

  4. https://notnorthwind.example/

  5. https://vertexaisearch.cloud.google.com/grounding-api-redirect/… title: northwind.example

  6. https://contoso.example/compare/northwind/

call a link
  • Named A brand term as a whole word, any case: "Northwind's plan" counts, "Northwinds" does not.
  • Citation rank Where your first link sits among the answer's links. 1 is first.
  • Brand rank 1 plus the competitors named before you. Named first is rank 1.

[02] joined by page and day

See which cited page sent people, and which only got read

For each assistant and each of your pages its answers cited, Skald lines up four records from the last 30 days: the sampled answers, that assistant's fetches in your log (ChatGPT-User, Claude-User and the like: the names they write when they open a page for someone), the visits it sent, and the leads that followed. The join is the page and the day. No record holds a person, so none is claimed.

pick a page

answers sampled · ChatGPT

  1. /pricing/ 14 Oct
  2. /docs/setup/ 14 Oct
  3. /pricing/ 16 Oct
  4. (page not known) 17 Oct
  5. /pricing/ 21 Oct

ai_fetches access.log · ChatGPT-User

  1. /pricing/ × 3 · 14 Oct
  2. /docs/setup/ × 5 · 15 Oct
  3. /blog/ × 1 · 15 Oct
  4. /pricing/ × 2 · 21 Oct
  5. /docs/setup/ × 4 · 22 Oct

visits source AI assistant · ChatGPT

  1. /pricing/ × 1 · 14 Oct
  2. / × 2 · 15 Oct
  3. /pricing/ × 2 · 21 Oct
  4. /docs/setup/ × 1 · 22 Oct

leads completed · first touch AI

  1. /pricing/ Calendly · 16 Oct
  2. / HubSpot · 19 Oct

no lead source connected

page
/pricing/
cited
38 of 165
read
58
sent
14
likely, apart
21
leads
1

/pricing/ is cited often, read often, and sends people. This is the page to keep sharp.

Sample rows, a few of each record's 30 days. The counts in the result row are the whole 30 days.

46lead events in the 30 days
29completed: a booking made, a form sent
4first visit came from an AI answer
2landed on /pricing/
1not a test

Sample month. Started and cancelled events, and leads from other sources, stay in your lead reports; they are just not this count.

[03] which leads count

Only leads that began with an AI answer count for a cited page

The lead count beside a cited page is narrow on purpose. Add the filters one at a time and watch every other lead fall away.

add a filter

Test bookings and test payments are left out. One lead is left: the count you see beside /pricing/.

No lead tool connected? Then this count is "not recorded", never 0. Leads reach Skald from a booking tool's webhook (a signed message it sends the moment someone books), your server's lead push, your lead database or the script tag.

[04] proof you can open

Doubt a figure? Open the answer behind it.

Every try is kept: the question exactly as sent, the full answer, every link it cited, and what Skald read in it. A second count reads the same stored text with its own code. A run where the two disagree is withheld, with no figures.

build it

Answers are kept 400 days by default; a site can keep them from 30 days to 10 years.

answer 4182 · Gemini · gemini-2.5-flash · try 1 of 3Montréal · fr-CA

question as sent

Quel outil d'analyse montre les robots d'IA dans mes journaux de serveur ?

I am in Montréal, Quebec, CA.

Answer in fr-CA.

Gemini's API has no location field, so the place and the language are written in.

answer, kept in full

Northwind lit le journal d'accès de votre serveur et sépare les robots d'entraînement des visites demandées par une personne [1]. Fabrikam fait un travail semblable [2].

cited links

what Skald read

named yesbrand rank 1own page /fr/tarifs/citation rank 1competitors Fabrikam

second count, its own code

Read again from the stored text and links: the same five answers. The run is published.

Sample answer. Brand terms: Northwind. Competitors: Contoso, Fabrikam, Tailspin.

[05] what the chain cannot say

Where AI citation tracking stops, said plainly

Four honest counts beat one made-up funnel. These are the edges of each.

Skald AI answers page with sample data: cited, read, sent and converted counts for ChatGPT and /pricing/, and how often each assistant names the brand
Sample data. AI & bots › AI answers.

What it does not do

  • The cited count comes from a sample of API answers asked with your own keys: a direction over weeks. What every user is told stays unknown.
  • The four counts are joined by page and day, never by person, and never added together. One answer is never tied to one buyer.
  • Sent is a floor. Many AI apps strip the referrer, the address a click came from. A direct visit to a page an assistant fetched up to 15 minutes before is shown as likely, apart.
  • Leads are counted for any assistant. A lead whose first visit came from any AI answer counts for the page it landed on.
  • Google AI Overviews stay out of sight. Google AI Mode is told apart only when the click carries udm=50, the mark AI Mode puts in its links.

questions

AI citation tracking FAQ

Straight answers, including what Skald does not do.

What is AI citation tracking?

AI citation tracking records when an AI assistant's answer links to your pages. Skald asks ChatGPT, Perplexity, Gemini and Claude your buyers' questions through their APIs, keeps every answer, and counts which of your pages each answer cites, and in what place among its links.

How does Skald know an answer cited my page?

An answer cites you when it links to a page on your site's host names, or writes a brand term as a domain. Gemini sometimes hides the address behind Google's redirect. Skald reads where the redirect leads without fetching the page, and when it cannot, the page shows "(page not known)".

Are the four counts the same people?

They come from four different records. Cited answers come from the sample, reads and visits from your server log, and leads from your forms and booking tools. Skald joins them by page and day, never by person. Read them as a path for one page, and never add them together.

Why is the visitors count lower than I expected?

Many AI apps strip the referrer, so a click from an answer often arrives as a direct visit. Skald counts only clicks that carry the assistant's address, so the count is a floor. A direct visit that lands on a page an assistant fetched up to 15 minutes before is shown as likely, apart, and never added.

What does a withheld run mean?

Every AI answers figure is counted twice: once when the answer is read, and again by a separate count from the stored text and links. A run where the two disagree is withheld. The page lists it and shows no figures for it, rather than guessing.

Do I need the script tag for the chain?

Not for the first three steps. The answers come from the assistants' APIs, and the reads and visits come from your server log. The lead step needs a source of leads: a booking tool's webhook, your server's lead push, your lead database or the script tag. Lead attribution, explained.

$ tail -f access.log | skald

See what AI does with your site. Free for 30 days.

No card. We set up hosted Skald for you within one working day, or you self-host it free. Every line of your log, sorted and added up.

Start free trial Live demo