BlogAnalytics

AI search is a channel now

Paid ads brought the most visits. A channel nobody paid for converted visits to signups at almost three times the rate. Until it had its own row, it was invisible.

A row that used to be missing

When a study app added cookieless attribution, the first table anyone looked at was visits by channel for a month. The numbers below are mock data shaped like that month, and they are the reason this post exists.

Visits by channel, one month (mock data)

channel          visits   signups   visit to signup
paid               380       25          6.6%
organic_search     210       17          8.1%
social             150        8          5.3%
ai                 127       24         18.9%
direct             120        9          7.5%
referral            50        4          8.0%
email               33        5         15.2%
all              1,070       92          8.6%

What counts as ai

Vevee derives the channel on the server from the visit's UTM tags and referrer host, in a fixed order: paid, email, ai, organic_search, social, referral, direct. The first rule that matches wins. A visit lands in ai when its referrer host is chatgpt.com, chat.openai.com, perplexity.ai, gemini.google.com, claude.ai or copilot.microsoft.com, or when its utm_source names one of them. ChatGPT, for example, tends to add utm_source=chatgpt.com to links it shows, which matters because some AI apps send no referrer at all. Most analytics tools file these visits under referral, next to a forum thread and a directory listing, or under direct when the referrer is missing. Either way the signal is diluted. Pulled out into a channel of its own, it stops being noise.

Why it converts

Look at what an AI-referred visitor did before they arrived. They described a problem in their own words ("an app that turns my lecture notes into flashcards"), read an answer that named a few tools, and clicked one. They arrive with the problem already framed and the product already shortlisted. A paid social visitor was scrolling and saw an ad; some of them were curious and most were not looking for anything. The mock numbers follow that story. Paid ads sent three times as many visits as AI search and ended with about the same number of signups. Revenue tells the same tale: across all channels the mock month made $703.78 net of tax, or $0.66 per visit. For ai visits it was $1.64 per visit.

Does it last past signup?

A channel that brings eager signups who never pay is a vanity channel. The visit table cannot answer that, because it stops at signup. The person funnel can: it starts at signed_up and splits people by first_channel, the channel stored on them once at signup.

Signup to paid, split by first_channel (mock data)

first_channel    signed up   activated   paid
paid                 25          14         4
ai                   24          19         7

Small numbers, read carefully

Seven paying customers out of 24 is a striking rate and a tiny sample. One good week of mentions in AI answers can produce it, and one model update can take it away. The split table in Vevee greys out rows with fewer than 20 entries at step 1 for exactly this reason; these two rows clear that bar, barely. Treat the month as a reason to keep watching the row, and to stop treating AI answers as something that happens to you.

What the app changed

Nothing dramatic. The pricing page and the feature pages got plainer sentences about what the app does and for whom, since those are the passages an AI answer is likely to paraphrase. The docs and help pages stayed public and crawlable. And the founder stopped measuring the paid campaign against a blended conversion rate: the 8.6% average sat between a paid channel at 6.6% and an unpaid one at nearly 19%, and described neither. Each channel now gets judged on its own row. To get the channel column on your own traffic, start with the traffic attribution guide at /docs/guides/traffic-attribution.

See your own numbers in two minutes.Add the SDK and your users, costs and revenue fill in on the next request.
Join waitlist

Keep reading

ShareCopy a link to this post.

Set your first limit in about five minutes.

50k operations free every month. No card required.
Join waitlist