There are six real ways to track lead sources. Asking people directly, and typing sources into the CRM by hand, then reading analytics reports, and capturing UTM tags in form fields, then persistent site-level capture that records the source and journey on every enquiry, and enterprise intake platforms. Most businesses use the first three, which is why most lead source reports are wrong. This guide compares all six, where each breaks, and which combination actually holds up.

Every business tracks lead sources somehow, even if the method is a receptionist asking "how did you hear about us?" and writing down whatever gets said. The question is never whether you track sources. It is whether your method survives contact with reality. A lead source is simply where a lead first found you. For the full definition and the main types, we cover that in what is a lead source. This guide is about the how, every method in use, compared without a vendor's thumb on the scale.
Method 1: Asking the lead
"How did you hear about us?" on the form or on the phone.
How it works. The lead tells you. Where it breaks. People compress their journey into whatever comes to mind. Someone found you through a search, read a comparison article, and returned via a review site. That someone will say "Google." And someone who clicked your paid placement will say a friend mentioned you, because a friend also did. Self-reported source is honest about influence and hopeless about mechanics.
Verdict. Keep the question, never rely on it alone. Its real value appears later, when you can compare what people say against what actually happened.
Method 2: Manual CRM entry
A source field in the CRM, picked from a dropdown by whoever logs the lead.
How it works. Human memory plus a picklist. Where it breaks. The entry happens days or weeks after the visit, by someone who was not there. They are choosing from categories that blur together. The field also gets overwritten as the record passes between hands. The result reads like data and behaves like rumour.
Manual entry is not useless. The field itself, the picklist discipline, and locking the original source against edits are all worth doing, and the right field architecture matters enough that we cover it separately, in our CRM lead source guide. But a well-designed field filled by guesswork is a well-organised guess.
Verdict. Necessary plumbing, wrong as the capture method.
Method 3: Analytics reports
GA4 or similar, traffic by channel, conversions by source.
How it works. Aggregate reporting of sessions and conversion events. Where it breaks. Analytics counts, it does not introduce. It will report that organic search produced eight conversions this month. It cannot tell you which eight people, or which enquiries in your inbox they correspond to, or what any of them did across earlier visits. The lead in your CRM and the conversion in the report are the same human, permanently unlinked. Analytics is also structurally generous to "Direct." That is the label it applies whenever the arrival evidence is missing.
Verdict. Keep it for traffic health. It cannot do lead-level source tracking, because it was never built to know who anyone is.
Method 4: UTM capture in hidden form fields
UTM tags on your links, hidden fields on your forms that catch them, values passed into the CRM with the enquiry.
How it works. What you tagged arrives labeled, at lead level, at the moment of enquiry. This is the first method on the list that connects a named lead to a source automatically. Where it breaks. Twice. It only sees what you tagged. So organic search, referral visits, and every channel you do not control arrive blank, and it only reads the URL at the moment the form loads. The buyer lands on your tagged placement, reads three more pages, then enquires from an untagged URL. That buyer is recorded as "Direct," and the tagged click gets nothing.
Verdict. Correct instinct, half the machine. Tagging discipline matters regardless of method. The gap is what happens to untagged arrivals, and to anyone who moves off the tagged page before enquiring.
Method 5: Persistent site-level capture
A script on your site records the true source of every arrival, tagged or not. It holds it for the whole visit, then attaches the source plus the full page journey to the lead, at the moment the form is submitted.
How it works. Capture happens where every channel converges, your own website, then holds for the whole visit. The click that brought them, and every page they read on the way, then the form they finally submitted. All land on one record with the enquiry. Where it breaks. It sees your website. So enquiries that never touch the site still need the human question from Method 1, a phone call from a print listing, or a walk-in. It is also first-party by nature. It tracks visitors on your site, not people across the internet.
This is the method Lead Source (leadsource.co) implements: one line of code, and it works with any form tool. Every website enquiry arrives with its true source and journey attached, free to start.
Verdict. The working answer for lead-level truth on website enquiries. For most service and B2B businesses that is where the leads are.
Method 6: Intake and control platforms
An intake layer between many lead sources and your systems, validation, filtering, and routing, then standardisation at volume.
How it works. Built for operations buying leads from vendors, and running many intake streams, then needing compliance and routing control before anything touches the CRM. Where it breaks. Nothing to break, it is simply a different problem. If you are not buying vendor leads at scale, an intake platform is a freight system for a household's post.
Protecting the lead on its run from form to CRM is its own subject, covered in secure lead capture.
Verdict. Right tool for high-volume purchased-lead operations. Wrong first move for a business whose leads come from its own website.
The comparison
| Method | Lead-level | Sees untagged channels | Sees the whole visit | Effort | Honest verdict |
|---|---|---|---|---|---|
| Asking the lead | Yes | Sort of | Yes, vaguely | None | Keep as a cross-check, never the record |
| Manual CRM entry | Yes | Claims to | No | Ongoing | Plumbing, not capture |
| Analytics reports | No | Yes, in aggregate | Partially, anonymously | Low | Traffic health only |
| UTM hidden fields | Yes | No | No | Moderate setup, ongoing discipline | Half the machine |
| Persistent site-level capture | Yes | Yes | Yes | One line of code | The working answer for website enquiries |
| Intake platform | Yes | N/A | N/A | Heavy | For purchased-lead volume operations |
The combination that holds up
In practice the reliable setup is three methods running together, each doing the one job it is good at: persistent site-level capture as the system of record for every website enquiry, UTM tagging discipline on everything you control so the capture layer receives the richest possible evidence, and the human question kept on the form. Comparing what leads say against what the record shows is the cheapest attribution audit that exists. "A friend told me" can sit on a record showing three search visits and a review-site return, which tells you something about how your channels actually work together. Where your channels are many and their reports disagree, that is a separate disease with its own treatment, covered in our cross-channel attribution guide.
The CRM stays in the picture as the destination, a locked original-source field, and clean picklists, then values arriving from capture, rather than memory.
Put the working method on your site in five minutes. Lead Source captures the true source and full journey of every website enquiry. Free to start.
Start free