The “How did you hear about us?” survey: options, examples, and how to check the answers
How to ask “How did you hear about us?” so the answers are useful: where to put it, which options to offer (including ChatGPT and other AI assistants), and how to compare what people say with where your analytics says they came from.
· 12 min read
A "How did you hear about us?" survey is one question, asked once, usually at sign-up or right after a purchase, that asks new customers where they first discovered you. It's the cheapest attribution you'll ever run, and it catches what tracking can't: the podcast someone heard on a run, the friend who mentioned you over dinner, the ChatGPT answer that named you.
It's also unreliable on its own. People forget, pick the first option, or name the last place they saw you. The founders who get the most out of it treat the answer as one half of the story and their analytics as the other, then look at where the two disagree. This guide covers the question, the options and the placement, and then how to check the answers against real visits with Lantern.
Why ask at all when you have analytics?
Because a large part of how people find a young product never produces a trackable click:
- Word of mouth. A link pasted into WhatsApp, iMessage, Slack or Discord usually arrives with no referrer, so analytics files it under Direct. (More in what direct traffic really is.)
- Audio and video. Nobody clicks a podcast. They remember your name and search for it, and analytics credits Google.
- AI assistants. Someone asks ChatGPT for "a simple analytics tool for my SaaS", reads your name, and types your URL a day later.
- The long gap. A visitor reads your blog post in March and signs up in May from a bookmark. Last-click tools credit the bookmark.
Analytics tells you which door someone walked through. The survey tells you who told them about the building. You want both.
Where to ask the question
| Placement | Response rate | Best for |
|---|---|---|
| On the sign-up form, optional | High: it's one more field | SaaS and apps with a free trial |
| First screen of onboarding | High, if it's one tap | Products with a short onboarding |
| Order confirmation page | Medium to high | E-commerce and one-off purchases |
| Welcome email | Low | When you can't touch the product |
| On a sales or demo call | Very high, very honest | B2B with a sales step |
Ask once, as close to the moment of decision as you can. Keep it optional: a required field gets you answers, but a lot of them are "Other" or whatever was first in the list.
Which options to offer
Use a short list of choices plus a free-text "Other". Too few options and everything lands in Other; too many and people stop reading. Six to nine is about right. Shuffle the order (keep Other last) so the first option doesn't win by default.
A good default list for a software product in 2026
- Google or another search engine
- ChatGPT, Claude, Perplexity or another AI assistant
- A friend or colleague
- Reddit, Hacker News or another community
- X, LinkedIn or other social media
- A newsletter, blog or podcast
- YouTube
- An ad
- Other (please tell us)
The AI assistant option is the one most templates still miss, and for many products it's now one of the most chosen answers. Leave it out and those people pick "Google" or "Other", and you lose one of the fastest-growing channels in your data.
Ask a follow-up only where it pays
When someone picks "A newsletter, blog or podcast" or "Reddit", a small optional text box ("Which one?") is worth it: knowing which podcast is the actionable part. Don't add follow-ups to every option.
Common mistakes
- Treating the answer as the truth. Self-reported answers lean towards the most memorable touch, not the first one. "Google" often means "I searched your name after hearing about you somewhere else".
- Storing it where you'll never look. An answer in a database column nobody queries is worth nothing. Put it where you already look at channels.
- Changing the options every month. Then no two months compare. Pick a list and keep it for at least a quarter.
- Only reading the percentages. The interesting part is the disagreement between what people say and what your analytics saw, which is the next section.
How to check the answers against real visits
Here's where most survey guides stop, and where the survey becomes genuinely useful. Record the answer as a property of the sign-up event in your analytics, and you can look at each answer next to the channel that actually brought that person.
1. Send the answer with the sign-up
With Lantern, a goal can carry properties. Send the survey answer along with the sign-up, from the code that runs when the form succeeds:
// heardFrom is the option they picked, e.g. "ai_assistant" or "friend"
window.lantern?.("track", "signup", { heard_from: heardFrom });That's the whole integration. Lantern already knows the visitor's channel, referrer, UTM campaign, landing page and country, and keeps one visitor ID across days and subdomains, so the sign-up is tied to where that person first arrived, not just their last visit.
2. Compare the two sides
In the dashboard, filter to a channel, then pick the signup goal to see its properties. A few comparisons are worth doing every month:
| Filter | What the answers tell you |
|---|---|
| Channel: Direct | Who your untraceable sign-ups really are. Usually friends, podcasts and AI assistants. |
| Channel: Search | How many "Google" sign-ups first heard of you somewhere else and searched your name. |
| Channel: AI | Whether people who arrived from ChatGPT remember it as AI or as "Google". |
| heard_from = ai_assistant | Which channel AI-referred people actually arrived through. Often Direct, because many AI apps drop the referrer. |
| Landing page: a blog post | Whether your content brings people who then credit something else. |
If you've connected Claude to Lantern, you can skip the clicking and ask: "For sign-ups this month, show the heard_from answers split by channel, and tell me where they disagree." (Setup in connecting your analytics to Claude.)
3. Follow it to revenue
A channel that brings sign-ups who never pay isn't a channel. Connect Stripe, Paddle, Polar, Lemon Squeezy, Razorpay, Cashfree or Dodo Payments, and Lantern credits each payment, renewal and refund to the channel and campaign that first brought the customer. Put that next to the survey answers and you know which podcast or community actually pays for itself.
How to read the disagreements
- Analytics says Direct, survey says a friend: word of mouth is working. Make sharing easy: a referral link, a shareable result, a "send to a colleague" button.
- Analytics says Search, survey says a podcast: the podcast created the demand, Google captured it. Don't cut the podcast because search "converts better".
- Analytics says Direct, survey says ChatGPT: AI assistants recommend you, and their apps often hide the referrer. Watch both your AI channel and these answers; together they're a closer count than either alone. (See how to track ChatGPT traffic.)
- Both agree: good. That channel is measured properly; spend where it pays.
Set it up this week
- Add the question to your sign-up form or first onboarding screen, optional, with the options above.
- Create a Lantern account and add your site. Paste the setup prompt into Claude Code, Codex or Cursor and your coding agent installs the script and your sign-up goal.
- Send the answer as a
heard_fromproperty on the sign-up goal. - Connect your payment provider, so you can follow each answer to revenue.
- After a month, filter by channel and read the disagreements.
Questions people ask
Should the question be required?
Usually not. Optional questions get fewer but more honest answers. If you make it required, keep the list short and always include "Other" with a text box.
Multiple choice or free text?
Multiple choice with an "Other" text box. Pure free text is more honest but much harder to count; pure multiple choice misses new channels. Read the "Other" answers every month and promote common ones to their own option.
Can I allow more than one answer?
You can, but you lose the clean split. If you do, also ask "Which one made you sign up?", or treat the first answer as the primary one.
Is self-reported attribution better than tracking?
Neither is better alone. Tracking is precise about clicks and blind to conversations; surveys see conversations and blur the details. The useful view is the two side by side, which is why Lantern stores the answer on the sign-up.
How much does Lantern cost?
Plans start at $8 a month after a 7-day free trial with no card. Goals, properties, revenue attribution and the AI channel are on every plan.