Analytics · 11 min read · 2026-09-11
Self-Reported Attribution for SaaS: The HDYHAU Method
If your analytics says a third of your paying customers arrived via "direct" traffic, you do not have a direct-traffic problem — you have an attribution blind spot, and the cheapest instrument for closing it is a one-question survey. Self-reported attribution (SRA) asks the customer directly, "How did you hear about us?" (HDYHAU), and treats the answer as a first-touch signal. It is the standard fix for a pain every founder eventually hits: as one r/SaaS poster put it, "Analytics tells me Twitter sent 400 visitors and Google sent 300, but when someone upgrades in Stripe I have no reliable idea where they originally came from," so they resort to asking new customers in the welcome email. This post turns that instinct into a proper method.
SRA is not a replacement for your tracking layer and it is not a vanity metric. It is a second sensor pointed at the channels click tracking physically cannot see — podcasts, community mentions, word of mouth, and increasingly AI-assistant recommendations. Done well, it converts your "direct" bucket from an unreadable black box into a sized breakdown of real acquisition sources. Done badly, it produces confidently wrong numbers you then over-trust. The difference is in four things: knowing why tracked attribution fails, designing the question, timing it, and reconciling the answers against your click data instead of picking a winner.
Why tracked attribution leaves a hole SRA fills
Tracked attribution records the last click before the conversion, and for SaaS that click is frequently not where the intent was born. A prospect hears you mentioned on a podcast, remembers the name for three weeks, then types the URL directly — that converts as "direct" with no referrer. A link shared in a private Slack or a DM arrives stripped of UTMs. Payment upgrades in Stripe often carry no source at all. And privacy defaults plus consent declines quietly remove referrer and session data before your tool ever sees it, the same measurement gap behind acquisition signal decay. The "direct" bucket, in other words, is mostly untracked first touches wearing a misleading label.
This is the same territory as the dark funnel: the influence that happens off your properties, where no pixel fires. Multi-touch models cannot help here because there is nothing to model — the touch was never captured. SRA works precisely because it does not depend on capturing the touch; it depends on the customer remembering it. That makes it the natural complement to click tracking rather than a competitor: the two answer different questions, and the channels each is blind to are almost exactly the channels the other sees clearly.
Design the question so the answer is usable
Ask one question, make it required, and keep the option list short and curated. A good HDYHAU list mixes named channels a customer can actually recall — "Search (Google/Bing)," "A podcast," "A friend or colleague," "A Slack/Discord community," "X/Twitter," "LinkedIn," "A newsletter," "An AI assistant (ChatGPT/Perplexity)" — with a free-text "Other." As Outbrain's guide notes, the survey answer is "self-reported, single-source, and unfiltered by any tracking layer" (Outbrain), which is its strength and its weakness: it captures what tracking cannot, but only as cleanly as your options let people answer.
Resist two temptations. First, do not offer fifteen options — long lists depress completion and scatter responses into noise. Second, do not reuse your internal channel taxonomy verbatim; customers do not know or care whether they came via "paid social — retargeting." Write options in the customer's language, then map them to your UTM and channel taxonomy on the backend. Randomising or rotating option order across respondents blunts the ordering bias where whatever sits at the top gets over-selected.
Time it for fresh memory and zero friction
The best moment to ask is when engagement is highest and the memory is freshest: on the signup form or the very first post-signup screen for self-serve products, and on the demo-request or post-close form for sales-led motions. The r/SaaS founder's welcome-email approach is a valid fallback, but every day of delay costs both response rate and accuracy as the first touch fades and recency bias takes over. Airbridge's guidance is blunt on placement: ask it at the point of highest intent, not as an afterthought.
Timing has an activation cost you must respect. A required question wedged into the middle of onboarding adds friction exactly where you are trying to get users to first value, and can dent the very activation funnel you are trying to measure. Put it at signup (before the product experience starts) or immediately after the aha moment (once value is felt), never in between. One field, one screen, dismissible after answer — the goal is a signal that costs the user two seconds, not a survey that costs you conversions.
Reconcile — do not average — the two signals
The mistake that wastes SRA is treating it as a rival to click data and trying to reconcile them into one blended number. They are, as the practitioner consensus puts it, "two different sensors measuring two different things" (a88lab): the survey captures the customer's memory of the first thing that put you on their radar; your analytics captures the last click before the sale. They will disagree, and the disagreement is the point. Store both fields against the same account so the comparison lives in one place — the same discipline behind a CRM-based revenue-attribution pipeline.
Then use each where it is strong. Trust click attribution for optimising the tagged digital paths you control — paid search, paid social, organic landing pages — where it is precise and you can tie spend to outcomes. Trust SRA for sizing the channels that read as zero in your tool: the podcast that keeps getting named, the community that quietly sends your best accounts, the AI assistants surfacing you in answers. When a channel appears large in surveys but invisible in tracking, you have found an untracked driver worth investing in; when it appears in tracking but never in surveys, it may be capturing conversions it did not create. That cross-check feeds directly into a channel revenue-traceability audit.
Handle the biases without discarding the data
SRA data is directional, not precise, and pretending otherwise is how teams get burned. Four biases dominate. Recency bias makes customers name the last touch rather than the first. A "Google" catch-all absorbs everything they cannot quite recall, inflating search. Prestige bias favours memorable brand channels over the unglamorous path that actually converted them. And messy free-text answers need normalising before they aggregate. The correct response is not to throw the data out but to use it at the right resolution: size channels and rank them, do not compute a precise per-channel CAC from raw survey counts.
For low-volume or early-stage products, the counts are small enough that a handful of responses swing the percentages wildly — the same small-sample caution that applies to attribution at low volume. Read SRA as a running tally of qualitative signal ("three of our last ten customers mentioned the podcast") rather than a stable percentage until you have real volume. Once you do have volume, watch the trend of each channel's share over time rather than any single month's snapshot, and let big, repeated disagreements with your tracked data — not small ones — drive where you point your acquisition spend next.
From survey field to acquisition decision
The payoff of running HDYHAU properly is that your "direct" bucket stops being a shrug and starts being a decision input. Instead of guessing why upgrades appear sourceless, you can say "roughly a quarter of new paying accounts name a community or a podcast we do not track, and that share is growing" — a claim you can act on by investing in those channels and instrumenting what little of them is trackable. It is the cheapest attribution upgrade available: a single field, no new vendor, and it reaches exactly the channels your pixels never will.
Wire it into the rest of your measurement rather than leaving it as a standalone report. Cross it against your multi-touch attribution model so the survey sizes the dark channels your model is blind to, and against the emerging AI-assistant attribution gap, where "an AI recommended you" is a first touch no tracker records yet. Two sensors, each honest about what it cannot see, beat one sensor pretending it can see everything.
FAQ
What is self-reported attribution?
Self-reported attribution (SRA) is a method where you ask the customer directly how they first heard about you — usually a 'How did you hear about us?' (HDYHAU) question shown at signup or just after — and treat that answer as an attribution signal. It captures the channels click tracking cannot see: podcasts, word of mouth, Slack and Discord communities, newsletters, and AI-assistant recommendations. It is a memory-based first-touch signal, deliberately different from the last-click your analytics tool records, and it is most useful precisely where tracked attribution goes blind.
Why do so many SaaS conversions show up as 'direct' or 'unattributed'?
Because the click that captured the conversion is rarely the touch that created the intent. A prospect who found you in a podcast three weeks ago, remembered the name, and typed the URL today logs as 'direct.' Stripe upgrades often carry no referrer at all. Dark-social sharing (a link pasted into Slack or DMs) strips UTMs, and privacy defaults plus consent declines remove referrer data. The result is a large 'direct' bucket that is not really direct — it is a pile of untracked first touches. A survey recovers the memory the tracking layer lost.
When should you show the 'How did you hear about us?' question?
Fire it at the moment of highest engagement and freshest memory — during signup or on the first post-signup screen for self-serve products, or on the demo-request or post-close form for sales-led ones. Asking weeks later in a welcome email works but response rates fall and memories blur. Keep it to a single required question with a short, curated list of options plus a free-text 'Other,' and avoid burying it mid-onboarding where it adds friction to activation.
How do you reconcile self-reported attribution with tracked attribution?
Treat them as two sensors measuring different things, not rivals to be averaged. Tracked attribution is precise on tagged digital paths and blind to dark social; self-reported names the blind spots but is biased and coarse. Store both against the same account in your CRM, compare them channel by channel, and use each where it is strong: click data for optimising paid and organic paths you can tag, survey data for sizing the untracked channels (community, podcast, word of mouth) that would otherwise read as zero. The gap between them is itself the insight.
What are the main biases in HDYHAU survey data?
Recency bias (customers name the most recent touch, not the first), a 'Google' catch-all that absorbs everything they cannot recall, prestige bias toward memorable brand channels over the boring path that actually converted them, and option-ordering effects where the top choices get over-selected. Free-text answers are messy and need normalising. None of this makes the data useless — it makes it directional. You size channels and spot the untracked ones; you do not compute a precise CAC per channel from survey counts alone.