Foundgrove
← All posts

Conversion · 10 min read

Self-Reported Attribution: Ask Buyers, Not Analytics

Summary

Analytics keeps saying your best leads came from 'direct.' They didn't. Here's how one open-text form field recovers the sources GA4 cannot see.

By Hyder Shah, Founder & CEO · Published July 13, 2026 · Updated July 13, 2026

Every service business with a sales cycle longer than a phone call has the same hole in its reporting. The biggest deals show up in analytics as 'direct,' or as 'organic search,' or as nothing at all.

What actually happened: the buyer heard your name on a podcast, sat on it for four months, asked a peer in a private Slack group whether you were any good, and then typed your brand name into Google. Your analytics logged one thing — the last click.

Self-reported attribution closes that hole with one form field. It costs nothing, ships in an afternoon, and it is the only instrument you own that can see the parts of a buying journey a browser never touches. We put it on every lead form we build, before we touch a single tracking pixel.

Why does analytics keep telling you leads came from 'direct'?

Because 'direct' is not a channel — it is the bucket GA4 uses when a session arrives with no usable referrer. Google's own documentation defines Direct as the channel by which users arrive at your site 'via a saved link or by entering your URL,' and assigns it when source exactly matches '(direct)' and medium is '(not set)' or '(none)'.

That is a much bigger bucket than 'people who typed your URL.' Almost every high-trust, high-value referral path lands in it.

  • A link pasted into Slack, Teams, WhatsApp, iMessage, or a text message — no referrer is passed
  • A link inside a PDF, a deck, a desktop email client, or a mobile app
  • A privacy browser or extension that strips the referrer header
  • Someone who heard your name out loud and typed it into their address bar
  • An AI assistant that summarized your page and the buyer navigated over afterwards

Then a second mechanism finishes the job. Google states that in GA4, 'all attribution models exclude direct visits from receiving attribution credit, unless the path to key event consists entirely of direct visits' — see Google's attribution model documentation.

Read that carefully, because it is the whole problem. Your podcast listener arrives direct, leaves, comes back a month later through a branded organic search, and converts. GA4 hands 100% of the credit to organic search. The channel that created the demand gets zero, and the channel that harvested it gets a promotion.

Why does an open text field beat a dropdown every time?

A dropdown launders every real answer into an option you wrote before you knew the answer — so it can only ever confirm what you already believed. An open text box returns the noun: the podcast name, the person's name, the community, the competitor they just left.

Think about what a buyer does when your dropdown offers Google, Social Media, Referral, and Other. She heard you on a podcast. Nothing fits. She picks Other, or Referral, or she picks whatever is first. You now have a clean, structured, useless dataset.

The free-text version of that same answer reads: 'you were on that contractor podcast in March and my ops lead sent me the clip.' That is two channels, a month, and an internal champion, from one field.

Field typeWhat you actually learnWhat it costs youVerdict
Dropdown, 5-8 fixed optionsWhich of your own guesses buyers clickedNothing to build — but 'Other' silently absorbs everything you failed to predictConfirms your bias
Dropdown plus an 'Other' text boxSlightly more; buyers still take the fastest option on the listYou end up normalizing free text anywayHalf measure
Open text, one line, optionalThe specific source, the person's name, the timing, the triggerRoughly 20 minutes a month of cleanupUse this
No field at allNothingNothingYou are guessing with a budget

Verdict: open text, every time. The dropdown's only real advantage is that it saves you the cleanup — and the cleanup is exactly where the insight lives.

Where does the field go so it does not tank form completion?

Last field on the form, optional, never required. Zuko's form benchmarking database, covering over 93 million tracked sessions, puts the average form completion rate at 51.71% — roughly half of the people who start your form never finish it, and a required field is one more place to lose them.

Field count is the thing that hurts, not field order. Baymard Institute's 2024 research found the average e-commerce checkout contains 11.3 form fields while most sites need only 8, and that the number of form fields affects usability far more than the number of steps. That is checkout research, not lead-gen research, so apply it with care — but the direction holds.

Which means: if your quote form is already at seven or eight fields, this is not the field to bolt on. Cut something first. We cover the trade-offs in how many form fields is too many.

PlacementResponse qualityConversion riskWhen to use it
Last field on the lead form, optionalGood — written while intent is hotNear zero if optional and lastDefault. Start here
Thank-you page, after the lead is capturedDecent, but far fewer people answerZero — the lead is already bankedIf your form is long or your leads are high-value
Asked live on the discovery callBest — you can ask a follow-upZeroAlways, in addition to the form

Run the form field and the call question together. When they conflict, the rep's answer wins — buyers under-report first touch on a form and remember it properly once someone asks them out loud. If you are not already using your confirmation page for this, read thank-you page optimization.

How do you normalize free-text answers without a data team?

You need one spreadsheet, two CRM fields, and about 20 minutes a month. Cap your bucket list at 8 to 12 categories, and never create a bucket you cannot attach to a budget line.

Store the answer twice. A source_raw field holds the buyer's exact words and is never edited. A source_clean field holds your bucket. If you only keep the bucket, you have thrown away the part that was worth having.

Build the bucket list from your own first 50 answers, not from a template you found. The buckets that matter in HVAC are not the buckets that matter in B2B software.

Raw answerBucketBudget line it maps to
'googled commercial hvac contractor near me'Organic searchSEO retainer
'my accountant recommended you'Referral — named personPartner outreach, referral thank-yous
'heard you on a podcast a while back'Podcast / audioGuesting or sponsorship spend
'someone posted about you in our owners group'Private communityCommunity participation, not ad spend
'saw your ad'PaidAds budget — cross-check against platform conversions
'not sure, I've just known about you'UnclearNothing. Leave it unclear

Two rules keep this honest. First, a bucket must map to something you can fund or defund — 'the internet' is not a bucket. Second, never guess an ambiguous answer into a bucket you like. Unclear stays unclear.

We treat 'unclear' running above roughly one in six answers as a signal that your field label is wrong, not that your buyers are vague. 'How did you hear about us?' beats 'How did you find us?' — 'find' invites people to describe their last click, which is the one thing you already have.

How do you reconcile self-reported answers against GA4's channel report?

Put two columns side by side over the same 90 days, for the same leads, and read the deltas — not the totals. The totals will never match, and they are not supposed to.

Here is the sequence we use. It takes under an hour.

  • In GA4, open Traffic acquisition, set the date range to the last 90 days, and pull the default channel group split for your lead event only — not for sessions
  • In your CRM, pull the same 90 days of leads, de-duplicate them, and strip spam and existing clients
  • Count source_clean across those leads and convert both sides to a percentage of the same denominator: leads, never sessions
  • Map the buckets that can be mapped (Organic Search to your 'search' bucket, Paid Search to 'paid')
  • Leave everything that cannot be mapped — podcast, named referral, private community — in its own column. That column is the point of the exercise

Do not try to force the two into agreement. GA4 answers 'what was the last click before the form.' The field answers 'what does the buyer believe made them contact you.' Two different questions, two different instruments, both partly wrong. If you want a primer on which analytics tool to run underneath this, see GA4 vs Plausible vs Fathom.

What does the gap between the two actually mean?

The gap is your dark funnel — demand created in places that never fire a pageview: podcasts, private Slack and WhatsApp groups, LinkedIn comments, an association meeting, one operator telling another over lunch.

That is not a fringe slice of the journey any more. Gartner's research on the B2B buying journey reports that 75% of B2B buyers prefer a rep-free sales experience, and that buyers are 1.8 times more likely to complete a high-quality deal when they use supplier-provided digital tools in partnership with a sales rep rather than on their own.

The same Gartner research states that 99% of B2B purchases are driven by organizational changes. The trigger for your next deal is a reorg, a resignation, or a compliance deadline inside a company you cannot see — not an ad impression. No pixel will ever catch that. A buyer typing 'our new COO wanted a second opinion' into your form will.

What GA4 saysWhat buyers writeWhat it meansWhat to do about it
Direct is your largest channelThey name a podcast, a peer, a communityDemand was created off-site and harvested by brand searchFund the off-site source; stop treating 'direct' as a win
Organic search leads conversions'Someone told me about you, then I googled you'Search harvested demand it did not createKeep the SEO; also fund whoever did the telling
Paid is a large share of conversionsAlmost nobody mentions an adAds may be buying clicks from people who were already comingRun a spend or geo holdout before you renew
Both stories broadly agreeSame channels, similar orderYour tracking is intactTrust the analytics and spend your time elsewhere

Be honest about the limits: the gap is an estimate, not a measurement. GA4 over-credits the last click. Buyers over-credit whatever they remember most vividly. The truth sits between them. But a channel that keeps appearing in free text and never in GA4 is real — and a channel that dominates GA4 while nobody ever names it deserves a hard look.

How do you turn the answers into a budget decision?

One rule: a channel gets funded when a buyer who paid you names it, and gets cut when nobody has named it in 90 days. That is the same 90-day kill switch we apply to every channel we run — a line item with no qualified leads behind it does not get another quarter.

Rank buckets by closed revenue, not by lead count. A source producing four leads that close at 50% beats one producing forty that close at 2%, and the lead-count view will tell you the exact opposite.

That means source_clean has to travel from the lead record onto the deal record. If the field only lives on the enquiry and dies at the opportunity stage, you have built a vanity metric with extra steps.

  • Wait for roughly 30-50 named leads before you move money — below that you are reading noise
  • Pull out the named referrers by hand. Three buyers naming the same accountant is not a data point, it is a partnership you have not signed yet
  • Where buyers keep naming search, that is your case for funding a B2B SEO program — the demand is real and the channel is already converting it
  • Where buyers keep naming a channel you spend nothing on, that is the cheapest growth available to you this quarter
  • Feed the buckets into lead scoring so your reps know which sources actually close — see intent data and lead scoring for small teams

When is self-reported attribution the wrong tool?

It is the wrong tool for any decision you have to make weekly, and it is close to worthless below about 30 answers. It is a quarterly budget instrument, not a daily optimization one.

Short, urgent, low-consideration buying cycles are the clearest miss. Someone with a burst pipe did not 'hear about you' — they tapped the first result. For emergency trades, call tracking and click data beat the form field, and we would start with call tracking software instead.

  • You cannot bid-manage a Google Ads account on free text. Keep conversion tracking, offline conversion imports, and server-side tagging — see why most service businesses can't tell which ad dollar made them money
  • Recall bias is real: buyers name the last vivid touch, not the first one. Someone who found you via search six months ago and saw a LinkedIn post last week will say LinkedIn
  • In a buying group, the person filling in the form is often not the person who heard about you. If more than two people are involved, ask 'how did your team first hear about us?'
  • It does not replace analytics or conversion tracking. It sits on top of them and answers the question they structurally cannot
  • It will not fix a form nobody submits. Traffic and offer problems come first; attribution is a reporting problem, not a demand problem

The field works precisely because click tracking fails. That is not an argument for switching one off — it is an argument for running both and reading the difference.

If you sell to businesses and your reporting is mostly 'direct,' the fix is not a better analytics tool. It is one honest question on your form, and a channel plan that funds what buyers actually name. That is the work inside our B2B SEO program. Get my free audit and we will show you where your leads are really coming from.

Where does this fit in your stack?

If you're running a US service business, the playbook in this post pairs with our full services lineup and applies cleanly across our supported industries and US locations. If you want help implementing it, book a free strategy call — we'll review your current setup and prioritize the next three moves.

For the deeper engagement details, see our website design service. New to the terminology here? Our SEO & marketing glossary defines every acronym in this post.

What are the most common questions about this topic?

Common questions readers send us about this topic.

Does a 'how did you hear about us' field hurt conversion rate?

Not if it is optional and sits last on the form. Field count is what damages completion, not field order — Baymard's 2024 research found the number of form fields affects usability far more than the number of steps. The risk comes from making it required, or from adding it to a form that is already too long. If you are at seven or eight fields, cut one before you add this one.

Should the field be required or optional?

Optional, always. A required 'how did you hear about us' on a high-value enquiry form is a tax you charge your best leads for the privilege of contacting you. Optional fields on a lead form still get answered at meaningful rates because buyers who came through a referral usually want to say so. And an optional field produces honest answers, while a required one produces whatever gets the form submitted fastest.

Is an open text box really better than a dropdown?

Yes, and it is not close. A dropdown can only return the options you wrote before you knew the answer, which means it confirms your assumptions and hides everything else in 'Other.' An open text box returns the specific noun — the podcast, the person's name, the community, the competitor they left. The cost is roughly 20 minutes a month of normalization, and that cleanup is where the insight actually lives.

How many leads do you need before self-reported data is useful?

We would not move budget on fewer than 30 to 50 named answers. Below that you are reading noise, and one loud referral will look like a channel. Start collecting immediately anyway — the field costs nothing to run and the sample compounds. In the meantime, treat individual answers as qualitative leads to chase, not as percentages to build a spreadsheet on.

How do you reconcile self-reported attribution with GA4?

Pull GA4's default channel group split for your lead event over 90 days, pull the same 90 days of leads from your CRM, convert both to a percentage of leads rather than sessions, and compare. They will not agree. GA4 answers 'what was the last click,' the field answers 'what does the buyer think made them contact you.' The unmapped answers — podcast, referral, community — are the whole point of the exercise.

What is the dark funnel, and how big is it usually?

The dark funnel is the part of the buying journey that never fires a pageview: podcasts, private Slack and WhatsApp groups, LinkedIn comments, industry events, and one operator telling another. There is no reliable universal number for its size, and anyone quoting you one is guessing. Gartner does report that 75% of B2B buyers prefer a rep-free sales experience, which tells you most of the journey happens somewhere you are not watching.

Can you put the field on the thank-you page instead of the form?

You can, and it carries zero conversion risk because the lead is already captured. The trade-off is response rate — far fewer people answer a question after they have already gotten what they came for. Use the thank-you page when your lead form is already long or your leads are high-value enough that you cannot risk any friction. Otherwise keep it on the form and ask again on the call.

Does this replace conversion tracking?

No. It sits on top of conversion tracking and answers the question tracking structurally cannot. You still need GA4 or an alternative, conversion events, offline conversion imports for paid campaigns, and call tracking if the phone is your main channel. Self-reported attribution is a quarterly budget instrument. Click tracking is your weekly optimization instrument. Turning either one off to run the other is a mistake.

About the author

Hyder Shah

Founder & CEO, Foundgrove

Hyder Shah is the founder of Foundgrove, an SEO and GEO agency for US service businesses. See our editorial policy for how these guides are researched and reviewed.

Related reading

Other tactical pieces from the Foundgrove blog.

Want help applying this to your business?

Book a free 30-minute call. We'll review your current acquisition stack and show you the three highest-leverage moves for your industry and state. Or read how our website design service works.

Free SEO & AI visibility auditGet my free audit