cd /news/generative-engine-optimization/a-reproducible-way-to-log-whether-ch… · home › topics › generative-engine-optimization › article
[ARTICLE · art-156958] src=dev.to ↗ pub= topic=generative-engine-optimization verified=true sentiment=· neutral

A reproducible way to log whether ChatGPT, Gemini and Perplexity cite you (with the CSV I use)

A developer published a reproducible, no-cost method for tracking whether ChatGPT, Gemini and Perplexity cite a brand in AI answers, based on eight frozen buyer questions run across the three engines on 17 and 24 October 2026. The approach logs each answer to a CSV with date, engine, question ID, run number, cited URLs and brand presence, plus raw answer text files, and tracks two weekly metrics: citation count and slot stability. The developer reported appearing in 0 of 40 answers across both weeks, and noted that all three engines recommended running each prompt three to five times in clean sessions, while the current setup uses only one run per question per engine.

by read3 min views1 publishedOct 24, 2026

Small detail that made me write this: when I asked Perplexity "How do I check if ChatGPT recommends my product?" on 24 Oct 2026, 2 of its 10 sources were dev.to posts. Not mine, other authors. So if you write about this topic here, you are on a platform that actually gets pulled into answers.

Here is the method I use to check that week over week, without a paid tool. It is boring on purpose. Boring is reproducible.

I ran 8 fixed buyer questions on ChatGPT, Gemini and Perplexity on 17 Oct and 24 Oct. Two things stood out in the data:

If the answers move that much, a single check tells you very little. You need the same questions, asked the same way, logged the same way, repeatedly.

(And yes, for transparency: my own stuff appeared in 0 of 40 answers across both weeks. The method works fine for measuring zero.)

Write 8 to 20 questions a buyer would type, without your brand name in them. All three engines recommended testing somewhere between 10 and 50 prompts, so pick a number you will actually keep up.

Then freeze them. Put them in a file, give each an ID, and never reword. Mine look like this:

Q1 | How do I check if ChatGPT recommends my product?
Q3 | What tools can I use to see if AI assistants cite my site?
Q8 | What are cheap or free tools to monitor my brand's visibility in AI answers?

If you change the wording in week 3, you cannot compare week 3 to week 1. That is the whole game.

Record the session state as data, because it changes the answer:

Perplexity's own answer to Q1 recommended running each prompt 3 times in a clean session, on different days. Gemini said 3 to 5 runs in a temporary chat the week before. I currently do one run per question per engine, which is the weak point of my setup. If you have the time, do 3 and record the run number.

This is the header of my log.csv, plus a run column I recommend adding:

date,engine,question_id,run,web_search_or_sources_shown,cited_urls,brands_tools_named,our_presence,note

A few rules that saved me later:

blocked. Missing data you documented is still data. Keep the raw answer for each row in its own text file (raw/2026-10-24/perplexity-Q1.txt). The CSV is for counting, the raw file is for rereading.

You do not need a dashboard. Two numbers per week are enough:

The second one is underrated. It tells you how stable the "slot" you are trying to win actually is.

Logging answers tells you if you are cited. It does not tell you if anyone clicks. On the two GA4 questions, all three engines gave essentially the same answer both weeks: use GA4's AI Assistant channel, check session source/medium, and build a custom channel group above Referral with a regex. Perplexity's version of the filter:

chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai

Two caveats the engines themselves gave: some AI visits land as Direct, and Perplexity traffic can still show up under Referral even with the AI Assistant channel. I do not have my own GA4 numbers to share here, so treat this as the consensus answer, not my results.

Every engine now recommends a manual spreadsheet, alongside tools like Otterly, Peec, Profound and the HubSpot AI Search Grader. The method is not a secret. What the free advice skips is discipline: frozen wording, controlled sessions, exact URLs, week-over-week comparison.

I am on week 2 of doing this in public. If you run the same kind of log, I would genuinely like to compare overlap numbers in the comments.

── more in #generative-engine-optimization 4 stories · sorted by recency
── more on @chatgpt 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/a-reproducible-way-t…] indexed:0 read:3min 2026-10-24 · —