How AppWT Detects AI Traffic
AppWT Analytics labels a visit as AI traffic only when the visit carries a specific signal. This page lists each signal, the order the software checks them in, and the AI visits that no tracking script can see. Read it before you act on an AI number.
The short version
- AI referrals are people who arrive from an AI assistant. AI crawlers are bots that fetch pages for AI training, search or answers. Read them as two separate numbers.
- AppWT Analytics recognizes 98 AI assistants and AI tools that send visitors (by referrer, in-app browser or UTM tag) and 53 AI and search crawler signatures.
- Some AI visits arrive with no signal at all. Those look like direct traffic, because nothing in the visit says where it came from.
What the tracker receives
You add one script tag to your site. When a page loads and runs that script, the browser sends AppWT the page address, the referrer (the page that linked to yours, when the browser shares it), the browser's user agent text, any UTM tags in the link, and the visitor's IP address. Every AI label comes from those pieces and from a few signals the script reads inside the page.
The checks run in a fixed order. The first check that matches decides the label, and the later checks are skipped for that visit.
The six checks, in the order they run
1. Crawler name in the user agent
The user agent is a short line of text that every browser and bot sends with a request. Crawlers such as GPTBot, ClaudeBot and PerplexityBot put their own name in it. AppWT Analytics compares the user agent with 53 crawler signatures. A match is labeled an AI crawler.
Limit: a bot can send any user agent it likes, including a normal browser's. A bot that hides its name passes this check.
2. Crawler network address
Next, AppWT Analytics compares the visitor's IP address with 23 network ranges that its list links to crawler operators. A match is labeled an AI crawler.
Limit: several of these ranges are large blocks of cloud and company networks, not only a crawler's published addresses. A person who browses through a VPN, an office network or a cloud service inside one of those blocks can be labeled a crawler. Because this check runs before the referrer check, that can happen even to a person who just clicked a link in ChatGPT.
3. Referrer from an AI site
When someone clicks a link inside an AI assistant, the browser usually tells your site which site sent them. AppWT Analytics compares that site with 132 referrer domains that belong to 98 named AI sources, such as chatgpt.com, perplexity.ai and claude.ai. A match is labeled an AI referral.
Limit: the check also accepts any host that contains a listed domain, so an unrelated site whose address happens to contain one of those names can be counted. A referrer only shows the last site the visitor came from, not every step before it.
4. AI app browser
Some AI apps open links inside their own built-in browser, which adds the app's name to the user agent. AppWT Analytics checks 15 of these app signatures, for example from the ChatGPT, Claude, Perplexity, Gemini and Copilot apps. A match is labeled an AI referral.
Limit: many apps open links in the phone's normal browser instead, and some strip the referrer on the way. Those visits fall through to the next checks or arrive as direct traffic.
5. UTM tag on the link
Some links carry a tag such as ?utm_source=chatgpt. AppWT Analytics compares the utm_source value with a list of 14 AI names (chatgpt, openai, claude, anthropic, perplexity, gemini, bard, copilot, bing-chat, grok, meta-ai, ai, ai-referral, llm). It also treats a utm_medium of ai, ai-referral, llm, chatbot or ai-assistant as AI traffic. A match is labeled an AI referral.
Limit: the source has to match a listed value exactly. ChatGPT tags many of its links utm_source=chatgpt.com. Today that value is not on the list, so a ChatGPT visit that carries the tag but no referrer is counted as an ordinary referral from chatgpt.com, not as an AI referral.
6. Signals inside the page
If none of the checks above match, the tracking script looks inside the page for signs of an AI app or an AI browser extension, such as extra page elements that some AI extensions add. A match is labeled an AI referral today.
Limit: an extension signal shows that a visitor has an AI tool installed. It does not show that an AI assistant sent the visitor. Treat these visits as the weakest AI signal of the six.
How crawler activity reaches the dashboard
AppWT Analytics is a tracking script, so it records a crawler only when the crawler runs that script on your page. Many AI crawlers download a page without running JavaScript. Those requests never reach AppWT, and your server logs will always show more crawler activity than the dashboard does.
Before the AI checks run, other known bots, such as most search engine and SEO crawlers, are filtered out so they do not count as visitors. A request from a data center network that arrives with no referrer is stored as a bot, not as a visitor.
When an AI visit cannot be attributed
Every analytics tool depends on what the browser sends. These AI visits arrive with nothing that points back to an AI assistant:
- Copy and paste. A person copies your address out of an AI chat and pastes it into a browser. The visit has no referrer and no tag, so it looks like direct traffic.
- Apps that hide the referrer. Some apps and privacy browsers remove the referrer before your site sees the visit.
- Answers with no click. An AI assistant can show your business name, hours or prices without anyone visiting your site. There is no visit to record.
- AI answers inside search results. A click from an AI summary on a search results page arrives with the search engine's address as the referrer, and nothing in it says which part of the page was clicked. AppWT Analytics counts it as search traffic.
- Voice assistants. Voice search estimates are based on device and time-of-day signals. They are estimates, not exact counts.
For a deeper look at referrer gaps, read AI visits hiding in direct traffic. For separating bots from people in your own reports, read AI bot hits vs AI referred visitors and AI crawler and referral ratio measurement.
Step-by-step guides: how to track ChatGPT traffic, AI referrals vs AI crawlers, and how to measure conversions from AI search.
The names AppWT Analytics looks for
These lists are generated from the detection code each time this page loads, so they always match what the software checks. A name on a list means the software can recognize it. It does not mean that source has ever visited your site.
AI referral sources (98) and their referrer domains
| AI source | Company | Referrer domains |
|---|---|---|
| Adobe Firefly | Adobe | firefly.adobe.com |
| AI21 Labs | AI21 Labs | ai21.com |
| AI21 Studio | AI21 Labs | studio.ai21.com |
| Aleph Alpha | Aleph Alpha | aleph-alpha.com |
| Amazon Q | Amazon | aws.amazon.com/q, q.aws |
| Anthropic | Anthropic | anthropic.com |
| Anthropic Console | Anthropic | console.anthropic.com |
| Apple Intelligence | Apple | apple.com/apple-intelligence |
| Apple ML | Apple | machinelearning.apple.com |
| AWS Console | Amazon | console.aws.amazon.com |
| Bing Chat | Microsoft | bing.com/chat |
| Bing Image Creator | Microsoft | bing.com/create |
| Character.AI | Character.AI | character.ai, beta.character.ai |
| ChatGLM | Zhipu AI | chatglm.cn |
| ChatGPT | OpenAI | chatgpt.com, chat.openai.com |
| Chatsonic | Writesonic | chatsonic.com |
| Claude | Anthropic | claude.ai |
| Clipdrop | Stability AI | clipdrop.co |
| Clova Studio | Naver | clovastudio.naver.com |
| CodeWhisperer | Amazon | aws.amazon.com/codewhisperer |
| Cohere | Cohere | cohere.com, cohere.ai, dashboard.cohere.com |
| Consensus | Consensus | consensus.app |
| Copy.ai | Copy.ai | copy.ai, app.copy.ai |
| Cursor | Anysphere | cursor.com, cursor.sh |
| DeepSeek | DeepSeek | deepseek.com, chat.deepseek.com |
| Descript | Descript | descript.com |
| Doubao | ByteDance | doubao.com, www.doubao.com |
| DreamStudio | Stability AI | dreamstudio.ai |
| ElevenLabs | ElevenLabs | elevenlabs.io, beta.elevenlabs.io |
| Elicit | Elicit | elicit.com, elicit.org |
| Ernie Bot | Baidu | yiyan.baidu.com, wenxin.baidu.com |
| G42 AI | G42 | g42.ai |
| GitHub Copilot | Microsoft/GitHub | github.com/copilot, copilot.github.com |
| Google AI | ai.google | |
| Google AI Studio | aistudio.google.com | |
| Google Bard | bard.google.com | |
| Google Gemini | gemini.google.com | |
| Google Labs | labs.google.com | |
| Grammarly AI | Grammarly | grammarly.com, app.grammarly.com |
| Grok | xAI | grok.x.ai, grok.com |
| HeyGen | HeyGen | heygen.com, app.heygen.com |
| HuggingChat | HuggingFace | huggingchat.co |
| HuggingFace | HuggingFace | huggingface.co |
| HyperCLOVA X | Naver | clova-x.naver.com |
| IBM Watson | IBM | ibm.com/watson, watson.ibm.com |
| IBM watsonx | IBM | watsonx.ai |
| Ideogram | Ideogram | ideogram.ai |
| iFlytek Spark | iFlytek | xinghuo.xfyun.cn |
| Inflection AI | Inflection AI | inflection.ai |
| Jasper | Jasper AI | jasper.ai, app.jasper.ai |
| Kimi | Moonshot AI | kimi.ai |
| Krutrim | Ola | krutrim.ai, olakrutrim.com |
| Leonardo.ai | Leonardo.ai | leonardo.ai, app.leonardo.ai |
| LINE Clova | LINE/Naver | clova.ai, clova-ai.line.me |
| Meta AI | Meta | meta.ai, ai.meta.com |
| Meta Llama | Meta | llama.meta.com |
| Microsoft Copilot | Microsoft | copilot.microsoft.com, copilot.com |
| Midjourney | Midjourney | midjourney.com |
| MiniMax | MiniMax | hailuoai.com, minimaxi.com |
| Mistral AI | Mistral AI | mistral.ai, chat.mistral.ai, console.mistral.ai, la-plateforme.mistral.ai |
| Moonshot AI | Moonshot AI | moonshot.cn |
| Murf AI | Murf | murf.ai |
| NotebookLM | notebooklm.google.com | |
| Notion AI | Notion | notion.so, notion.ai |
| OpenAI | OpenAI | openai.com |
| OpenAI Platform | OpenAI | platform.openai.com |
| Oracle AI | Oracle | oracle.com/artificial-intelligence |
| Perplexity | Perplexity AI | perplexity.ai |
| Perplexity Labs | Perplexity AI | labs.perplexity.ai |
| Pi | Inflection AI | pi.ai |
| Pika | Pika Labs | pika.art |
| Play.ht | Play.ht | play.ht |
| Poe | Quora | poe.com |
| Replicate | Replicate | replicate.com |
| Replika | Luka Inc | replika.ai, replika.com |
| Replit AI | Replit | replit.com |
| Runway | Runway | runwayml.com, app.runwayml.com |
| Rytr | Rytr | rytr.me |
| Salesforce Einstein | Salesforce | salesforce.com/einstein, einstein.ai |
| Samsung Gauss | Samsung | samsung.com/gauss |
| Scite | Scite | scite.ai |
| Semantic Scholar | Allen Institute | semanticscholar.org |
| SenseChat | SenseTime | sensetime.com |
| ServiceNow AI | ServiceNow | servicenow.com/now-platform/now-intelligence |
| Snapchat My AI | Snap Inc | snapchat.com |
| Sora | OpenAI | sora.com |
| Stability AI | Stability AI | stability.ai |
| Synthesia | Synthesia | synthesia.io |
| Tabnine | Tabnine | tabnine.com, app.tabnine.com |
| Tencent Hunyuan | Tencent | hunyuan.tencent.com |
| Tongyi Qianwen | Alibaba | tongyi.aliyun.com, qianwen.aliyun.com |
| Windsurf | Codeium | windsurf.ai |
| Windsurf/Codeium | Codeium | codeium.com |
| Writesonic | Writesonic | writesonic.com, app.writesonic.com |
| xAI | xAI | x.ai |
| You.com | You.com | you.com |
| Zendesk AI | Zendesk | zendesk.com/service/ai |
| Zhipu AI | Zhipu AI | zhipuai.cn |
Crawler signatures (53)
The purpose column is the label in AppWT's own list. It includes search engine and SEO crawlers as well as AI crawlers.
| Crawler | Company | Purpose (as labeled) |
|---|---|---|
| 360Spider | Qihoo 360 | 360 AI |
| AhrefsBot | Ahrefs | SEO AI analysis |
| AlexaBot | Amazon | Alexa answers |
| AlibabaBot | Alibaba | Tongyi Qianwen |
| Amazonbot | Amazon | Alexa/Amazon AI |
| Anthropic AI | Anthropic | Claude training |
| Applebot | Apple | Siri/Apple Intelligence |
| Applebot-Extended | Apple | Apple AI training |
| Baiduspider | Baidu | Baidu/Ernie Bot |
| Bingbot | Microsoft | Bing/Copilot |
| BingPreview | Microsoft | Copilot preview |
| ByteDance | ByteDance | ByteDance AI |
| Bytespider | ByteDance | TikTok/Doubao AI |
| CCBot | Common Crawl | AI training datasets |
| ChatGPT-User | OpenAI | ChatGPT web browsing |
| Claude-Web | Anthropic | Claude web browsing |
| ClaudeBot | Anthropic | Claude training |
| Cohere AI | Cohere | Cohere training |
| CohereBot | Cohere | Cohere crawling |
| CortanaBot | Microsoft | Cortana answers |
| DeepSeekBot | DeepSeek | DeepSeek training |
| Diffbot | Diffbot | AI data extraction |
| FacebookBot | Meta | Meta AI/Social |
| FacebookExternalHit | Meta | Facebook link preview |
| GitHubCopilotBot | GitHub/Microsoft | Copilot training |
| Google-Extended | Gemini/Bard training | |
| Googlebot-Extended | AI training | |
| GoogleOther | General AI/research | |
| GPTBot | OpenAI | ChatGPT training/browsing |
| img2dataset | LAION | AI image training |
| Kangaroo Bot | Unknown | AI training |
| LINEBot | LINE | LINE AI/Clova |
| Meta-ExternalAgent | Meta | Meta AI training |
| Meta-ExternalFetcher | Meta | Meta AI fetching |
| MistralBot | Mistral AI | Mistral training |
| NaverBot | Naver | Naver AI |
| OAI-SearchBot | OpenAI | OpenAI search |
| Omgilibot | Webz.io | AI data collection |
| PerplexityBot | Perplexity AI | Perplexity answers |
| PetalBot | Huawei | Huawei AI search |
| SamsungBot | Samsung | Samsung Gauss |
| SemrushBot | Semrush | SEO AI analysis |
| SiriBot | Apple | Siri answers |
| Sogou Spider | Sogou/Tencent | Sogou AI |
| Sosospider | Tencent | Tencent AI |
| StabilityBot | Stability AI | Image AI training |
| TencentTraveler | Tencent | Tencent Hunyuan |
| Timpibot | Timpi | Decentralized AI |
| Velen Crawler | Velen | AI indexing |
| xAI-Grok | xAI | Grok training |
| Yeti | Naver | Naver/HyperCLOVA X |
| YisouSpider | Alibaba | Alibaba search AI |
| YouBot | You.com | You.com AI search |
Common questions
Does AppWT Analytics count AI crawlers as AI referrals?
No. A visit that matches a crawler signature or a crawler network range is labeled an AI crawler, not an AI referral. AI referrals are people. AI crawlers are bots. The dashboard shows them as separate numbers in its traffic sources. Its AI Sources card adds the two together today, so read the AI Referrals number when you want people only.
Why does a visit from ChatGPT sometimes show up as direct traffic?
Because nothing in that visit says it came from ChatGPT. When someone copies a link out of an AI chat and pastes it into a browser, or an app hides the referrer, the visit arrives with no referrer and no tag. No tracking script can tell where a visit like that came from.
Does an AI browser extension mean an AI assistant sent the visitor?
No. It means the visitor has an AI tool installed in the browser. Today the dashboard counts these visits as AI referrals when no stronger signal is present, so treat them as a weaker signal than an AI referrer or an AI UTM tag.
Why do my server logs show more AI crawler hits than the dashboard?
AppWT Analytics records a crawler only when the crawler runs the tracking script on your page. Many AI crawlers download a page without running JavaScript, so they never reach AppWT. Your server logs record every request, so they will always show more crawler activity.
Can AppWT Analytics see voice searches?
Only as an estimate. Voice search estimates are based on device and time-of-day signals. They are estimates, not exact counts, because search engines and voice assistants do not tell a website that a search was spoken.
See your own AI traffic
30-day free trial, card required. Then $9.97 a month or $77 a year, per site. Unlimited pageviews. Cancel anytime.
Get Started Free