How to See Which AI Assistants Send Clicks to Your App Links
See which AI assistants send clicks to your app links. WarpLink's ai_assistant dimension covers 11 assistants in the dashboard, REST API, MCP, and exports.
TL;DR: WarpLink's
ai_assistantanalytics dimension groups clicks by the AI assistant that sent them. It matches the referrer host first and the link'sutm_sourcesecond, and it works in the dashboard, the REST API, MCP, and click exports.
People ask ChatGPT, Claude, and Perplexity where to find an app, then tap the link in the answer. For a website, the usual answer is a channel group in web analytics. For a mobile link that opens an app or sends someone to a store, the question is different: which assistant sent this tap, on which link, and what happened next? WarpLink is link infrastructure for mobile teams: deep linking, install attribution, and real-time analytics in one SDK. Every click is already recorded per link, so the assistant is one more way to read the same clicks.
The 11 assistants WarpLink recognizes
| Value | Assistant | Referrer hosts |
|---|---|---|
chatgpt | ChatGPT | chatgpt.com, chat.openai.com |
perplexity | Perplexity | perplexity.ai |
claude | Claude | claude.ai |
gemini | Gemini | gemini.google.com, bard.google.com |
copilot | Copilot | copilot.microsoft.com |
meta_ai | Meta AI | meta.ai |
grok | Grok | grok.com |
deepseek | DeepSeek | chat.deepseek.com |
le_chat | Le Chat | chat.mistral.ai |
you | You.com | you.com |
phind | Phind | phind.com |
The same list is in the Analytics API docs.
How a click is classified
A click belongs to an assistant when its referrer host matches the assistant's host, or a subdomain of it. When the referrer matches nothing, WarpLink compares the click's utm_source, ignoring case, with the assistant's known values. A click that no assistant matches shows as "Not from an AI assistant".
The classification runs when you read the data. A newly added assistant applies to past clicks, and nothing stored changes. The breakdown follows the same retention, look-back, and click-limit rules as every other dimension. Dashboard clicks appear within minutes of the tap. The Free plan reads the last 30 days of analytics and keeps 90 days of data.
Why the utm_source fallback matters
AI apps on phones can send no referrer when a user taps a link. Conductor's analysis of direct mobile traffic describes the pattern: links tapped in an LLM's mobile app can land in the "direct" bucket. A click with no referrer has no host to match, so the second signal does the work.
Put a utm_source value on links you publish where assistants read, such as your docs, your changelog, and your site. WarpLink's link-level UTM fields (utm_source, utm_medium, utm_campaign) are applied on redirect, so the link carries the value on every tap. See how to pass UTM parameters through deep links for the mechanics.
In the dashboard
The Analytics page breaks clicks down by AI assistant next to country, referrer, device, operating system, browser, campaign source, app, and tap source. Pick an assistant to filter the whole page, per link or across the organization.
Over REST
Which AI assistants sent clicks in the last 30 days:
curl "https://api.warplink.app/v1/analytics?surface=explore&window_preset=last_30_days&dimension=ai_assistant" \
-H "Authorization: Bearer wl_live_YOUR_API_KEY"
Filter to one assistant, or to either of two, by repeating filter:
curl "https://api.warplink.app/v1/analytics?surface=explore&window_preset=last_30_days&dimension=country&filter=ai_assistant:chatgpt&filter=ai_assistant:claude" \
-H "Authorization: Bearer wl_live_YOUR_API_KEY"
filter=ai_assistant: with no value, or filter=ai_assistant:is_unknown, selects the clicks no assistant sent. A value that is not an assistant id returns 400 VALIDATION_ERROR.
Over MCP
Connect the WarpLink MCP server to Claude, Claude Code, Cursor, or Windsurf and ask:
Which AI assistants sent clicks to my links this month?
The query_analytics tool takes the same ai_assistant dimension and filter as the REST API. The setup steps are in set up deep linking with Claude Code.
Export the clicks
POST /v1/exports takes an ai_assistant value: one assistant id such as chatgpt, or any for every assistant. It combines with link_id, and the MCP export_analytics tool takes the same value. See Exports.
What to do with it
- Make your pages citable. Assistants cite pages they can read. We publish llms.txt and a Markdown copy of every docs page at
/docs/<page>.mdand every post at/blog/<slug>.md, and the same approach works for your own docs. - Compare assistants with other referrers. Read the AI assistant breakdown next to the referrer breakdown to see which sources send taps.
- Follow the click to the install. Link-level analytics sit next to install attribution, so a tap from an assistant and the install it produces are on the same link. Mobile link analytics covers what to track per link, and link analytics vs product analytics covers where each fits. For recent changes to the Analytics page, read what changed and why.
Frequently Asked Questions
How can I see clicks that came from ChatGPT?
Open the Analytics page in the WarpLink dashboard and break clicks down by AI assistant, or call GET /v1/analytics with surface=explore and dimension=ai_assistant. Add filter=ai_assistant:chatgpt to see only ChatGPT clicks. A click counts as ChatGPT when its referrer host is chatgpt.com or chat.openai.com, or when its utm_source is a known ChatGPT value.
Which AI assistants does WarpLink recognize?
Eleven: ChatGPT, Perplexity, Claude, Gemini, Copilot, Meta AI, Grok, DeepSeek, Le Chat, You.com, and Phind. Each is matched by its referrer host first and by the link's utm_source second. A click that matches none is grouped as "Not from an AI assistant".
Why do some AI clicks have no referrer?
AI apps on phones often open links without passing a referrer, so the visit carries no host to match. Put a utm_source value on links you publish where assistants read them, and WarpLink classifies the click by that value instead. Link-level UTM fields apply the value on redirect, so the link carries it every time.
Can I filter or export only AI assistant clicks?
Yes. The Analytics page, GET /v1/analytics, and the MCP query_analytics tool accept ai_assistant as a filter, such as filter=ai_assistant:claude. POST /v1/exports and the MCP export_analytics tool take an ai_assistant value, either one assistant id such as chatgpt or any for every assistant, and combine it with link_id.
Can I ask an AI assistant for this report through MCP?
Yes. Connect the WarpLink MCP server and ask, "Which AI assistants sent clicks to my links this month?" The query_analytics tool takes the same ai_assistant dimension and filter as the REST API, so the assistant answers from your own click data.
Related Guides
- WarpLink for AI agents
- Mobile link analytics
- Pass UTM parameters through deep links
- Set up deep linking with Claude Code
- AI access and the WarpLink MCP server
Create a free account and see which assistants send your clicks.
See every tap as it lands
Deep linking, install attribution, and real-time analytics in one SDK. Free for 10K clicks a month, no sales call.
Stuck on setup? Email support@warplink.app and we will help you get one real link working.
WarpLink Team
Building affordable, reliable link infrastructure for mobile teams. Deep linking, install attribution, and real-time analytics in one SDK.
Related Posts
Creator and Influencer Link Attribution for Mobile Apps
How to attribute app installs to the right creator: one link per creator, deferred matching through the store, and per-link reporting in the dashboard.
5 Best Deep Linking and Attribution MCP Servers in 2026
Five MCP servers for deep links and mobile attribution in 2026, compared on tools, sign-in, and access: WarpLink, Grovs, Kochava, AppsFlyer, Branch.
WarpLink Analytics: What Changed, and Why
The rebuilt Analytics page leads with the answer: how clicks moved against the previous period, why, and which links need attention. Also on MCP and REST.