Self reported attribution for B2B SaaS
Where to place the how did you hear about us field, exact wording and answer options, response rates to expect, and how to reconcile answers with your CRM.
On this page 9 sections
- Where does the how did you hear about us field belong?
- What exactly should the question say?
- How do you handle the free text answers?
- What response and quality rates should you expect?
- How do you reconcile self reported data with CRM source fields?
- Field configuration you can copy
- What the monthly report should look like
- The honest limitations
- What to do this week
- Frequently asked questions
The short answer
Self reported attribution asks buyers directly how they heard about you, usually through a required 'How did you hear about us?' field on the demo request or paid signup form. Place it at the point of highest intent, not on a first touch form. Use eight to ten broad options plus a free text box, normalise the open answers monthly, and report the result as your primary channel view alongside, not inside, CRM source fields.
Key points before you start
Every attribution vendor sells you a model. A one line form field does something none of them can: it tells you what the buyer thinks happened. The catch is that almost nobody specifies how to build the field, so most implementations return a pile of unusable text and get quietly ignored by month four.
This page is the specification. Field placement, exact wording, the answer list, what response rates look like, how to clean the free text, and what to do when the answer contradicts your CRM.
Where does the how did you hear about us field belong?
On the demo request form and the paid signup form. Not the ebook gate, not the newsletter box, not the first touch form that captures somebody who is three months from caring.
The reasoning is about memory quality. Someone downloading a template at 11pm has no narrative about you yet. Someone booking a demo has already told a colleague why this vendor and not the other two, so the answer they give is a compressed version of a story they have rehearsed. That answer is worth ten of the other kind.
Put the field last on the form, below email and company name, directly above the button. On multi step forms it goes on the final step. Chili Piper and similar scheduling tools let you append a custom question before the calendar renders, which is the second best slot if your form is locked down.
The most common placement error
Adding the field to every form in the marketing site. You end up with 4,000 answers from ebook downloads and 200 from demo requests, and the aggregate is dominated by people who had no opinion. Two forms. That is the whole footprint.
Required or optional
Make it required. This is the argument people push back on hardest, and the data is on the side of requiring it.
Optional fields in B2B SaaS typically return an answer from 30 to 40 percent of submitters, and the people who bother are systematically different from the people who do not. They skew toward enthusiasts, community members and referrals, which is exactly the segment that would already tell you. Requiring the field pushes completion to near total.
The abandonment cost is real but small when three conditions hold: the field is last, the option list is short enough to scan in two seconds, and there is an escape hatch. Without the escape hatch you get garbage, because someone who genuinely heard about you from a Slack group will pick whatever is nearest rather than lie thoughtfully.
What exactly should the question say?
Use this wording:
How did you first hear about us?
Two things matter in that sentence. “First” anchors the answer to origin rather than to the most recent touch, which is what people default to otherwise. And “us” beats the company name, because writing “How did you hear about Acme?” invites the answer “I searched for Acme”, which teaches you nothing.
Avoid “What made you reach out today?” as the primary field. It is a good second question and a bad first one, because it collects trigger events rather than channels and the two need separate columns.
The answer list
Here is a tested starting list for B2B SaaS. Ten options, ordered roughly by expected frequency, with a free text catch.
| Option label | What it captures | Common failure |
|---|---|---|
| A colleague or friend recommended it | Word of mouth, the single most underreported source | Gets collapsed into ‘referral’ and confused with your partner program |
| Google or another search engine | Organic and paid search blended | People say this when they searched your brand after hearing about you elsewhere |
| A community, Slack group or forum | Peer channels your tracking never sees | Often typed into Other if you omit it |
| Social media (LinkedIn, X, YouTube) | Organic and paid social | Ask a follow up for which platform if social is a real bet |
| A podcast or webinar | Audio and live formats | Almost invisible in platform data, which is the point |
| An email or newsletter | Yours and other people’s | Split these if you sponsor newsletters |
| A review site (G2, Capterra) | Late stage comparison shopping | Rarely a true first touch, usually a validation step |
| An event or conference | Field marketing and booths | Cross check against your field marketing scan lists |
| We use a partner or integration of yours | Ecosystem led discovery | Frequently missing from lists entirely |
| Other (please tell us) | Everything else | The most informative column you will have |
Ten is the practical ceiling. Past twelve, scanning stops and people select the first plausible item, which inflates whatever sits near the top. If you suspect position bias, rotate the middle six quarterly and compare distributions.
15-30%
Share of answers that land in free text when Other is offered with a text box
Typical range across B2B SaaS implementations
Attach the free text box to Other and make it required when Other is selected. A bare Other checkbox is a wasted row.
Editable CSV worksheet
SaaS benchmark evaluation worksheet
Record the source, date, cohort and metric definition before comparing your numbers with a benchmark.
How do you handle the free text answers?
Monthly, in a spreadsheet, by hand, for the first year. Automating this before you understand the vocabulary produces categories that fit your assumptions rather than your buyers.
The workflow takes about an hour a month at 100 to 300 demo requests. Export the Other rows, sort alphabetically so near duplicates cluster, and map each to a normalised label. Keep the raw text forever in a separate column. You will reread it.
Monthly normalisation routine
- Export raw rows
Pull every record from the last month with the self reported field populated, including the free text column. You should have one row per opportunity, not per lead.
- Cluster the text
Sort alphabetically. Near duplicates sit next to each other, so 'Lenny's newsletter', 'lennys newsletter' and 'Lenny' collapse in one pass.
- Map to normalised labels
Assign each cluster a label. Create a new label the moment a cluster hits five mentions in a month, rather than forcing it into an existing bucket.
- Promote repeat answers into the picklist
Anything appearing in Other for three consecutive months with double digit counts becomes a dropdown option. This is how the list stays current.
- Flag the named entities
Individual podcasts, newsletters, creators and communities get their own rows. 'Podcast' is a channel. 'The specific show that sent eleven demos' is a media buy.
- Publish the table
Same format every month so the trend is readable. If the format changes, nobody reads it twice.
The named entity step is where this pays for itself. A category level report says podcasts work. The normalised free text says one show produced eleven demo requests last quarter and the other four produced none, which is a sponsorship decision you can actually make. This is the same logic behind treating intent data as a list of named accounts rather than a score.
What promotion looks like in practice
A data infrastructure company ran the field for five months. ‘dbt community Slack’ appeared 34 times in free text before anyone noticed, because the category report filed it under Other. It became a dropdown option in month six and turned out to be their third largest origin of qualified pipeline.
What response and quality rates should you expect?
With the field required on demo request and paid signup only, plan for these ranges. They are typical rather than sourced, because nobody publishes clean segmented data on this yet.
| Metric | Optional field | Required field | Note |
|---|---|---|---|
| Answer rate | 30-40% | 95%+ | The residual gap is API submissions and sales created records |
| Usable answers | ~85% of those given | ~80% of those given | Required fields pull in slightly more low effort responses |
| Free text share | 10-20% | 15-30% | Higher when your list is short or your channel mix is unusual |
| Form abandonment change | Baseline | +0 to 3 points | Larger if the field is placed above email |
Low effort answers look like a single character, “internet”, or the name of your own product. Strip them at normalisation and keep a count, because a rising junk rate is the first sign the field has drifted to the wrong form or the option list has gone stale.
One quality note that surprises people: answer quality goes up with deal size. Enterprise buyers write sentences. Self serve signups write one word. If most of your volume is self serve, weight the analysis by opportunity value or the picture skews toward whatever channel produces cheap signups.
How do you reconcile self reported data with CRM source fields?
You do not reconcile them. You report them side by side and let the disagreement be the finding.
The classic conflict: UTM says paid search, self report says a colleague recommended it. Both are accurate records of different moments. The referral created demand, the branded search ad captured it, and if you had paused that ad the person would have found you anyway. This single pattern is why branded search budgets survive far longer than they should, and it is the case that incrementality tests exist to settle.
The rule I would write into your reporting spec: self reported is the primary channel view for demand creation, platform data is the primary view for capture efficiency. Do not average them. Do not build a blended score. Averaging two measurements of different things produces a number that measures nothing, which is the core problem with how most teams handle paid media attribution.
The taxonomy trap
The strongest temptation is to map self reported answers onto your existing UTM channel taxonomy so the two reports match. Resist it. Your taxonomy was built around what your ad platforms can track, so forcing buyer language into it deletes exactly the categories you built the field to discover. Keep a separate dimension.
For a fuller treatment of how the two datasets sit together in a reporting stack, the companion piece on self reported attribution metrics covers the calculation side. And if you have never audited what your current source fields actually contain, the attribution audit checklist is a faster first step than building anything new.
Editable working copy
Get this checklist as a working file
Save the checks on this page as a working copy and assign an owner, status and evidence for each action.
Field configuration you can copy
HubSpot
Create a custom contact property, not a deal property, so it persists through the lifecycle.
- Object: Contact
- Internal name:
self_reported_source - Field type: Dropdown select
- Required on form: Yes
- Second property:
self_reported_source_detail, single line text, required when the dropdown equals Other (use a dependent field on the form, not a workflow) - Third property:
self_reported_source_normalised, dropdown, set by your monthly process, never by the visitor
Set the dropdown to sync to the deal via a workflow that copies the value on deal creation. Without that copy, reporting on closed won by self reported source is painful in HubSpot’s deal reports.
Salesforce
- Object: Lead and Contact, with a mapping so the value survives lead conversion (this is the step people forget, and it silently drops the data for every converted lead)
- API name:
Self_Reported_Source__c, picklist - Second field:
Self_Reported_Source_Detail__c, text 255 - Third field:
Self_Reported_Source_Normalised__c, picklist, restricted - Add the normalised field to the Opportunity object and populate it from the primary contact role on opportunity creation
Restrict the picklist. An unrestricted picklist in Salesforce accumulates variants through integrations until you have four spellings of LinkedIn.
What the monthly report should look like
One table, one page, same shape every month. Opportunities and pipeline value, not lead counts, because lead counts reward the channels that produce volume and starve the ones that produce buyers.
| Self reported source | Opps | Pipeline | Won | Win rate | vs CRM source agreement |
|---|---|---|---|---|---|
| Colleague or friend | 31 | $620k | 9 | 29% | 12% |
| Search engine | 44 | $510k | 6 | 14% | 81% |
| Community or Slack | 18 | $410k | 7 | 39% | 4% |
| Podcast or webinar | 12 | $290k | 4 | 33% | 9% |
| Review site | 15 | $180k | 2 | 13% | 62% |
That right hand column does the heavy lifting. It shows the share of records where your CRM source field says roughly the same thing as the buyer. Anything under 20 percent is a channel your tracking is blind to, and those rows are where the budget conversation should start. The pattern here matches what shows up in broader research on where B2B SaaS pipeline actually comes from and on how B2B SaaS buyers find vendors.
The month we started reporting self reported source to the board was the month anyone believed the podcast spend. No dashboard had ever shown it.
The honest limitations
Three failure modes worth naming before you present this to a skeptical CFO.
Recency contamination. Even with “first” in the question, a meaningful share of people answer with the most recent thing they remember. You cannot fix this with wording. You can partly detect it by comparing answers against account first touch dates where you have them.
Brand cannibalisation. Any well known channel absorbs credit from lesser known ones. Search takes credit for referrals, LinkedIn takes credit for the newsletter that mentioned you. The free text column is your only real defence.
Sample size. Below roughly 40 opportunities a quarter, the table above is noise dressed as insight. Report it quarterly at that volume and resist the urge to explain month over month swings.
None of that makes the field less useful. It makes it a demand signal rather than an accounting system, which is the correct way to file it inside a broader demand generation program.
What to do this week
Add one required dropdown with ten options and a free text fallback to your demo request form and your paid signup form. Create the normalised field alongside it. Book a recurring hour in your calendar on the first Monday of each month to clean the Other column, and produce the table above after 60 days of data.
Do not build dashboards yet. Do not wire it into your attribution tool. Collect three months, read the free text yourself, and let the categories emerge from what buyers actually type.
Editable CSV worksheet
SaaS Demand Generation planning worksheet
A practical demand gen planning worksheet: decisions, owners, evidence and next actions.
Frequently asked questions
Should the how did you hear about us field be required?
Yes, on demo request and paid signup forms, provided you include a free text option and an 'Other' path. Required fields lift completion of the question from roughly a third of submitters to near total, and in our experience the effect on overall form abandonment is small when the field sits last and the options are short.
How accurate is self reported attribution?
It is accurate about influence and unreliable about sequence. Buyers remember the podcast, the peer recommendation and the community thread. They rarely remember the retargeting ad or the third organic visit. Treat it as the best available read on what made someone care, and use platform data for what made them click.
Where should the field go on the form?
Last, below email and company, above the submit button. Putting it first raises abandonment and produces lazier answers because the visitor has not yet committed. On multi step forms it belongs on the final step, after the fields that qualify the lead.
How many answer options should the list have?
Eight to ten, ordered by expected frequency with 'Other' last and a free text box attached. Past about twelve options people stop reading and pick the first plausible item, which inflates whatever you listed near the top. Rotate the middle of the list quarterly if you suspect position bias.
What do you do when self reported attribution contradicts the CRM?
Report both and explain the gap rather than reconciling it away. A lead whose UTM says paid search and whose self report says 'a friend at another company told me' was probably referred and then searched your brand. Both records are true. Only the self report tells you which spend created the demand.
Can you use self reported attribution for budget decisions?
For directional allocation, yes. For precise channel ROI, no. Use it to spot channels your tracking cannot see at all, such as podcasts, communities and word of mouth, then confirm with a holdout or pause test before moving serious budget.
The saas-marketing.net editorial team Research and editorial
We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.
Published September 11, 2026. Last updated .