How to Track App Installs from ChatGPT, Perplexity and AI Assistants
AI assistants send real app installs, but their mobile apps often strip the referrer. What you can measure - links you tag and control - and what you cannot.
Quick answer: You can reliably measure installs that come through links you control and tag - and you cannot reliably auto-detect which AI assistant sent a given tap. The reason: on iOS, ChatGPT and Gemini open links in an in-app web view that passes no referrer, so those taps land in your analytics as "direct". On the web, ChatGPT currently tags outbound links with utm_source=chatgpt.com and Gemini usually sends a gemini.google.com referrer - but these signals have already changed twice in two months. The stable setup is link-level attribution: create a dedicated tracked link for every surface an AI assistant might read (your docs, homepage, changelog), and attribute taps and installs per link. This guide covers both halves - what each assistant actually exposes today, and a measurement setup that survives the next change. Everything below is dated; these behaviours are volatile.
$ cat table-of-contents
- Can you see which installs came from an AI assistant?
- What signal each assistant actually leaves
- Why AI taps land in your "direct" bucket
- The reliable method: attribute the links you control
- What this method cannot see
- A measurement setup that survives the volatility
- Frequently asked questions
- If you remember three things
- Sources
Can you see which installs came from an AI assistant?
That question splits into two very different questions, and mixing them up is where most "AI attribution" advice goes wrong:
- "Did this install come through the link I put in front of an AI assistant?" Yes - reliably. If someone taps a tracked link you created (in your docs, on your homepage, in a changelog an assistant quotes), a link-level attribution tool records the tap and matches the install to that link. No referrer data is needed, because the identity of the link does the work.
- "Can my analytics automatically tell me this tap came from ChatGPT rather than Perplexity?" Not reliably. Automatic source detection depends on the assistant's app passing a referrer or a UTM tag - and on mobile, the biggest assistants usually do not. Some link tools classify web clicks by referrer host, which works on desktop but goes dark exactly where most assistant usage happens: the mobile apps.
Keep both halves in mind as you read anything about "AI referral tracking" - including this post. The first is a solved problem. The second is a moving target you should treat as a bonus signal, not a system of record.
What signal each assistant actually leaves
The table below reflects behaviour from attribution.now's hands-on device tests (data collected 20-22 October 2026) and Conductor's analysis of LLM mobile traffic. We re-read these sources on 4 November 2026; we did not re-run their device tests. These behaviours have changed without notice before; treat the dates as part of the claim.
| Assistant | On the web (desktop/mobile browser) | iOS app | Android app |
|---|---|---|---|
| ChatGPT | Appends utm_source=chatgpt.com to outbound links (citations, answer links, pasted links). The tag disappeared in early Oct 2026 and returned within a week - proof this can change silently. |
In-app Safari sheet passes no referrer; the UTM tag on the link is the only signal. | Since mid-Oct 2026, some taps send an app referrer (android-app://com.openai.chatgpt/) - but not on UTM-tagged links, and coverage is partial. |
| Gemini | Origin-only referrer (gemini.google.com) from most surfaces; none from Canvas. UTM tagging lived only 18-28 Sep 2026, then vanished. |
In-app web view, no referrer; visits land in "direct". | No app referrer observed in CDN logs. |
| Perplexity, Claude, others | Web referrals from their hosts (e.g. perplexity.ai, claude.ai) do appear in web analytics - WarpLink's classifier matches on these hosts. |
No first-hand test data in the sources we checked; expect the same in-app-web-view pattern as ChatGPT and Gemini until tested otherwise. | Same - untested in the sources we checked. |
Method note: "verified" rows are from attribution.now's published per-assistant test matrices (manual and automated click tests, 20-22 October 2026). We have not run our own device tests; where neither source covers a cell, we say so rather than guess.
Two patterns matter more than any single cell. First, every mobile-app row is weak - no referrer, no tag, or partial coverage. Second, every row has changed recently: ChatGPT's tag broke and was restored in October, Gemini's tag lived for 11 days, and ChatGPT's Android app only started sending a referrer in mid-October. Any measurement system built on these signals alone will silently break again.
Why AI taps land in your "direct" bucket
Conductor's breakdown of the mechanics is worth internalising, because it explains most "missing" AI traffic:
- ChatGPT (or another assistant) answers with a link to your site or store listing.
- The user taps it inside the assistant's mobile app.
- The app opens the link in an embedded web view or hands it to the browser without a referrer header - apps are not browsers, and most are not configured to pass one.
- Your analytics receives a visit with no source and files it as
direct / (none).
The same embedded-web-view behaviour also affects what happens after the tap - in-app browsers change how deep links behave, which we cover in why Instagram, TikTok and Facebook break your links. The short version: an assistant's web view may not hand a Universal Link or App Link off to your installed app at all, which is another reason the tap-to-open journey from AI surfaces leaks.
The consequence for your dashboards: a growing slice of "direct" mobile traffic is not people typing your URL - it is assistants recommending you invisibly. You will not see it in a referrer report, and no settings toggle fixes that.
The reliable method: attribute the links you control
You cannot control whether an assistant's app sends a referrer. You can control which links sit on the surfaces assistants read - your docs, homepage, pricing page, changelog, README, comparison pages. When an assistant cites your page and the user taps your "Get the app" call-to-action, that tap goes through a link you created. Make that link a tracked link, and the tap-to-install chain becomes visible end to end.
With LinkTrace (this site), one API call creates a short link carrying whatever source and campaign you attach at creation time:
Create a tracked link for an AI-visible surface
curl -s -X POST https://api.linktrace.in/api/v1/referral-links \
-H "x-api-key: $LT_API_KEY" \
-d '{"referrerIdentifier":"docs_get_app","source":"ai_surface","campaign":"docs_cta"}'
Share that link as the download CTA on the surface. On the user's first app launch after install, one more call returns the exact source and campaign attached to the link:
Resolve the install on first launch
curl -s -X POST https://api.linktrace.in/api/v1/attributions \
-H "x-api-key: $LT_API_KEY" \
-d '{ "device": { ... } }'
{ "data": { "attributed": true, "referrerIdentifier": "docs_get_app",
"campaign": "docs_cta" } }
Every click and install is also counted per link in the dashboard, so you can compare surfaces: does the docs CTA convert better than the homepage CTA? That works the same whether the visitor arrived from ChatGPT, a Google result, or a typed URL - the attribution survives because it never depended on a referrer header. The mechanics of the click-store-install gap are covered in how to track app installs without Firebase or AppsFlyer, and deferred deep linking - landing the new installer on the right screen, not the home screen - in deferred deep links vs deep links.
The free Starter plan includes 100 dynamic links and 1,000 attributed installs (one-time), which is enough to instrument your top AI-visible surfaces; see the pricing page for current allowances (checked 4 November 2026).
What this method cannot see
Three honest limits, so you do not over-read your dashboard:
- Untagged citations are invisible. If ChatGPT cites your bare domain or your app-store URL and the user installs from there, no link-level tool can attribute that install - there was no tracked link in the chain. This is the same blind spot every attribution method has for organic store traffic.
- ChatGPT's UTM tag helps web analytics, not install attribution. On the web, ChatGPT appends
utm_source=chatgpt.comto the links it shows - useful for session-level reporting in GA4. But a UTM parameter identifies a visit, not an install, and whether appended parameters survive a short-link redirect varies by tool. Do not build install reporting on a tag that already broke once in October 2026. - Nothing today retroactively identifies an assistant on mobile. No tool - LinkTrace included - can look at an untagged mobile tap after the fact and tell you which assistant sent it, because the app never sent the signal. On LinkTrace specifically, the "source" you see is the value you attached when creating the link; the platform does not auto-classify AI assistants.
Worth a separate note: paid placement inside assistants is becoming its own channel - AppsFlyer, for example, has an integration for measuring ChatGPT Ads. That is paid-media measurement, a different job from the organic-citation tracking this guide covers.
A measurement setup that survives the volatility
Combine three layers, each covering another's blind spot:
- Link-level attribution (install truth). Tagged LinkTrace links as the app-download CTA on every surface assistants might cite. Tells you which surface and link produced the install, whatever the visitor's origin. This is the layer that keeps working when referrers disappear.
- Web-analytics channel group (session signal). In GA4 or equivalent, group referrers and UTM sources matching the assistant hosts (
chatgpt.com,perplexity.ai,claude.ai,gemini.google.com,copilot.microsoft.com) into an "AI assistants" channel. Captures desktop web traffic well; goes dark on iOS apps. - The "direct" trend line (early warning). Watch your direct mobile traffic as a proportion of the whole. A rising direct share alongside AI-surface growth is the fingerprint of invisible assistant traffic - not proof, but a prompt to check the other two layers.
Set the cadence to re-verify layer two quarterly. The behaviours in the signals table above changed at least three times between September and November 2026; assume they will change again.
Frequently asked questions
Can I see ChatGPT traffic in Google Analytics?
Web sessions, partially: on desktop web, ChatGPT currently tags outbound links with utm_source=chatgpt.com, so those sessions show up under that source. From the iOS app, no - links open in an in-app Safari sheet with no referrer and the sessions file as direct. App installs are a separate question: GA4 does not connect a web session to a mobile install; that needs an install attribution layer such as tagged LinkTrace links on your download CTAs.
Does LinkTrace tell me which AI assistant sent a user?
No - and be suspicious of any tool that claims to on mobile. LinkTrace attributes taps and installs to the specific link you created, with the source and campaign you attached. That tells you "this install came through the docs CTA link", which stays true even when assistant apps strip referrers. It does not auto-classify which assistant surfaced the page. For web sessions, assistant-level classification (via referrer hosts and UTM tags) is what the web-analytics layer above is for.
Why does my AI traffic show up as "direct"?
Because most assistant mobile apps open links without sending a referrer header, analytics tools have no source to record and file the visit as direct. Conductor documented this pattern across LLM mobile apps, and attribution.now's device tests document it for ChatGPT and Gemini on iOS (we re-read their results on 4 November 2026).
Do UTM parameters survive a tap from ChatGPT?
On the web, yes today - ChatGPT keeps existing query parameters and adds its own utm_source. But the tag vanished for about a week in early October 2026, and on iOS the in-app web view passes no referrer at all. Treat UTM survival as a bonus, not infrastructure.
What about paid ads inside ChatGPT?
That is a different channel. AppsFlyer has announced an integration to measure ChatGPT Ads installs and purchases; if you buy assistant ads, measure them through your paid-media stack. This guide covers organic citations and links.
Is AI-assistant traffic even worth measuring?
If assistants recommend apps in your category, yes - it behaves like a hybrid of search and word-of-mouth, and it is growing while remaining mostly invisible to referrer-based analytics. The tagged-link layer costs an afternoon to set up and keeps paying off as the assistants' signalling behaviour churns.
If you remember three things
- Attribute links, not assistants. The durable question is "which of my links produced this install" - answerable with tagged links - not "which assistant sent this tap", which mobile apps usually do not reveal.
- Most AI mobile taps arrive as "direct". iOS assistants open links in web views with no referrer; even web-side tags have broken and returned within weeks. Any referrer-based AI report has a silent blind spot.
- Seed tracked links where assistants read. Your docs, homepage, changelog and README are the surfaces assistants cite. Put a tagged tracked link on each, and the tap-to-install chain becomes measurable end to end.
Sources
Assistant behaviour claims were checked on 4 November 2026 against the sources below; the underlying tests were run 20-22 October 2026 unless noted. These behaviours change without notice - check the dates before quoting.
- attribution.now: ChatGPT link-behaviour tests (web UTM tagging, iOS in-app sheet with no referrer, partial Android app referrer; data as of 22 October 2026)
- attribution.now: Gemini link-behaviour tests (web referrer behaviour, the 18-28 September 2026 UTM window, iOS and Android gaps; data as of 20-22 October 2026)
- Conductor: Your "Direct" Mobile Traffic Might Be From ChatGPT (why LLM mobile taps file as direct; May 2025)
- Search Engine Land: ChatGPT UTM tagging outage coverage (the early-October 2026 tagging break)
- WarpLink: AI assistant click classification (the referrer-host list covering 11 assistants, and their UTM-fallback approach)
- Digitalisation World: AppsFlyer integrates with ChatGPT Ads (the paid side of assistant attribution)
- LinkTrace: linktrace.in (link-level source/campaign attachment, dashboard click and install counts, first-launch attribution response) and Pricing (Starter plan allowances, checked 4 November 2026)
LinkTrace is a deep linking and install attribution service for startups and app developers. Two HTTPS calls, flat pricing, no SDK. Create a free account or see the plans.
Related guides: Deep Links in In-App Browsers, Attributing Installs from Twitter, Reddit and LinkedIn, Track App Installs Without Firebase or AppsFlyer, Deferred Deep Links vs Deep Links, and What Is Deep Linking?