How do I track which AI platforms are sending traffic to my website?
How we track which AI platforms send traffic to client websites: separating human referrals from bot hits, setting up GA4 segments and attributing visits to conversions.
Almost every client conversation about AI search ends up here: "Fine, but is it sending us any traffic, and from which platform?" Answering it well starts with separating two things that get lumped together. Referral traffic is a person clicking a link in ChatGPT, Perplexity, Gemini, Claude or Copilot and arriving on the site. Crawler traffic is a bot from one of those companies fetching a page. The first measures what AI delivers. The second measures whether AI can read the site. We report both, in separate sections, and we never add them together.
Step one: a baseline in GA4
Every client has GA4, so we start there. We build a custom channel group, or a saved exploration, that applies a regex to session source for the AI platforms that matter to the client. That pulls AI visits out of "referral" and "direct" where they otherwise hide.
We are upfront with clients about its limits:
- Visits that arrive without a referrer land in direct, so the number is a floor.
- Source strings change, so we re-check the regex against real data every month or two.
- GA4 can tell you a session came from an AI platform. It cannot tell you which prompt, which citation or which page earned it.
- Bots are not in this view at all.
For a site with modest traffic, this alone answers the question well enough to start.
Step two: logs for the bot side
Crawler hits live in CDN and server logs. Cloudflare documents AI bot analytics, and other CDNs offer log access too. We use logs to confirm that the bots we want can reach the pages we care about.
We filter by real bot names: GPTBot, OAI-SearchBot and ChatGPT-User for OpenAI, ClaudeBot, Claude-User and Claude-SearchBot for Anthropic, PerplexityBot and Perplexity-User, plus Google-Agent and GoogleOther. There is no bot called "ChatGPTBot", so a filter built on that name will return nothing. User agents can be spoofed too, which is why we prefer log analysis that verifies the source IP.
Step three: joining the two
By hand, steps one and two live in different tools with no connection between a crawl, a citation and a visit. This is where we use Promptwatch, the platform we run client programs on.
Its visitor analytics tracks AI-referred traffic and conversions from ChatGPT, Perplexity, Gemini, Claude, Copilot, DeepSeek, Kimi, Mistral and others, through a lightweight script, a Google Tag Manager template or the WordPress plugin. Agent Analytics records IP-verified crawler logs, so spoofed agents are filtered out, with a crawl-to-citation path and a citation rate for each page. Logs come from Cloudflare (Logpush or an auto-deployed Worker), AWS CloudFront, Fastly, Vercel, Netlify, Akamai, Google Cloud CDN, a custom HTTP source or the WordPress plugin.
The view we lean on is 360 Insights, which joins crawler logs, citation clicks and AI-referred visits per page. A page that is crawled but never cited is a content problem. A page that is cited but gets no visits needs a look at how it appears in answers. A page that is cited and visited but never converts is a landing-page problem. Without the join, those three diagnoses look identical.
Plan note: visitor analytics comes with the paid plans, with 200K visitor events on Essential, 1M on Professional and 10M on Business. Crawler logs start on Professional, so a client who needs both starts there.
What we put in the monthly report
- AI-referred sessions and conversions by platform, with last month for comparison.
- The top pages receiving AI visits.
- Crawler health: which bots fetched what, and errors found.
- Pages with citations but no visits, and pages with visits but no conversions.
We show counts next to percentages. Early on, a handful of sessions can swing a percentage dramatically, and we do not want a client celebrating or panicking over noise.
What this tracking cannot tell you
Some AI-influenced visits never show a referrer, so they land in direct or branded search. Some buyers see your brand in an answer and never click. Our numbers are a floor, and we say so. We also do not claim that visibility caused a particular sale. We say that visits from these platforms exist, which pages they landed on, and what they did next.
A quick setup for a new client
Day one: the GA4 channel group and a test visit from an AI platform to confirm it lands in the right bucket. Day two: install the visitor analytics script through GTM. Day three: connect the CDN or server logs. By the end of the week, the first report has three views that can be compared, and the client has an honest answer to a question that used to be a guess.