What is self-reported attribution?
Self-reported attribution means asking buyers directly how they found you — usually a single “how did you hear about us?” (HDYHAU) field on the signup form. It sounds almost too simple to dignify with a name, and yet it routinely surfaces what no tracker can: “a friend at my last company used you,” “the Lenny’s Podcast episode,” “someone linked you in a marketing Slack.”
The reason it works is coverage, not precision. Software attribution can only credit clickable, trackable touches; the dark funnel — communities, DMs, podcasts, word of mouth — produces none. The human sitting at the keyboard is the only witness to those touches, so the only way to get the data is to ask. That’s also the honest framing of its role: HDYHAU is a flashlight into the dark funnel, an overlay on tracked attribution, not a rival to it.
Open text vs dropdown: pick open text
The first implementation decision is the field type, and it matters more than it looks:
| Dimension | Open text | Dropdown |
|---|---|---|
| Bias | Low — the buyer writes what they remember | High — options prime answers toward channels you listed |
| Specificity | High — names the exact podcast, community or person | Low — “Podcast” tells you almost nothing actionable |
| Discovers unknown channels | Yes — the whole point | No — you can’t list what you don’t know about |
| Analysis effort | Needs categorization afterwards | Pre-categorized |
| Completion rate | Slightly lower per field | Slightly higher per field |
The dropdown’s only real advantage — pre-categorized data — solves the analyst’s problem by destroying the marketer’s signal. “Podcast” as a dropdown selection is a category; “the Exit Five episode about attribution” is a budget decision. Categorization is cheap to do after the fact (an LLM or an hour a month does it); recovering detail that was never captured is impossible.
Where to put the field (and whether to require it)
Placement rule: after the conversion decision, never before it. The field belongs on the final step of the signup form or immediately post-signup (first screen of onboarding), where the buyer has already committed and one reflective question feels natural. Putting it on a top-of-funnel lead form adds friction exactly where drop-off is most expensive — and pre-purchase answers are lower quality anyway, because the journey isn’t finished.
On requiring it: opinions differ, and we’ll give you ours. Make it required but effortless — a single short text input with a placeholder that invites specificity. Required fields on a post-decision step cost little completion in practice and multiply your data coverage; optional fields get skipped by exactly the busy, high-intent buyers whose answers you want most. If your signup is ruthlessly minimal and every field is contested, optional-with-a-good-placeholder is a defensible second choice.
A minimal implementation — plain HTML plus wiring the answer into your analytics and CRM as a trait on the identified contact:
<!-- HDYHAU: last step of the signup form -->
<label for="hdyhau">How did you hear about us?</label>
<input
id="hdyhau"
name="hdyhau"
type="text"
required
maxlength="200"
placeholder="e.g. a podcast, a colleague, a Slack community - the more specific the better"
/>
<script>
// On submit: attach the answer to the identified contact so it lands in
// your CRM next to the tracked first-touch data (BusinessMCP example).
document.querySelector("form").addEventListener("submit", function (e) {
var email = document.querySelector("#email").value;
var hdyhau = document.querySelector("#hdyhau").value;
if (window.mcph && email) {
window.mcph.identify(email, { hdyhau: hdyhau, source: "signup" });
}
});
</script>The wiring is the part most teams skip: an HDYHAU answer stranded in a form-tool export is trivia. Stored as a trait on the contact — next to their tracked first touch and, later, their revenue — it becomes comparable data. If your signup runs through an embedded form tool or a separate funnel domain, the same identify call works server-side; see capturing leads from embedded funnels.
Blending self-reported with software attribution
Once both layers exist, resist the urge to crown one. They systematically disagree, and the disagreement is the product:
| Question | Software attribution says | Self-reported says |
|---|---|---|
| What does it observe? | The last clickable, trackable touches | The touch the buyer found memorable |
| Typical answer | “Branded search, then Direct” | “A podcast” / “my colleague” |
| Precision | Exact timestamps, pages, campaigns | Fuzzy, weeks-late human memory |
| Coverage | Only tracked touches; blind to the dark funnel | Includes untrackable influence |
| Failure mode | Over-credits harvesting channels | Over-credits memorable, recent, socially desirable answers |
The classic pattern: tracked data says a customer came from branded search; their HDYHAU answer says a podcast. Both are true — the podcast created the demand, search harvested it. Read side by side, per customer, the pair reconstructs journeys neither layer sees alone. This is the same triangulation logic as the wider attribution stack: multiple imperfect instruments beat one confident one.
The monthly categorization pass takes an hour and is the highest-leverage analytics ritual most teams don’t have.
Honest limits of asking humans
Self-reported attribution earns its place by covering the dark funnel — not by being accurate. Memory is recency-biased (the last touch is remembered, the first forgotten), salience-biased (a funny LinkedIn post beats the retargeting ad that actually drove the click), and occasionally socially performative (“a colleague” sounds better than “an ad”). Answers also arrive at a lag: what buyers report today reflects marketing you did months ago.
Sample size cuts both ways too. At low volume, three podcast mentions feel like a trend; they’re three anecdotes. The discipline is the same as everywhere else in measurement: hold the layers together — tracked first touch for precision, HDYHAU for coverage, revenue attribution for weight — and make calls only where the signals converge.
Frequently asked questions
Is self-reported attribution reliable?
It’s reliable directionally, not precisely. Human memory is recency- and salience-biased, so answers over-represent memorable and recent touches. But it’s the only instrument that observes untrackable influence — podcasts, communities, word of mouth — so the right posture is to treat it as a coverage layer blended with tracked attribution, not a replacement for it.
Should the “how did you hear about us?” field be required?
Our recommendation: yes, if it sits after the conversion decision (last signup step or immediately post-signup), where a required short text field costs very little completion and roughly doubles-or-better your data coverage versus optional. If your signup is aggressively minimal, optional with an inviting placeholder is a reasonable fallback.
Open text or dropdown for HDYHAU?
Open text. Dropdowns bias buyers toward the options you already believed in, can’t discover channels you don’t know about, and flatten “the Exit Five attribution episode” into “Podcast.” Categorize the free text afterwards — that’s cheap; capturing lost specificity retroactively is impossible.
What percentage of people fill out an HDYHAU field?
It depends on placement and whether it’s required, and no universal figure exists. Post-decision placement with a required single field yields answers from nearly everyone who completes signup; optional fields capture a meaningfully smaller share. The practical benchmark is your own funnel — measure completion before and after adding it.
Sources
BusinessMCP Team
Every guide is written from running BusinessMCP on its own platform — the match rates, reply rates, and deliverability lessons are from our own data, not recycled blog folklore. About BusinessMCP
Turn your business into one AI-ready MCP server
Connect your tools, install one tracking script, and expose your unified data to any AI agent through a single secure endpoint.
Get started free