What is a lead source?
A lead source is the marketing channel, campaign, or referrer that brought a prospect to your business. When a visitor submits a form, the lead source answers a single question: where did they actually come from. Which campaign, which ad, which referring site? For the practice of tracing leads to revenue, see our guide to lead source attribution.

Compare lead source and attribution tools
Weighing up options? These breakdowns cover what each tool costs and who it fits:
- Lead Source vs HockeyStack · HockeyStack pricing
- Dreamdata alternative · Dreamdata pricing
- Lead Source vs WhatConverts · WhatConverts pricing
- Fixing HubSpot’s lead source field
- Tracking lead source in Salesforce · Google Ads attribution
Or see what each channel really costs you: try the cost-per-lead calculator →
Why lead source data matters
Marketing teams spend money on a hundred different things: paid search, paid social, content, conferences, sponsorships, partnerships, agency retainers. Each one is supposed to drive enquiries. Without accurate lead source data, there is no honest way to say which one actually did.
The lead source is the bridge between marketing spend and sales outcomes.
It tells you which campaign drove the form fill that became the opportunity that became the customer. Without it, attribution falls back on whichever channel last touched the visitor. Usually Direct, because the most common path to a B2B form is: someone reads about you somewhere, thinks about it for a few days, then types your URL into a browser. That visit gets recorded as Direct. The original source is lost.
Accurate lead source data answers three practical questions: which campaigns are sending real enquiries (not just clicks), where the highest-value enquiries come from, and which channels deserve more budget versus less. Without it, those decisions get made on gut feel or on metrics that don’t correlate with revenue.
Common categories of lead sources

Most attribution systems use a handful of top-level categories. The names vary across tools but the meaning is consistent:
The visitor found you via an unpaid search result (Google, Bing).
The visitor clicked a paid search ad (Google Ads, Microsoft Ads, Bing Ads).
The visitor typed your URL or used a bookmark, with no referrer detected.
The visitor followed a link from another website (a blog mention, a directory, a partner page).
The visitor clicked a link in an email (newsletter, marketing campaign, transactional).
The visitor followed a link from a social network (LinkedIn, Facebook, X, Reddit, YouTube).
The visitor clicked a paid ad on a social network (LinkedIn Ads, Meta Ads).
The visitor came via a tracked partner link, usually with a unique partner code in the URL.
Podcast mentions, conferences, offline campaigns, or anything else that doesn’t fit the above.
Useful lead source data goes deeper than the category. Within "Paid search," you want to know the specific campaign (e.g. "Local Services Sydney"). Within "Social," you want to know the post or video that drove the click. The category alone isn’t enough to make a budget decision.
Where lead source data comes from
Lead source data is derived from a small set of signals the browser sends when a visitor arrives at your site:
The URL the visitor was on immediately before landing on your page. This is the most direct signal but it’s often missing: iOS strips referrers on most outbound clicks, and links marked with rel="noreferrer" hide it entirely.
Query string values (utm_source, utm_medium, utm_campaign) that the marketer adds to outbound links. UTMs are precise when present but fragile: they exist only on the landing page URL and disappear the moment the visitor clicks to a different page.
Ad-network-specific parameters like gclid (Google), fbclid (Meta), li_fat_id (LinkedIn). These let you tie back to the ad platform’s own reporting.
The first page they landed on. Even without UTM or referrer, the entry page tells you something (a landing page typically maps to a specific campaign).
The path the visitor took through your site before submitting. This gives context that a single source field can’t.
The hard part is not capturing these signals on the first page view. The hard part is keeping them attached to the visitor across the full session. Across page navigations, across tabs, sometimes across days. So that when the form is submitted three pages and two visits later, the original source is still attached.
How CRMs record lead source, and why it’s often wrong

Most CRMs have a lead source field, but they fill it in very differently, and none of them reliably capture the real marketing source of a web lead on their own.
HubSpot keeps two values: Original Source, set from a contact’s earliest tracked visit, and Latest Source, which is overwritten on every new session. Many reports default to Latest Source, so a lead who first arrived from a Google ad but later returns via a bookmark is recorded as Direct, and the first-touch source is lost. HubSpot decides the category from UTM tags and the referring domain; when neither is present, the visit falls into Direct Traffic.
Salesforce treats Lead Source as a manual picklist your admin defines. It has no automatic web detection: no cookies, no UTM parsing, no referrer analysis. With Web-to-Lead forms the field stays blank unless a developer hard-codes a hidden value, so in practice it is often empty or set to one generic value like “Web” for every online lead.
Pipedrive records how a lead entered (web form, chatbot, import, API) rather than the marketing channel. A lead from Google Ads and a lead from organic search both show up as “Web forms.” The actual source has to be captured separately and passed in.
The pattern is the same across all three: they record a category or an entry method, and when they cannot see where a visitor really came from, they fall back to Direct, Web, or blank.
Why CRM lead source fields are often wrong
In theory, the field gets populated automatically. In practice, it’s frequently wrong or empty. Three common reasons:
The referrer was stripped
A visitor clicks an ad on iPhone Safari. iOS removes the referrer header on the outbound click. By the time the visitor lands on your site, the browser has no record of where they came from. The CRM marks the lead as Direct.
UTM parameters were lost mid-journey
A visitor arrives via ?utm_source=google&utm_campaign=brand, lands on the homepage, browses to /pricing, then submits a form. The CRM’s tracking script reads the URL at the moment of submission. Which is /pricing, with no UTM parameters. Source: Direct.
The journey crossed sessions
A visitor reads about you on Tuesday via a LinkedIn post, comes back Friday by typing the URL, and submits the form. Most CRM trackers see the Friday session in isolation: typed URL, no referrer, source is Direct. The original LinkedIn touch is lost.
Captured at first touch and kept attached through the visit, so this lands as the real campaign instead of falling back to Direct.
How much actually gets mislabelled? In a 2023 controlled experiment, SparkToro drove real visits across 11 social platforms using uniquely tagged links, so the true source was always known. Analytics still recorded 100% of visits from TikTok, Slack, Discord, Mastodon and WhatsApp as “Direct” with no referral data, plus 75% of Facebook Messenger visits (SparkToro, April 2023). Your CRM inherits the same blind spot: anything it cannot see, it files under Direct or Web.
These aren’t edge cases. They are the modal experience for B2B form submissions. A useful lead source capture system has to handle all three.
Lead source vs HubSpot Original Source
HubSpot’s Original Source is its version of a lead source field, set to one of seven values (Direct Traffic, Organic Search, Paid Search, Email Marketing, Organic Social, Referrals, Other Campaigns) plus drill-downs. It is right when it can be: it captures the high-level category for many leads and provides a starting point for attribution. But it suffers from the same fundamental problem as every CRM-native field: it depends on the browser session being seen end-to-end by HubSpot’s tracking script, on referrer headers surviving, on UTM parameters being present at submission, and on the visitor not crossing devices. When those conditions fail (which is often), the source becomes Direct, Other, or empty. Tools that specialise in lead source tracking fill that gap, capturing the source independently and writing it back. See how this works specifically for HubSpot.
How to track lead source accurately

Accurate lead source tracking has three requirements:
1. Capture on first touch. Record the source at the moment the visitor first arrives on your site. Including referrer, UTM parameters, click identifiers, and entry page. Don’t wait for them to submit; by then it’s often gone.
2. Persist across the session. Store the captured source somewhere it survives page navigation (typically a first-party cookie or sessionStorage). When the visitor browses from the landing page to the pricing page to the contact form, the original source rides along.
3. Attach at submission. When the form is submitted, attach the persisted source data to the submission. Either by pushing it through hidden form fields or by sending it to a webhook in parallel with the form action.
This is the model used by dedicated lead source tracking tools. It’s a different problem from web analytics (which typically samples a visitor population) and from CRM-native source tracking (which usually inspects the URL at submit time and misses the journey).
See what each channel costs you

Once you know the real source of every lead, you can work out what each channel actually costs. Enter your spend and leads to see your cost per lead, cheapest first.
| Channel | Monthly spend | Leads | Cost per lead |
|---|
Frequently asked questions
What is a lead source in marketing?
A lead source is the marketing channel, campaign, or referrer that brought a prospect to your business. It identifies where a lead came from before they submitted a form, signed up, or otherwise expressed interest. Common categories include organic search, paid search, direct, referral, email, and social.
What's the difference between a lead source and a marketing channel?
A marketing channel is the high-level category (paid search, organic, social, email, referral). A lead source is more specific, often naming the campaign or referrer inside the channel. The channel might be "paid search"; the lead source is "Google Ads, Local Services Sydney".
Why is my CRM lead source field always wrong?
CRM lead source fields usually rely on browser cookies, referrer headers, or UTM parameters being present at the moment of form submission. Those signals are frequently missing. iOS strips referrers on most outbound clicks, UTM parameters vanish when the visitor leaves the landing page, and multi-session journeys lose the original source. The result is a lot of leads marked as "Direct" or "Web" when they actually came from a specific campaign.
How do you track lead source accurately?
Accurate lead source tracking captures the source at the moment the visitor first arrives, persists it across the full visit (including across sessions), and attaches it to the form submission at the moment of submit. This is called first-touch capture with session persistence. It does not rely on the browser referrer surviving or on UTM parameters being present on the form page.
Is lead source the same as attribution?
Lead source is one piece of attribution. Attribution is the broader practice of assigning credit for an outcome (a lead, a sale) to one or more touchpoints. Lead source typically refers to a single source value attached to a lead at a single moment (usually first touch). Multi-touch attribution models distribute credit across several touchpoints. Lead source is the simplest, most direct version of the question.
See where your leads actually come from.
Lead Source captures the source at first touch, persists it across the visitor’s session, and attaches it to the form submission. One snippet, any form tool.
Start free5-minute install · no card