At one B2B client, referral tracking credited AI assistants with 6 customers over twelve months. In six months of asking customers how they heard about the company, 39 selected AI.
Those figures are easy to over-read. The two measures use different windows and definitions, so you can't divide one by the other and call the result an AI undercount.
I was more interested in how little the two lists overlapped. Customers were telling us something the referral report couldn't explain, and I wanted to know what that should change in the reporting and the budget.
Download the anonymized analysis (PDF)
Two ways of counting AI customers
The client's product is a considered purchase with a long sales cycle. Its referral tracking recorded signups that arrived directly from AI tools, and a “how did you hear about us” question appeared in a step every customer completes before closing.
| Measure | Window | Signups | Customers |
|---|---|---|---|
| Tracked AI referrals | Twelve months | 417 | 6 |
| Self-reported AI | Six months | 228 | 39 |
Counts are scaled by a fixed factor to protect the client, which leaves ratios and rates unchanged.
The lists overlapped by 24 accounts. The survey reached every customer but only 11 to 15% of signups, so the signup findings describe respondents, while the customer findings cover all of the client's customers in the survey period.
The wording of the question also limits what the answers mean. The question was a fixed list of channels, and the AI option didn't distinguish a ChatGPT recommendation from an AI summary in Google. I'll call this group self-reported AI, because labeling everyone “AI-sourced” would claim more certainty about their path than we have.
Where those customers arrived
Among the 228 signups who selected AI, paid search was the largest tracked arrival channel, followed by direct and organic search. Direct arrivals from AI tools ranked fourth, at about one in ten.
Take a buyer who asks ChatGPT which vendors to look at, sees the company named, and then searches Google for it and clicks an ad. Analytics records a search visit, and since nobody clicked through from the assistant, there is no AI referral to record.
That is one way the gap can happen, and we didn't observe that exact sequence for every customer. Referral information can also be missing, and customers can read the survey question differently. What the data shows is that paid search and self-reported AI often described the same accounts. It doesn't show that most AI-related demand was hiding in brand ads.
The same pattern at a second client
A second B2B client showed the same overlap. Among qualified leads that came through paid brand search, about one in seven said an AI assistant was how they first heard of the company. The ad click got the credit in the CRM.
Checking what the answers could support
Rand Fishkin's critique of “how did you hear about us” questions raises real problems. People forget what they were exposed to, and they read the question in different ways. Asking only customers also leaves out everyone who saw the marketing and never bought, which limits what the survey can say about whether the marketing worked.
I checked the answers against ad clicks and sales outreach records to see whether the patterns held together.
Among paid signups who answered, 29% of the brand group selected AI versus 9% of the non-brand group, a 3.2-times difference. Those groups contained 144 and 486 respondents, respectively, using the same scaled counts. Only 44% of the brand group named search, compared with 70% of the non-brand group.
That association makes the AI-to-brand-search path worth investigating, though it doesn't prove AI caused the brand search. Someone already familiar with the company could have used an assistant later to compare options.
In the outreach history, earlier SDR contact appeared for 7.0% of paid brand signups, compared with 2.0% of paid non-brand signups. That fits the broader point that brand search can follow earlier exposure, but it doesn't independently confirm the AI answers.
Kevin Indig's The usefulness of attribution for AI Search, with George Bonaci at Ramp, explores combining measures that have different blind spots. I'd use these sources the same way, with each one narrowing the questions that are still open.
What happened after purchase
The customer-quality analysis used a separate year-to-date cohort of 270 customers (scaled counts), 48 of whom selected AI. Those 48 were 17.8% of customers and contributed 17.5% of revenue. Their median deal was about a third larger than the median search deal. This is a different reporting window from the six-month comparison above.
That was reason enough to keep digging. The AI answers came from paying customers whose share of revenue roughly matched their share of the customer count, so the answers weren't concentrated among low-value signups.
Other differences need more time to interpret. The group averaged 2.06 purchases per customer versus 1.97 for search, and took 16 days from signup to first purchase versus 11 for search. Repeat purchases depend on how long customers have been observed, so without matching cohort age I wouldn't read the purchase difference as better retention. The underlying group is also smaller than the scaled counts suggest, which makes precise comparisons fragile.
Changing the reporting
Start by joining the records at the account level, the same first step I'd take when marketing and sales reports disagree. Each account should carry the self-reported answer next to the tracked channel, along with its signup and customer dates and its revenue. Then compare the same acquisition window and allow the same time for customers to convert. That gives a cleaner view of the overlap than the original twelve-month and six-month reports.
Keep the two attribution fields separate, one for the tracked arrival and one for what the customer remembers. An account can appear in both views, so adding their customer totals together would count it twice.
The question itself could have been better, and the format shaped what we learned. When we compared the fixed list with what customers later told sales, it had missed about 8 in 10 of the people who said they found the company through an AI tool. Most of them had picked another channel from the list. I'd still ask every customer, but with one open text box in place of the list, and group the answers afterward. The grouping can separate AI assistants from Google AI results, and keeping the original words next to the assigned group lets ambiguous answers be checked later. Where the question sits also changes who answers it. Asked after sign-up, the question only reaches people who are already qualified. Asked before, it reaches everyone, and the answers need classifying before anyone can use them.
Testing what brand paid search adds
The next spending question is how many customers would still arrive if the brand paid search ads weren't running, and neither report answers it.
Where volume supports it, I'd test a regional holdout against comparable control regions, after checking that their pre-test trends match, and keep other activity as stable as possible. The test window should be long enough to cover the buying cycle. Measure total customers and revenue across all channels, because a drop in paid conversions could just mean buyers moved to organic results. A test with too few purchases won't settle the budget question. When we scoped a geographic holdout at this client, two limits came up right away. The data only went back to the start of the year, so seasonality couldn't be ruled out, and purchases per region were too few to reach significance on their own. We planned to measure an earlier step with more volume and treat the purchase result as directional.
The “how did you hear about us” setup I recommend
This is the setup I’d put in place now. The first client’s fixed list missed most AI answers, and the second client’s sales calls turned up sources no form captured. It covers the question, where it sits, how to group the answers and how to report the groups next to tracked channels.
Setting up the how-did-you-hear question
| Part | Setup |
|---|---|
| Wording | How did you first hear about us? |
| Format | One open text box. No dropdown and no example answers under the box, because a listed example works like a dropdown option and people pick the closest one. |
| Required or optional | Required in a step every customer completes. Optional on any form where a required field would cost sign-ups. |
| Second source | On the first sales call, in the first five minutes, the rep asks where they first heard about you. If they mention an AI tool, the rep asks what they asked it. The answer goes in its own field, separate from the form answer. |
| Stored with each answer | Account ID, the date answered, where it was asked and the original words |
Where to ask it
Placement decides who answers, so pick it for the decision you need to make.
| Where you ask | Who answers | Use it for |
|---|---|---|
| Before sign-up | Everyone who starts, including people who never qualify | Discovery across all sign-ups. Expect more answers to group and some junk. |
| A step every customer completes | Every customer, and only the sign-ups who reach that step | Customer and revenue analysis. The first client’s question sat here, so every customer answered and 11 to 15% of sign-ups did. |
| First sales call | Prospects who reach sales | Detail the form misses, such as the prompt someone used or ads they saw and never clicked |
Grouping codes
Group the answers after they come in. Each answer gets one primary code for the first source it names, since the question asks where they first heard. When an answer names a second step, such as “ChatGPT, then I googled you,” add a secondary code.
| Code | Group | Assign when the answer mentions |
|---|---|---|
| AI-ASSIST | AI assistant | ChatGPT, Claude, Gemini, Perplexity, Copilot, or “AI” with no other source |
| AI-GOOGLE | AI results in Google | An AI Overview, AI Mode or “the AI answer at the top of Google” |
| SEARCH | Search | Google, Bing or searching, with no mention of AI |
| PEER | Someone they know | A colleague, friend, boss or former coworker |
| PARTNER | Partner | A named partner, agency, consultant or platform referral |
| TEAM | Our team reached out | An email, call or LinkedIn message from one of your reps |
| SOCIAL | Social | LinkedIn, Reddit, YouTube or another platform, with no rep involved |
| CONTENT | Content and media | A blog post, podcast, webinar, newsletter or report, yours or someone else’s |
| EVENT | Event | A conference, meetup or booth |
| REVIEW | Review site | G2, Capterra, Gartner Peer Insights or an analyst |
| Our email | A marketing email you sent | |
| OTHER | Other | A clear answer that fits none of the groups above |
| UNCLEAR | Unclear | Blank, “don’t remember,” “the internet” or junk |
Code a bare “Google” as SEARCH unless the answer mentions AI. Keep the original words next to the code and never overwrite them, so anyone can recheck an answer later. If volume is high, a rules list or an AI classifier can do the first pass. A person should still read every OTHER and UNCLEAR answer and a sample of the rest each month. Note which version of the codes each answer was grouped under, so a change to the codes doesn’t look like a change in the market.
Reporting beside tracked channels
Each account carries two fields. One is the tracked channel that brought it in. The other is the code from its answer. Report the code as a column beside the channel, using the same window and the same time to convert for both. Never add self-reported AI as its own channel row, because those accounts are already counted under the channel that brought them in. This is how the first client’s six-month customers looked in that format, using the same scaled counts as above.
| Tracked channel | Customers | Said AI | AI share |
|---|---|---|---|
| Marketing | 162 | 39 | 24% |
| Partner | 24 | 0 | 0% |
| SDR | 15 | 0 | 0% |
| Total | 201 | 39 | 19% |
Put the response rate on every view. When every customer answers, customer figures cover everyone, while sign-up figures are a sample. Split paid search into brand and non-brand before reading the codes, because brand is where the overlap showed up at both clients. At the first client, 29% of paid brand respondents selected AI. At the second, about one in seven qualified leads from paid brand search cited an AI assistant. When you have first-call answers, add them as a third column and mark the accounts where the call and the form disagree.
Running this setup on your own site
I've since built the open-text version of this question into a tool called Influence Thread. After someone sends your demo or contact form, it asks "How did you first hear about us?" on the thank-you page, in your site's own look, with one short follow-up that fits the answer, such as which podcast. Visitors who arrive from ChatGPT, Perplexity, Claude or Gemini get asked what they were asking it. Someone who already answered never gets the same question twice.
It's one line on your site and works with HubSpot, Webflow and most other forms. It runs on this site, and it's free during the beta. Join the Influence Thread beta.
Questions about AI attribution
Is “how did you hear about us” data reliable?
It's useful context, but people misremember and read the wording in different ways. Asking every customer improves coverage, though it still leaves out people who never bought. Compare the answers with recorded behavior before using them in spending decisions. The first sales call is a second source. When reps asked in the first few minutes, prospects named things no tracking captured, such as seeing the company repeatedly on LinkedIn without ever clicking. At one client, a senior buyer said exactly that after a few dozen ad impressions and no clicks. Reps tend to stop asking unless someone keeps reminding them.
Why doesn't Google Analytics show traffic from ChatGPT?
It can show referral visits it can identify. It can't record an AI referral when someone reads an answer and later arrives through Google or another route, and referral information is sometimes missing altogether.
Does AI search show up as branded search?
At this client, brand-ad signups were 3.2 times as likely to select AI as non-brand-ad signups. That association is a reason to investigate further, but it doesn't show that AI caused any particular purchase.
Should I cut brand paid search if AI is driving the demand?
Test it first, because prior exposure doesn't tell you whether the ad helped secure the purchase. With enough volume and observation time, a well-designed holdout can estimate what the ads contribute.
How should AI be reported alongside channel data?
Keep tracked channels and self-reported discovery in separate fields linked to the same account. Compare matching windows and show the overlap. Adding the two totals together counts some accounts twice.
What is our direct traffic, really?
At one client, “direct” was the largest traffic source, but those visitors were landing on demo and pricing pages. People who type a URL usually land on the homepage. Reading their own answers to the “how did you hear about us” question showed most had found the company through search. Only a small group had no explanation from any source.
