# 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.

_Last updated: 2026-10-21_

> **TL;DR:** WarpLink's `ai_assistant` analytics dimension groups clicks by the AI assistant that sent them. It matches the referrer host first and the link's `utm_source` second, 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](https://warplink.app/docs/api/analytics#ai-assistant-traffic).

## 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](https://www.conductor.com/blog/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](https://warplink.app/blog/pass-utm-parameters-through-deep-links) for the mechanics.

## In the dashboard

The [Analytics](https://warplink.app/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:

```bash
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`:

```bash
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](https://warplink.app/docs/ai-access) to Claude, Claude Code, Cursor, or Windsurf and ask:

```text
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](https://warplink.app/blog/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](https://warplink.app/docs/api/exports).

## What to do with it

- **Make your pages citable.** Assistants cite pages they can read. We publish [llms.txt](https://warplink.app/llms.txt) and a Markdown copy of every docs page at `/docs/<page>.md` and 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](https://warplink.app/blog/mobile-link-analytics) covers what to track per link, and [link analytics vs product analytics](https://warplink.app/blog/link-analytics-vs-product-analytics) covers where each fits. For recent changes to the Analytics page, read [what changed and why](https://warplink.app/blog/warplink-analytics-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](https://warplink.app/ai)
- [Mobile link analytics](https://warplink.app/blog/mobile-link-analytics)
- [Pass UTM parameters through deep links](https://warplink.app/blog/pass-utm-parameters-through-deep-links)
- [Set up deep linking with Claude Code](https://warplink.app/blog/set-up-deep-linking-with-claude-code)
- [AI access and the WarpLink MCP server](https://warplink.app/docs/ai-access)

[Create a free account](https://dash.warplink.app/auth/signup) and see which assistants send your clicks.
