
How to Track When AI Tools Cite or Recommend Your Business

Table of Contents
How to Track When AI Tools Cite or Recommend Your Business #
No answer engine publishes a complete feed of every time it named you. You
observe citations and recommendations the same way I do on audits: freeze a
20–50 prompt panel, re-run it on a calendar, score mention vs citation vs
recommendation, then read Search Console generative-AI impressions and GA4's
AI Assistant channel — knowing Google AI Overview clicks hide inside Organic
Search.
I am William Spurlock. I have been SEO-certified since 2021; the work now
sits under AEO, AIO, and GEO. I have shipped hundreds of production sites and
logged 20,000+ hours inside agentic systems. I do not invent client names,
fake citation lifts, or vendor prices I did not check. This post is the
operator method for one question: am I being cited or recommended, and how
would I know this week?
This is a spoke, not a rewrite. June 27
how to measure AI visibility
owns what to count. August 14
building an AI visibility dashboard
owns where the numbers live. August 15
agency tools stack
owns which paid seats. June 4
did Google AI Overviews cause your traffic drop
owns the click-drop autopsy. I am answering the weekly observation job they
leave open.
Freeze the prompts. Re-run them. Score mention / citation / recommendation.
Then read GSC, GA4, logs, and HDYHAU. If you only buy a GEO dashboard and
never freeze the prompt set, you are renting a chart. That is not tracking.
How do I actually observe citations and recommendations this week? #
You observe them by running a frozen prompt panel, scoring three different
signals on the raw answers, then checking four instruments that disagree on
purpose: Search Console generative-AI impressions, GA4 AI Assistant vs Organic
Search, server logs, and a self-reported "how did you hear about us" field.
No vendor gives you an internal "we recommended you" bit. Tools measure
mentions and citations. Recommendations are a judgment you mark on the answer.
That is the whole stack. Four layers, one calendar, one prompt list you refuse
to edit after a bad week.
| Layer | Question it answers | What it cannot answer |
|---|---|---|
| Prompt panel | Did this engine name us, cite us, or recommend us on these buyer questions? | How many real users saw that answer |
| Search Console generative-AI report | Did Google show our links inside AI Overviews or AI Mode? | ChatGPT, Perplexity, or a recommendation to hire you |
| GA4 Default channel group | Did someone click from an AI assistant, or from Google search (including AI Overviews / AI Mode)? | Silent recommendations that never produce a session |
| Logs + HDYHAU | Did a host we care about hit the site, and did a buyer say an assistant sent them? | Which prompt produced the name-drop |
Mentions, citations, and recommendations are not three words for the same
event. If you collapse them into one "AI visibility" cell, you will celebrate
a name-drop that never pointed at your URL and never told anyone to hire you.
| Signal | What you saw in the answer | What it is not |
|---|---|---|
| Mention | Your brand, product, or person name appears | A source. A hire/buy suggestion. Proof anyone clicked. |
| Citation | A URL, domain, or named source credit pointing at you | A recommendation to buy or hire. A GA4 session. |
| Recommendation | You are named as the option to hire, buy, or shortlist | A footnote. A mention in a "others include…" dump. |
| Click | A session arrived from a known host or from google/organic | Proof the engine recommended you. Most recommendations never click. |
I score those four columns on every prompt, every run. A mention without a
citation is a rumor. A citation without a recommendation is a footnote. A
recommendation without a click is still a win — that is the point of answer
engines. The click is a fifth event, not the definition of the first three.
The prompt panel is the instrument. Everything else is a side channel. #
A paid GEO dashboard is not tracking if you never freeze a 20–50 prompt
panel and re-run it on a calendar. I will say that in every audit kickoff
until the category grows up. Otterly, Peec, Profound, Semrush, and Ahrefs can
run prompts for you. They cannot invent a stable denominator. You invent the
denominator by writing the questions once and refusing to swap them after a
loss.
How I build the first panel this week:
- Pull 20 core buyer questions from sales calls and intake forms —
category, comparison, local, and proof. - Add up to 30 more only if you will actually re-run them. A sloppy 50
is worse than a clean 20. - Freeze the wording. New questions go in an experimental tab.
- Run the same engines in the same state. ChatGPT, Perplexity, and
Google AI Overviews are the minimum. Add Gemini, Copilot, or Claude Opus
4.8 when buyers actually use them. Logged-out or a fresh session. - Save the raw answer. A yes/no cell without the text is how you lose
the argument next month.
| Prompt type | Example shape | Why it belongs |
|---|---|---|
| Category | "Who should I hire for [job] in [market]?" | This is the recommendation test |
| Comparison | "[You] vs [named rival] for [job]" | This is where you disappear as "also mentioned" |
| Local | "[Service] in [city] for [constraint]" | GEO without a place name is a daydream for most operators |
| Proof | "Is [category] worth it for a [buyer type]?" | Citation test — does anyone point at your URL? |
| Negative | "What are the risks of hiring a [category]?" | Sentiment test — are you the warning or the fix? |
I do not let a tool "discover 2,000 prompts" and then call the blended score
my visibility. Discovery is research. The panel is the exam. Mix them and you
cannot trend anything.
Search Console: Google-side presence, impressions only #
Google's
Generative AI performance report
(Search Console Help, fetched August 2026) is the first-party answer to "did
Google show our links inside AI features?" It is not a ChatGPT log. It is
not a GA4 channel.
What that help page actually lists:
- Impressions for AI Overviews and AI Mode only — "how many times
links to your site were shown to a user in a generative AI feature on
Google Search." - Dimensions: dates, pages, countries, devices.
- Chart totals aggregate by property (two results from one site in one
feature = one chart impression). Newest points can be preliminary. - Rolling out to a subset of owners. Missing report can also mean too
few impressions, or the site is excluded from Search generative AI
features. Search Labs experiments are excluded.
I am not adding clicks or CTR. The help page I fetched does not list them
for this report. Official wins over roundups. Treat GSC here as presence,
not traffic.
GA4: clicks that arrived, split the way Google splits them #
Default channel group
(Analytics Help, fetched August 2026) is explicit:
- Organic Search is non-ad organic-search arrivals, including Google's
AI Overviews and AI Mode. - AI Assistant is arrivals from sources like ChatGPT, Gemini,
Deepseek, Copilot, or Grok. It excludes Google's AI Overviews and AI
Mode. - For the AI Assistant definition, the medium is
ai-assistant, and
Analytics sets campaign to(ai-assistant)when the referrer matches
Google's AI-assistant list.
That is why "I filtered Organic Search and still cannot see AI Overviews" is
not a bug. Google folded those clicks into the same google / organic bucket
as blue links. Roundups from Patrick Stox and Nice Looking Data say you cannot
isolate AI Overview clicks in GA4. Official language agrees: they sit inside
Organic Search.
On May 13, 2026, Google
announced that channel. If ChatGPT still lands in Referral, fix order —
next section covers the custom group.
Server logs and "how did you hear about us" #
GA4 only sees a click that survived tags, consent, and a referrer. Plenty of
assistant traffic arrives as a typed URL or a branded search after the chat.
I still keep two ugly, honest instruments:
- Host or CDN logs for
chatgpt.com,chat.openai.com,perplexity.ai,gemini.google.com,copilot.microsoft.com, and
whatever else your buyers use. Logs catch hits that analytics drops. They
still do not tell you the prompt. - Self-reported attribution. Put "An AI assistant recommended you"
on the form as a real option, not a free-text "Other." Train whoever
answers the phone to log the same phrase. Buyers who researched in
ChatGPT often show up as Direct. The form is the only place they confess.
Cadence I actually use: weekly on a tight 20-query core if you are in a
fight; monthly full 20–50 plus GSC/GA4/HDYHAU if you are not; daily
paid refresh only for agencies and retainers. A graveyard of daily
screenshots nobody scored is not an audit.
If you want the dashboard these layers feed, use
the August 14 build guide
— one paragraph, then stop. This post is how you collect the observations.
Does Google Analytics show traffic from AI Overviews? #
GA4 will count a click from an AI Overview or AI Mode as Organic Search,
mixed with ordinary google/organic blue-link clicks. It will not give you a
clean "AI Overviews" channel. Google says so on the
Default channel group
page: Organic Search includes those Google AI features, and the AI Assistant
channel excludes them.
So the honest answer to the question in this heading is: yes, if someone
clicked, and no, you cannot see it as its own row. Presence of your URL
inside an overview without a click is a Search Console impression problem,
not a GA4 problem. I will not pretend there is a hidden exploration that
splits AIO clicks out of Organic Search. If Google adds one later, cite the
new help page. Until then, official language is the ceiling.
| Arrival | Default channel (official) | What you can claim | What you cannot claim |
|---|---|---|---|
| Click from an AI Overview or AI Mode | Organic Search | "A Google organic session arrived" | "This session came from an AI Overview" |
| Click from ChatGPT, Gemini, Deepseek, Copilot, or Grok (on Google's list) | AI Assistant | "An AI-assistant session arrived" | "ChatGPT recommended us" |
| Click from an assistant host Google has not classified | Often Referral until you fix channel order | "This hostname sent a session" | "Default AI Assistant is complete" |
| Named in an answer, no click | Nowhere in GA4 | Nothing | "Zero AI impact" |
| Buyer types your URL after a chat | Direct (typical) | "A direct session arrived" | "AI did not influence this" |
That table is why I run the prompt panel. GA4 is a click ledger. Answer
engines are a recommendation surface. Using the click ledger as the
recommendation surface is how operators talk themselves into "AI is not
doing anything" while ChatGPT is handing their category to a rival.
The May 13, 2026 AI Assistant channel — use it, then verify the hosts #
Google's
What's new in Google Analytics
entry for May 13, 2026 says Analytics now measures traffic from popular
AI assistants with:
- Medium
ai-assistantwhen the referrer matches a recognized assistant - Channel AI Assistant in the Default Channel Group
- Campaign name
(ai-assistant)
The announcement names ChatGPT, Gemini, and Claude as examples. The Default
channel group page names ChatGPT, Gemini, Deepseek, Copilot, and Grok, and
repeats the exclusion of Google AI Overviews and AI Mode. I report both
pages. I do not invent a host list Google did not publish.
First week in Traffic acquisition: Session default channel group, confirm
AI Assistant is a row, then secondary-dimension Session source. Write
down hosts inside AI Assistant and hosts you expected that still sit in
Referral. Compare the two channels. Do not subtract. If chatgpt.com is in
Referral, build a custom group.
Custom channel groups: AI Assistants above Referral, or ChatGPT gets eaten #
Google's
custom channel groups
help page has an Example: AI assistants section. Two rules from that
page matter more than any blog regex you copied in 2025:
- Traffic is included in the first channel whose definition it matches.
- Reorder so "AI Assistants" appears above "Referrals." Google says
that in those words. You can also place it above Organic Search if you
need to. If you leave Referral first,chatgpt.combecomes Referral and
your AI row stays empty.
Google's own example regex on that page (fetched August 2026) is:
^.*ai|.*\.openai.*|.*chatgpt.*|.*gemini.*|.*gpt.*|.*copilot.*|.*perplexity.*|.*google.*bard.*|.*bard.*google.*|.*bard.*|.*.*gemini.*google.*$That pattern is broad. .*ai will catch hosts you did not mean. Treat it as
Google's starting example, not a sacred list. I tighten it to hosts I have
actually seen in referrals, then I update it when a new assistant shows up
in logs. Google's note on the same page: update the regex when URLs or the
assistant list change.
A tighter condition I use when I do not want .*ai matching random hosts
(RE2, escape the dots):
chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|deepseek\.com|grok\.com|meta\.aiPlace that channel above Referral. Give it a day. Then check whether
those sources left Referral. If you need the click-path walkthrough inside a
Looker build, that is
the dashboard post.
Here the job is simpler: do not let Referral eat the only assistant clicks
you can see.
What GA4 will never tell you about AI Overviews #
AIO / AI Mode clicks are Organic Search. Impressions without clicks live
in Search Console. A GPT-5.5 or Gemini 3.1 Pro shortlist that sends a typed
URL lands Direct. If Organic Search is down and you want the drop autopsy,
use
did Google AI Overviews cause your traffic drop
and
why your traffic is dropping even though you still rank.
This post will not redo that.
What KPIs should I track for AI visibility in 2026? #
Track six weekly observation KPIs: mention rate, citation rate,
recommendation rate, Search Console generative-AI impressions (when the
report exists), GA4 AI Assistant sessions, and self-reported AI leads. Do
not invent a seventh "AI revenue" cell by multiplying a mention rate by
average deal size. The June pillar
how to measure AI visibility
is the metric dictionary. This section is the scorecard you fill in on a
calendar.
I keep the weekly sheet ugly on purpose. If a number does not come from a
frozen prompt, a Google property, or a form field a human filled, it does not
get a column.
| KPI | How I compute it this week | Source | Cadence |
|---|---|---|---|
| Mention rate | Prompts where the brand name appears ÷ prompts run | Prompt panel | Weekly if you are in a fight; else monthly |
| Citation rate | Prompts with a URL or named source pointing at you ÷ prompts run | Prompt panel | Same |
| Recommendation rate | Prompts where you are the hire/buy/shortlist option ÷ prompts run | Prompt panel | Same |
| Competitor mention rate | Same math for the rival you actually lose deals to | Prompt panel | Same |
| GSC gen-AI impressions | Property total, plus top pages | Search Console generative-AI report | Weekly glance, monthly write-up |
| GA4 AI Assistant sessions | Sessions (and key events, if you have them) on that channel | GA4 | Weekly |
| HDYHAU AI leads | Form or call logs that picked the AI option | CRM / form | Weekly |
Those are observation KPIs. They are not a substitute for the pillar's Share
of Model definition, and they are not a dashboard spec. If you want Share of
Model, sentiment bands, and parametric vs retrieval layers, read the parent
pillar. If you want six Looker panels, read August 14. Here I only care
whether you can answer Friday's question without lying.
What I refuse to treat as the KPI #
| Fake KPI | Why it lies | What I log instead |
|---|---|---|
| "AI Overview traffic" in GA4 | Officially inside Organic Search | GSC gen-AI impressions, separately |
| Raw mentions on an unfixed prompt set | Prompt drift fakes the trend | Rate on a frozen panel |
| ChatGPT sessions as "recommendations" | A click is not a shortlist | Recommendation rate, plus sessions as clicks |
| Brand24 / Meltwater hit counts | Web mentions are not answer citations | Prompt-panel citation rate |
| A vendor score with no denominator | You cannot replay the exam | Your 20–50 prompts, three scores |
If the prompt list is not frozen, you are not measuring. A $29 seat and a
$499 seat fail the same way when the questions move every Monday.
A one-week scoring prompt I actually paste #
I score answers with a tight instruction so I do not "feel" a citation that
is only a name-drop. Allowed use: this is a prompt, not an app tutorial.
You are scoring one AI answer. Do not rewrite it.
Prompt: {prompt}
Engine: {engine}
Date: {ISO date}
Answer: {paste raw answer}
Return only:
- mention: yes/no — our exact brand or product name appears
- citation: yes/no — a URL, domain, or named source credit points at us
- recommendation: yes/no — we are named as the option to hire, buy, or shortlist
- competitors_named: comma list
- sources_cited: comma list of domains
- note: one sentence on framing (warning, footnote, or pick)I still read the answer. Models miss sarcasm and "avoid this vendor"
patterns. Claude Sonnet 5 or GPT-5.4 mini can pre-fill the grid. I own the
yes/no. If I am scoring Gemini 3.1 Pro or GPT-5.5 outputs, I do not let the
same model family grade itself without a pass from me.
Do not build Looker before you have four weeks of a frozen panel. The
dashboard post
is where these numbers sit later. For earning the recommendation, use
how to get ChatGPT and Perplexity to recommend your business
and the
AI Overviews playbook.
The
GEO 2026 playbook
is the program. This post is the weekly exam.
How do I benchmark my AI visibility against competitors? #
Benchmark against competitors on the same frozen prompt panel, the same
engines, the same week — then compare mention, citation, and recommendation
rates plus the domains the engines actually cite. Do not benchmark your
Otterly score against their Profound score. Do not benchmark your GA4 AI
Assistant sessions against their organic traffic. Those are different
instruments pointed at different events.
I pick one rival the sales team actually loses to, plus a second only if
you have the hours. A ten-competitor matrix on 50 prompts is how the
spreadsheet dies in week three.
| Bench column | You | Competitor A | Why it exists |
|---|---|---|---|
| Mention rate | % | % | Are we in the answer at all? |
| Citation rate | % | % | Are we a source, or just a name? |
| Recommendation rate | % | % | Are we the pick? |
| "Named first" rate | % | % | Order is a weak signal; still useful on shortlists |
| Unique cited domains | list | list | This is the content and PR map |
| GSC gen-AI impressions | your property only | you cannot see theirs | Do not fake a competitor GSC |
| GA4 AI Assistant sessions | your property only | you cannot see theirs | Same rule |
You will never see their Search Console or their GA4. Anyone selling you
"competitor AI traffic" is selling a guess. What you can see is the same
public answers they can see. That is the bench.
How I run a competitor week without moving the goalposts #
- Same prompts. Adding one because you look bad invalidates the month.
- Same engines, same sitting. Do not split ChatGPT Monday and
Perplexity Friday and call it one sample. - Same rubric. A footnote is a mention. "The one I would hire" is a
recommendation even if your URL is also cited. - Take their cited domains, not their adjectives. That list is next
week's outreach. - Write rates. "They were recommended on 8 of 20; we were on 2" is a
bench. "They seem more visible" is a mood.
| Outcome this week | What I do next week | What I do not do |
|---|---|---|
| They get the recommendation; we get a mention | Find the third-party pages in sources_cited and get named there |
Rewrite the homepage for the fourth time |
| We get the citation; they get the recommendation | Tighten the "who we are for" page and the comparison page | Call a citation a win in the Slack channel |
| Neither of us is named | The engine is using a different shortlist — usually directories, review sites, or a publisher you both ignored | Buy a bigger GEO seat before you have proof pages |
| We win recommendations, GA4 is flat, or GSC impressions rise without recs | Believe the panel; Google showing you ≠ chat picking you | Panic at "zero AI traffic" or treat GSC as ChatGPT |
Share of voice on the panel is your citations (or recommendations — pick one
and keep it) divided by all brand citations in the set. I keep those as two
rows. Blending them is how a footnote starts looking like a shortlist. Your
bench is the rival, last month, and the same 20 prompts — not a universal
"good" percentage.
Paid trackers vs the bench you already have #
As of August 2026, list pages and roundups put Otterly near $29/month
entry, Peec near €85–89, and Profound often quoted $499+ enterprise.
Vendor pages disagree. Verify on the vendor site before you budget. Seat
depth lives in
the agency tools stack.
| Job | Spreadsheet | Paid runner |
|---|---|---|
| Frozen 20-prompt core | Yes, if you re-run it | Yes, if you load your prompts |
| Daily multi-engine refresh | No | Yes — this is the actual upgrade |
| Competitor roster / client login | One rival in a sheet | A roster and a branded chart |
| Mention ≠ citation ≠ recommendation | Only if you keep three columns | Only if you still read answers |
| GSC impressions / GA4 AI Assistant | You already have both | A GEO seat does not replace them |
Buy a runner when the calendar is the bottleneck. The prompts are the
measurement.
Frequently Asked Questions #
What is the best tool for monitoring AI citation tracking in 2026? #
The best "tool" is a frozen 20–50 prompt panel you re-run on a calendar.
Paid runners sit on top of that; they do not replace it. As of August
2026, list pages and roundups put Otterly near $29/month entry, Peec near
€85–89, and Profound often quoted $499+ at enterprise — confirm the live
vendor page before you budget. For seat-by-seat depth, use
the agency stack.
There is still no first-party Search Console for ChatGPT. Anyone selling
you one is selling a prompt runner with a nicer chart.
How often should I audit my AI visibility performance? #
Weekly on a tight 20-query core if you are in a competitive fight; monthly
for a full audit if you are not; daily only if someone is paid to watch a
retainer. I do not put a solo operator on daily paid refreshes in week
one. The exam has to be the same exam. A monthly row you trust beats a
daily chart you never scored. After a content or PR sprint, add one extra
panel run two weeks later — not the next morning.
What does a good AI visibility report look like? #
Four separate facts, not one blended score: mention rate, citation rate,
recommendation rate on the frozen panel, plus GSC generative-AI impressions
and GA4 AI Assistant sessions as their own lines. Add the rival's rates
and two raw-answer screenshots. Forbidden: multiplying mentions by deal
size, calling a ChatGPT hostname a recommendation, or reporting a vendor
visibility index with no prompt list. The August 14
dashboard post
has the one-pager layout. This post is how you fill it without fiction.
Can I use Brand24 or similar tools to track AI mentions? #
Brand24-class social listening does not replace AI-answer citation
tracking. Those products watch web and social mentions. Some now sell an
LLM add-on. That add-on is still a prompt runner with a listening company
attached — it is not a complete "every time we named you" feed, and it is
not Search Console. Keep Brand24 or Meltwater if PR is in scope. Do not
let a mention spike stand in for citation rate or recommendation rate on
your frozen panel.
What is the difference between Search Console and GA4 for AI visibility? #
Search Console's generative-AI report counts impressions when Google shows
your links in AI Overviews or AI Mode.
Google's help page
does not list clicks or CTR for that report. GA4 counts sessions that
clicked. AI Overview and AI Mode clicks sit in
Organic Search.
Assistant clicks sit in AI Assistant when Google recognizes the host.
GSC answers "did Google show us." GA4 answers "did someone arrive." Neither
answers "did ChatGPT recommend us."
Do ChatGPT referrers mean ChatGPT recommended my business? #
No. A chatgpt.com session means someone clicked a link. It does not mean
ChatGPT named you as the hire. People click citations from comparison
answers, from "source" footnotes, and from curiosity. Recommendation rate
lives on the prompt panel. If ChatGPT never appears in GA4, you may still
be getting recommended — buyers often arrive Direct after the chat. If
ChatGPT appears in Referral instead of AI Assistant, fix channel order
(custom channel groups:
AI Assistants above Referral) before you write a narrative.
Can I see if Perplexity cited my site? #
Yes, by running your frozen prompts in Perplexity and reading the cited
sources — and sometimes by a perplexity.ai referrer if someone clicks.
Perplexity is built to show sources. That makes citation scoring easier
than in a chat that hides links. It still does not give you a site-wide
"every query that named you" export. Google's AI Assistant examples on the
Default channel group page do not list Perplexity; the custom-channel
example regex does include perplexity. Check both GA4 and the raw answer.
Do not wait for a first-party Perplexity Search Console. It does not exist.
How do I set up alerts when an AI tool stops citing me? #
Alert on flips inside the frozen panel, not on a vendor's blended
visibility index. Paid runners (Otterly, Peec, Profound class) can email
you when a saved prompt drops a mention or citation — useful once the
prompt list is yours. Pair that with a monthly human pass for
recommendation and framing, because "still mentioned" can mean "listed as
the one to avoid." Add a GA4 notification if AI Assistant falls to zero
while Referral picks up the same hosts. Skip Brand24-style keyword spikes
as citation alerts. Those are a different sport.
Book a $500 AI Visibility Audit #
The $500 AI Visibility Audit credits toward a build. I freeze a prompt
panel on your buyer questions, score mention vs citation vs recommendation,
read Search Console generative-AI impressions if the property has the
report, and tell you whether GA4 is hiding assistant clicks in Referral. If
the site is why you never get named, we talk about an AIO/AEO-ready site —
same /contact form.
SEO-certified since 2021. The job now is whether GPT-5.5, Gemini 3.1 Pro,
Perplexity, and Google AI Overviews say your name when a buyer asks. You
can observe that this week.
Related Posts

GEO vs AEO vs AIO: What Each One Means and Why Your Business Needs All Three
GEO, AEO, and AIO are three jobs, not three names for SEO. Here's what each owns, why buyers bounce across all three, and why your business needs all of them.

Spurlock Studios LLC Is Live. This Site Stays the Operator Blog.
Spurlock Studios LLC is live at spurlockstudios.com. This site stays the operator blog. Four lanes, published floors, and which site to use when you book.

AI Visibility for E-commerce: Getting Your Products Recommended by AI
AI shopping engines recommend products they can verify. Here is the catalog, feed, review, and entity stack that gets your SKUs named instead of skipped.


