How to tell if AI is sending you customers
AI can mention you more every week without a single new sale. One question in your signup flow shows where new customers first heard of you.
A chart of AI mentions tells you whether ChatGPT, Gemini, and Google’s AI name you more often. It cannot tell you whether those mentions bring customers. For that, ask the customers.
Ask one question
Ask “Where did you first hear about us?” on the first screen after signup, or right after the first purchase. Make it optional, one tap, and ask it once.
Give AI its own answer
Make “An AI assistant” one of ten short answers, beside Google, YouTube, LinkedIn, Reddit, and X. When someone picks it, ask which one: ChatGPT, Claude, Gemini, Google’s AI, Perplexity, Copilot, or Grok. Without it, a buyer who found you in ChatGPT picks “Google” or “Other”, and you lose the answer you wanted most.
Name the channels your buyers use. A software company names YouTube, LinkedIn, Reddit, and X. An online store might swap in TikTok and Instagram. A local business might add Google Maps. Keep the list to ten rows or fewer.
Save the answer with the customer
Store the answer on the customer’s account, with the date. A skipped question is saved as skipped, with no answer. It never becomes “Other”. When the account pays, you can count paying customers by source, apart from everyone who only signed up.
Read it next to your other numbers
Each source answers a different question. Read the three together.
What the customer remembers, in their words.
The page or search that brought them to your site.
The share of buyer questions where AI mentions you, scan by scan.
Example: a paying customer picks ChatGPT, but their first visit came from a Google search for your name. Keep both facts. They heard about you in ChatGPT, then searched for you. Count one customer, not two.
When AI mentions you more often and more paying customers pick an AI app, your work is likely paying off. When mentions rise and the answers do not move, look at what AI says about you before you chase more mentions.
What the answers cannot show
People forget, and they pick the closest option. In HockeyStack’s 2024 study of 8,528 answers from B2B buyers, the answer often differed from the last visit their software recorded. For search, 2,646 of 4,939 answers matched. HockeyStack warns that these answers alone do not prove what caused a purchase. Treat them as one signal of three.
Add the question with your coding agent
Copy this prompt into your coding agent. It covers the design, the server, the database, analytics, and tests.
Add an optional "Where did you first hear about us?" question to our onboarding. Read the codebase first. Use our existing frameworks, components, design tokens, database, and migration tools. Screen 1. Show the question once, on the first screen a new user sees after signup. Do not add a required step. Existing users never see it. 2. Show ten answers as a plain single-choice list, one per row, with thin dividers and radio marks. No icons and no new colors: An AI assistant; Google or another search engine; YouTube; LinkedIn; Reddit; X (Twitter); Other social media; A friend or colleague; Podcast, newsletter, or article; Other. If a channel above does not fit our business, swap it for one that does (for example TikTok or Instagram for a store). Keep ten rows or fewer. 3. When "An AI assistant" is picked, open an optional "Which one?" row directly under it, indented to the label, with small single-choice chips: ChatGPT; Claude; Gemini; Google AI Mode or AI Overviews; Perplexity; Microsoft Copilot; Grok; Another. 4. When "Other" is picked, show a short text field (up to 200 characters). Keep its border neutral in every state. 5. Sizes: rows 48 px tall with 16 px text, 20 px radio marks, and dividers that start at the label. Chips are 36 px tall with a 44 px touch target. Buttons are 44 px tall. 6. "Continue" stays disabled until an answer is picked. "Skip" is a quiet text button. Changes take under 150 ms with no bounce. Support the keyboard, screen readers, phones, and reduced motion. Server and data 7. Add one endpoint or server action that saves the answer for the signed-in user only. Accept only the listed keys and reject anything else. 8. Store these fields on the account, or in a small table linked to it: source key (for example "ai"), AI app key (for example "chatgpt", optional), the "Other" text, answered_at, and skipped_at. Write a migration. 9. Skip saves skipped_at and no answer. Never store a skip as "Other". Do not show the question again once answered_at or skipped_at is set. 10. If we send product analytics events, send one event on answer, with both keys, and one on skip. 11. If we sync customers to a CRM or billing system, copy both keys to that customer record, so paying customers can be counted by source. Tests 12. Test that answering saves the keys and the time, skipping saves only skipped_at, an unknown key is rejected, and the question does not come back. Before you change code, list the files you will change, the fields you will add, and how the answer gets from the screen to the database.
After a few weeks, compare the paying customers who picked an AI app with your AI visibility over the same weeks.
Start free trial