Two instruments, two different kinds of wrong
Most people frame this as data against anecdote. On a business under a few hundred enquiries a month it is the other way round.
The free-text field is the census. Every enquiry produces a row, because the field sits on the record itself. What it holds is a memory, filtered through whatever the customer thinks you want to hear.
Platform analytics is the sample. What it holds is exact — a referrer is a fact, not a recollection — but it only holds the enquiries whose sessions it managed to see, and it will not tell you what share of the total that is. Both are wrong. The only useful question is which kind of wrong you can work with.
| Failure mode | Self-reported field | Platform analytics |
|---|---|---|
| Misses the enquiry entirely | Almost never. The field lives on the record, so every enquiry has a row. | Routinely. Declined consent, a blocked script, an expired cookie, an in-app browser, a phone call. |
| Wrong about the channel | Often. "Google" covers organic, an ad, Maps and a Business Profile at once. | Rarely, when it saw the session at all. A click ID is not a memory. |
| Direction of the error | Predictable. Over-credits brand, word of mouth, and whatever happened most recently. | Predictable in mechanism, unpredictable in size. It moves when a browser or a banner changes. |
| Sees referral and offline | Yes. It is the only instrument that does. | No. A recommendation from a client's accountant has no channel to land in. |
| Cost to run | One form field, plus someone reading the raw text once a month. | Tag work, consent plumbing, and a rebuild every time a platform changes. |
| Degrades over time | No. It works the same in 2020 and in 2030. | Yes, steadily, and not in your control. |
What analytics loses, and why the losses keep growing
None of this is GA4 being badly built. Each loss has a boring, specific cause, and each one has grown since 2020.
Consent. A visitor who declines, or who leaves before choosing, was never recorded — there is no row to model from. Google's consent-mode modelling fills part of that hole, but only for properties large enough to qualify, which most Indian sites are not.
Cookie lifetime. Safari deletes script-written storage after seven days without a return visit, so a March research session is gone by the time the June enquiry arrives. Analytics then sees a path that genuinely is entirely direct and credits Direct — not a modelling opinion, an absent row. The mechanics are in how to attribute revenue to SEO.
Surfaces. A buyer researches on a phone, asks a colleague, then messages you on WhatsApp. Two of those three happen where no tag runs at all — see tracking WhatsApp and phone enquiries.
Assistants. Someone reads an AI answer that names you, then types your brand into the address bar. That session is Direct, and nothing anywhere in your analytics records the assistant. The customer, asked, will tell you plainly.
Where the customer's answer is wrong, and in which direction
This is the half self-reported enthusiasts skip, and it's what makes the method defensible: the biases are documented and correctable rather than mysterious. Five findings from survey methodology land straight on your enquiry form.
- Offering a list manufactures the answer. In Pew Research Center's split-sample testing, 58% named the economy as the most important issue when it was offered as an option, against 35% who volunteered it unprompted. A dropdown of your channels does that to your lead source data.
- Open questions surface what you didn't think to ask. In the same testing, 43% of people given the open-ended version gave an answer that appeared nowhere on the closed list. Those are the ones worth paying for.
- Social desirability shifts answers predictably. People understate what feels unflattering. On a lead form the pressure is mild, but it's why almost nobody types "I clicked an ad".
- Memory credits the most recent touch. The customer names the last thing they can recall, which after a long consideration period is usually a brand search or a colleague. Both instruments fail in the same direction here.
- "Google" means four things. Organic, an ad, Maps and your Business Profile all get typed as Google. This is the ambiguity that most deserves a follow-up on the call.
How to ask it so the answer is usable
The field is cheap to add and easy to ruin. Six decisions, and the first two do most of the work.
- Free text, one line, no dropdown. You want the customer's string, not a click on your own assumptions.
- Last field, and optional. Put it after the contact details so an abandoned form still leaves you a lead. A mandatory source field buys you a column of full stops and a worse completion rate.
- Ask again on the call, store both answers. The typed version and the version a human gets are different, and the second usually has a name in it.
- Code it monthly, keep the raw string forever. Buckets go in the report. The raw text is where you find the podcast episode or the industry WhatsApp group you had no idea existed.
- One field that locks, one sales can write. Nobody overwrites the customer's own words, and any disagreement between the two fields is a finding rather than an error.
- Ask "how did you hear about us", not "where did you find us". How invites a person or an event. Where invites a place — and you get "Google" typed by people whose accountant told them.
Reconcile them, rather than picking one
The output that matters is neither number on its own. It's the ratio between them, and the month that ratio changes.
Build one sheet, monthly, one row per enquiry: the CRM record, the channel analytics assigned to that same record, and the customer's typed answer. Matching per record rather than per month is the whole trick, and it needs first-touch hidden fields on your forms to be possible at all. Then read the disagreements instead of averaging them.
- Field says Google, analytics says Direct. The organic session happened and then expired. Count it as organic in the CRM and stop arguing with the dashboard.
- Field says Google, analytics says Paid. Trust the platform. A click ID is a fact, and customers cannot reliably tell an ad from a result.
- Field names a person or a company. Referral. Analytics has no channel for this and never will, and on an established Indian business it is frequently the largest single bucket.
- Field is blank on most records. The question is mandatory, badly placed, or being asked after the sale. Fix the form, not the report.
- The ratio jumps in one month. Check the deploy log and the consent banner version before reading it as a marketing result — GA4 and Search Console never matching is the same lesson in another pair of tools.
The volume where a real measurement build starts to pay
Both instruments cost something, and the costs scale in opposite directions. The field costs one form field plus somebody reading free text once a month, which gets worse as you grow. A build costs mostly a fixed sum up front, which gets cheaper per enquiry as you grow. The crossover sits lower than most agencies suggest and higher than most founders expect.
| Monthly enquiries | What to run | Why |
|---|---|---|
| Under 50 | The field alone. Read the answers; don't chart them. | Any percentage off this base is noise, and analytics withholds rows outright when the counts are too small to aggregate safely. |
| 50–200 | The field, plus first-touch hidden fields on every form. | Two days of developer time, no recurring cost, and it is what makes reconciliation possible at all. |
| 200–500 | Both, reconciled monthly, with the ratio printed in the report. | Enough volume for shares to be stable. Nowhere near enough for the platforms to model your gaps. |
| Above 500 | A real measurement build — and keep the field anyway. | Free text stops being readable by hand, and the platform data is finally large enough to be worth repairing. |
What our own field returns, and the number we won't print
We run this question on our own enquiries and hold both the typed answer and the analytics channel for the same record. So we can describe the disagreement — and there is a number we won't publish.
We take three clients a month. A percentage drawn from that base would be exactly the fake precision this page argues against: a share computed from a few dozen records moves several points when two people change their minds, and you would have no way to audit it. A number you can't check isn't evidence.
What we can say is structural. Enquiries that name a specific page or a specific person are the ones analytics files under Direct, because the session that did the work expired weeks earlier. Enquiries that name another human being — a former client, an accountant, a founder in the same industry group — have no channel at all. Neither is a measurement error you can tune away.
It also decides what we agree to be judged on. Our guarantee runs against your trailing-90-day count of qualified leads from organic search, frozen on day one and counted in your CRM rather than in analytics, precisely because a CRM count doesn't fall when a tag stops firing. What counts as a qualified lead is worth settling before that number is frozen; how the guarantee works is the rest of it.
- More accurate on a small business? The field, comfortably. It's the only one that sees every enquiry.
- More accurate about ad versus organic? The platform, always. Customers can't tell those apart and a click ID can.
- Which do you actually run? Both, with the ratio printed in the report — until your volume makes the free text unreadable, and then both with a build underneath.