You want to know whether ChatGPT is using your website. The tools that promise an answer ask a sample of questions, note which sites the assistant mentions, and sell you a score. Your own server holds better evidence, and it is free. The catch is that “using” is really three separate events. A bot fetched the page. The assistant cited it. A person clicked. Your server can show you two of them.
Is ChatGPT using my website? The short answer
Look in the file your web server keeps of every request for three names. ChatGPT-User, Claude-User and Perplexity-User only appear when a real person asked a question and the assistant read your page to answer it. Then look in your analytics for visitors who came from chatgpt.com, claude.ai or perplexity.ai, or whose link carried a tag such as utm_source=chatgpt.com.
Set the two beside each other, page by page. A live read followed within minutes by a visitor is the closest thing to seeing your own citation that exists.
What you will never see is the citation itself. No tool can look inside a ChatGPT, Perplexity or Claude answer. Bing and Google now publish reports for their own assistants, and nothing exists for the other three. The rest of this article explains the three events, shows nine days of real data from a news site we run, and ends with the two searches you can run today without installing anything. If you only want those, skip to the how-to section near the end.
Fetched, cited and clicked are three different things
Fetched
A bot asked your server for the page. This is the only one of the three events that happens on your side, so it is the only one you can count directly. It shows up in your server’s request file and in any plugin that watches for bot names. A fetch tells you the page was read, not what happened to it afterwards.
Cited
The assistant showed your link, or your name, inside its answer. This happens on the assistant’s screen and nowhere you can see.
Fetched is not cited. An AirOps study in March 2026 followed 548,534 pages that ChatGPT retrieved while answering 15,000 prompts and found that only 15 percent were cited in the final answer. Ahrefs, counting differently across 1.4 million prompts in April 2026, put it at about half. The two studies counted different things over different prompt sets, and both agree on the point.
Most pages an assistant reads are never shown to the person who asked.
Clicked
A person arrived on your site from the answer. Cited is not clicked either. Pew Research watched 900 people’s Google searches in March 2025 and found that a link inside a Google AI summary was clicked in about 1 percent of searches that showed a summary. A click is visible in your analytics, but only when the visitor’s browser passes on where it came from, or the assistant tagged the link. Both go missing more often than you would think, which is the subject of a later section.
The bot names that mean a person asked
For the three biggest assistants, three bot names mean a person asked a question and the assistant read your page to answer it. ChatGPT-User, Claude-User and Perplexity-User. Smaller assistants have their own live readers, such as DuckDuckGo’s DuckAssistBot. Every other name from these companies is collecting pages in advance, either to train a model or to build the assistant’s own stored copy of the web. OpenAI and Anthropic each run three bots. Perplexity runs two.
OpenAI
ChatGPT-User is the live reader. OpenAI’s bots page says of its visits, “Because these actions are initiated by a user, robots.txt rules may not apply.” OAI-SearchBot builds the index behind ChatGPT search, and OpenAI says a site that opts out of it will not be shown in ChatGPT search answers, apart from plain navigational links. GPTBot collects pages for training. A GPTBot visit says nothing about whether you appear in ChatGPT, and blocking GPTBot does not remove you from ChatGPT search. Those are the two mistakes we see most often.
Anthropic
Claude-User is the live reader. Anthropic’s crawler page says, “When individuals ask questions to Claude, it may access websites using a Claude-User agent.” Claude-SearchBot builds the search index and ClaudeBot collects for training. Anthropic says all three obey robots.txt, which is stricter than what OpenAI and Perplexity say about their live readers.
Perplexity
Perplexity-User is the live reader. Perplexity’s bots page says, “When users ask Perplexity a question, it might visit a web page to help provide an accurate answer and include a link to the page in its response.” It also says this fetcher generally ignores robots.txt. PerplexityBot builds the search index. Perplexity documents no training bot.
These are the vendors’ own descriptions. We take them at face value because they match what we see, but your log cannot prove them. These three companies publish the internet addresses their bots use, so a name in your log can be checked against them. Fakes exist.
Our plugin marks each visit as Verified or Spoofed. It shows Unverified when the check could not be completed, and No check when the company publishes no addresses or the visit came from an imported log file.
Google and Microsoft are different. Gemini leans on Google’s own copy of the web and Copilot on Bing’s, so neither has a separately named live reader that we have seen before a visit. Google does document some user-triggered fetchers with their own names. On our two sites, neither company showed a live read before any visitor they sent.
How ChatGPT referral traffic and other AI clicks show up
A click reaches your site in two ways. The visitor’s browser can pass on the address it came from, which is called the referrer. And the assistant can add a small tag to the end of the link, such as utm_source=chatgpt.com, which stays attached even when the browser passes nothing on. Each assistant does this differently, and the differences decide how much of your AI traffic you can see.
Two analytics terms appear in the table. Direct traffic is what an analytics tool calls a visitor whose browser passed on nothing about where they came from, as if they had typed the address in. Google organic means the visitor came from an ordinary unpaid Google search result.
| Assistant | What arrives with the visitor | What you see when nothing arrives |
|---|---|---|
| ChatGPT | Referrer chatgpt.com, and a tag utm_source=chatgpt.com on most links | Direct traffic |
| Perplexity | Referrer perplexity.ai, no tag documented | Direct traffic |
| Claude | Referrer claude.ai, no tag. The desktop and phone apps often send nothing | Direct traffic |
| Google Gemini | Referrer gemini.google.com, and on our site often a tag utm_source=gemini | Direct traffic |
| Microsoft Copilot | Referrer copilot.microsoft.com or m365.cloud.microsoft, no tag documented | Direct traffic |
| Google AI Overviews and AI Mode | Referrer google.com, same as ordinary Search, or nothing | Google organic or direct. Cannot be told apart |
OpenAI’s publisher FAQ says ChatGPT “automatically includes the UTM parameter utm_source=chatgpt.com in referral URLs” from its search results, and in June 2025 OpenAI extended the tag to links in the “More” sources panel, which had carried no tag until then, as Search Engine Roundtable reported. Cloudflare noted in July 2025 that clicks from Claude’s native app carry no referrer at all, and said it believes the same is true of other assistants’ apps.
Our own logs show why the tag matters more than the referrer. Of 139 visitors that AI assistants sent to the news site over nine days, 41 arrived with no referrer at all and were recognised only by a tag. Of the 65 from ChatGPT, 63 carried the tag and 28 sent no referrer.
One ChatGPT click came by way of a link-in-bio page, and the tag survived the hop because the middle page passed the whole link on unchanged. Count by referrer alone and you lose about three visitors in ten.
Three things in our logs do not match the public record, and we report them with care. Of the 50 visitors Gemini sent, 28 carried utm_source=gemini, which two widely used guides from June 2026, from Seer Interactive and Lawrence Hitches, say Gemini does not add.
Of the 6 visitors Copilot sent, 4 arrived with no referrer and a tag of utm_source=copilot.com, and a travel site we run recorded one more, a tag Microsoft does not document on any page we could find. And one Perplexity visitor arrived with no referrer and utm_source=perplexity.
A tag can be added by anyone who shares a link, so a single sighting proves little. Twenty-eight Gemini sightings in nine days is harder to explain away.
What nine days on a news site actually look like
We installed the free plugin and the Pro add-on on a news site we run on 16 September 2026, so every figure here covers the nine days to 24 September. Claude read its pages 1,911 times for people who had asked it something. It sent five people to the site.
ChatGPT read pages 2,190 times and sent 65 people. Perplexity’s live reader was never seen at all, its index crawler made 195 visits, and Perplexity sent 12 people. Gemini and Copilot sent 56 people between them without a single visible read, and Meta AI sent one.
| AI company | Live reads | Visitors sent |
|---|---|---|
| OpenAI (ChatGPT) | 2,190 | 65 |
| Anthropic (Claude) | 1,911 | 5 |
| Google (Gemini) | 0 | 50 |
| Perplexity | 0 | 12 |
| Microsoft (Copilot) | 0 | 6 |
In all, just over 9,000 bot visits reached WordPress in those nine days, 4,150 of them live reads, 4,101 by the three readers in the table and the rest by smaller assistants, against 139 visitors sent. A travel site we run, over the 30 days to 24 September, recorded 249 live reads and 10 visitors, and Claude-User made 92 of those reads while Claude sent nobody. The pattern is the same on both. Assistants read far more than they send.
Every count here is a floor. Both sites are served from a cache, and a cached copy never reaches WordPress, so the live reads are at least these numbers. Our article on caches hiding bots explains why. Across its whole network Cloudflare measured, in early August 2025, about 887 OpenAI bot requests for every page view ChatGPT referred and nearly 50,000 Anthropic requests for every page view Claude referred. Those figures count every bot a company runs, training crawlers included, so they are not the same measure as ours.
Putting the two together, page by page
Totals tell you assistants read a lot and send a little. The useful question is smaller. When ChatGPT sent this person to this page, had ChatGPT’s bot read this page first? Our plugin checks that for every visitor and gives one of three answers.
After a live read
The same company’s live reader fetched that page in the ten minutes before the person arrived, a window you can change in the plugin’s settings. The assistant read your page to answer someone, showed the link, and the person clicked. It does not prove the answer quoted you, but it is the clearest sign of a citation you can get from outside.
After an earlier crawl
No live read in those ten minutes, but one of the company’s bots had visited that page at some earlier time on record. The assistant most likely answered from a copy it collected before. It does not tell you how old that copy was.
No bot seen
Nothing from that company on record for that page. It does not mean the assistant never read it.
The read may have been answered by your cache, or it happened before logging began, or the assistant answered from an index or training data, or the bot read the same content at a different address, such as the feed or the plain-data version WordPress publishes alongside every post for apps to use.
Copilot visitors are always in this group, because no Microsoft bot has a name the plugin can watch. Gemini visitors land here too, unless Google’s GoogleOther crawler has been seen on that page, in which case they show as after an earlier crawl.

What the pages showed
Of the 139 visitors, 3 came after a live read, 35 after an earlier crawl and 101 with no bot seen. Two of Claude’s five visitors came after a live read. One arrived at a camping guide within ten minutes of Claude-User reading that exact page, which is as close to watching a citation happen as the outside world allows. An article forecasting mortgage rates was read live 26 times and received 4 visitors, mostly from ChatGPT, none of them within ten minutes of a live read.
Then there is the other kind of page. An interactive data page received 14 visitors, the most of any page and more from ChatGPT than from any other assistant, and no OpenAI bot read of it reached WordPress in the nine days. ChatGPT clearly knows the page. It may have read it before logging began, it may be answering from its search index, or the cache may have answered every read.
That is the “no bot seen” group in one example, and it is why that group is 73 percent on a cached site rather than a sign the pairing failed.
What your log can and cannot prove
Your log can prove that a bot from that company read the page because a person asked, that the read came from the company’s published addresses rather than an imitation, and that a person clicked a link carrying the assistant’s mark. Set beside each other, page by page, they show which pages assistants use and which ones they send people from.
Your log cannot prove that an answer quoted you, that it linked to you, or how many people saw it. It cannot tell one answer from several, because a live reader often fetches several pages within seconds to answer one question. And it undercounts. Cached reads never arrive, native apps send no referrer, and some assistants fetch pages under an ordinary browser name with no referrer, so anything you count for them is a minimum.
The honest rule is the one our plugin’s own export notes use. Live reads are the most a page could have been used in answers. Visitors are the least often its link was shown. Report both, and never a single “citation rate” between them.
Where citations do show
Two vendors, each reporting only on its own assistant. Bing Webmaster Tools added an AI Performance report in February 2026 that counts citations of your pages in Copilot, Bing’s AI answers and some partner products, with a sample of the queries behind them. Google Search Console’s generative AI report, worldwide since 31 August 2026, shows how often your links appeared in AI Overviews and AI Mode, with no clicks.
Nothing of the kind exists for ChatGPT, Perplexity or Claude. Our earlier article on finding the prompts that sent AI to your site covers what those reports do and do not reveal.
How to check without installing anything
In your server log
Your web server keeps a file of every request. If you can reach it over SSH, a command-line connection to your server, one search command counts the three live readers by name. Change the path to wherever your host keeps the file, often /var/log/apache2/access.log on Apache.
grep -ohE 'ChatGPT-User|Claude-User|Perplexity-User' /var/log/nginx/access.log \
| sort | uniq -c
To see the full lines and the page each bot fetched, drop the -o and everything after the file name. That file usually holds only the last day or so. Add a star to the name, access.log*, to include older copies, and use zgrep instead of grep if some of them end in .gz.
If you cannot reach the file over SSH, download it from your hosting control panel and search it on your own computer. If your site sits behind a cache, the file holds only the reads the cache did not answer, so these counts are floors too.
In Google Analytics
Open Reports, then Acquisition, then Traffic acquisition. Change the first column to Session source and search for chatgpt.com. Repeat for perplexity.ai, claude.ai, gemini.google.com and copilot.microsoft.com. Add Landing page + query string as a second column to see where they arrived.
When a link carries the utm_source tag, GA4 records the source from it whether or not a referrer arrived, so this catches both signals. Since 13 May 2026 GA4 also groups these under an AI Assistant channel, which is not applied to older data and misses anything Google has not put on its list. Our article on tracking AI traffic in Google Analytics goes deeper.
If you would rather not read a log, Forge AI Bot Log shows the bot names on your own WordPress site today and checks each one against the company’s published addresses. Pro adds the visitor pairing shown above.
Common questions
Does a GPTBot visit mean my page is in ChatGPT?
No. GPTBot collects pages for training, and OpenAI’s models do not keep a record of which page taught them what. The bots that put you in front of a ChatGPT user are OAI-SearchBot, which builds the search index, and ChatGPT-User, which reads a page live for a question.
Does Perplexity cite my website?
Nothing outside Perplexity can show you its citations. What you can see is PerplexityBot building its index from your pages, Perplexity-User reading a page for a question, and visitors arriving with a perplexity.ai referrer. On the news site Perplexity sent 12 people in nine days without one visible live read, so it appears to answer from its index and link to you from there.
Why do I get visitors from Gemini with no Google bot read first?
Because Gemini answers from Google’s own copy of the web, gathered by Googlebot, which is not an AI bot and is not logged as one. Copilot works the same way with Bing. Copilot visitors will always show “no bot seen”. Gemini visitors will too unless Google’s GoogleOther crawler happened to visit the page earlier, and that is expected.
Why does Claude read so many pages and send so few people?
Nobody outside Anthropic knows. Claude-User made 1,911 reads on the news site in nine days and Claude sent five people. Part of the gap is that Claude’s apps send no referrer, so some of its visitors land as direct traffic. Part is that it reads several pages to answer one question. The rest is Claude’s choice about when to show a link.
Treat the reads as the most your pages could have been used and the visitors as the least. Our article on ClaudeBot covers Anthropic’s three bots.
See it on your own site
The free plugin logs every AI bot visit on your WordPress site, names the three live readers, and checks each visit against the company’s published addresses. Pro adds the visitors each assistant sent and what the same company’s bots did on that page beforehand.