Lead Source: The Field Every Later Number Is Cut By
A lead source is the field on a lead record naming where that person first came from. A lead source classification taxonomy that works has three levels: a short controlled category, a source at one consistent grain, and the specific campaign underneath. Set it once at creation, never overwrite it, and derive channel from it.
Key takeaways
- A lead source holds one value per record, is set when the record is created, and is the dimension almost every front of funnel report is cut by.
- Source, channel and attribution are three different objects: source is a stable field, channel is derived from it, and attribution is a rule applied across many touches.
- A workable taxonomy has three levels, category, source and campaign or asset, and only the third level is generated and allowed to grow.
- Outbound needs a first-class value of its own, because a record created by an upload never had a web session and would otherwise file under direct traffic.
A lead source is the field on a lead or contact record that names where that person first came from: a search, a campaign, a referral, a cold email, an event. It holds one value per record, it is set at the moment the record is created, and it is the dimension almost every later report about the front of the funnel is cut by. The list of values that field allows is your lead source classification taxonomy, whether or not anybody designed it.
The field looks trivial, which is why it is usually designed in the first week of a CRM rollout by whoever was closest to the keyboard and then never revisited. Every subsequent argument about which route is producing pipeline is settled by the values in that list, and a taxonomy nobody designed cannot settle anything.
Source, channel and attribution are three different objects
The three words are used interchangeably in most of what is published about them, and the systems underneath treat them as separate things. Keeping them separate is the work.
| Object | What it is | The question it answers |
|---|---|---|
| Lead source | One value per record, set at creation, stable for the life of the record | Where did this lead come from? |
| Channel | A grouping of several sources by medium, derived from the source and never typed | Which routes are worth funding? |
| Attribution | A rule applied across many touches. It is not a field, and it changes when the model changes | What produced the revenue? |
The practical consequence of the middle column is that channel should be derived, not typed. A list that offers both a channel and a source as free choices will collect records tagged at both grains, and no query can tell which is which afterwards.
The practical consequence of the third is that a source field is not an attribution model and cannot be made into one. It records the first identifiable origin. Splitting credit across the interactions that followed is a separate exercise with its own rules, worked through in multi-touch attribution, and the boundary question of which later touches count at all is the subject of marketing influenced pipeline.
What a CRM actually stores in the field
Two product references show the same object designed two different ways, and the difference is worth seeing before you write your own list.
HubSpot documents the web-side version of it. As published by knowledge.hubspot.com on 4 August 2026, "Traffic source properties track how contacts first and most recently interact with your business", and the Original Traffic Source property "displays the first known web source through which a contact interacted with your business". The value resolves to one of ten fixed categories, including organic search, paid search, email marketing, organic social, paid social, referrals and direct traffic, and it cannot be extended. Underneath it sit two drill-down properties carrying progressively narrower context, and HubSpot describes the second of them this way: "This value is typically the exact name or ID of the specific piece of content from which the contact originated, such as a website URL or the name of a marketing email."
That is a three-level design: a fixed category, then the platform or campaign, then the specific asset. It is worth copying whatever system you run, because it lets one report roll up and another drill down without anybody retagging records.
Oracle documents the list-side version. Its NetSuite reference page, dated 17 August 2026, describes the field as follows: "LeadSource defines a list of values that are used by the customer record to set the source of the lead for this customer". Where that account has the marketing automation feature switched on, "the list of possible lead sources matches the titles of your marketing campaigns", and where it does not, an administrator maintains the list by hand.
The pair frames the only real design decision. A source list is either a short controlled vocabulary that a human maintains, or it is generated from the campaign objects the team is already creating. The first stays readable and goes stale. The second stays current and grows without limit, which is fine at the drill-down level and unusable as the top-level category.
One further distinction on the HubSpot page matters more to an outbound team than anything else on it. Traffic source describes a web session, so HubSpot keeps a separate record source property for how a record was created at all, one that in its own words "tells you how records were created in your HubSpot account" and that "includes creation methods beyond traffic interactions, such as import, the HubSpot mobile app, or integrations". A lead that arrived because somebody uploaded a list never had a web session, and a CRM that only offers the traffic field will file that lead under direct traffic or under nothing.
A lead source classification taxonomy in three levels
A workable lead source classification taxonomy has three levels: a short controlled category, a source at one consistent grain, and the specific campaign or asset underneath. Only the first two are picked from a list, and only the third is allowed to grow. Every record gets exactly one value at each level, set when the record is created and never overwritten.
The values below are a recommended starting list, built from the principles on this page. Yours will differ in names and should not differ in shape.
- Inbound web. Sources: organic search, paid search, organic social, paid social, referral, direct. Third level: the page URL or the name of the email.
- Outbound. Sources: cold email, cold call. Third level: the campaign the message was sent in.
- Relationship. Sources: personal referral, partner, event. Third level: the named partner or event.
- Created without a session. Sources: import, integration. These records never visited anything, so they need a home that is not direct traffic.
- Other. One value, reviewed on a schedule and drained into real ones.
Three assignment rules make the classification hold up when records are ambiguous. The first identifiable origin wins, so a contact who was uploaded for a cold email campaign and later clicked a newsletter stays outbound. A record created by an upload is classified by how it was created, because it never had a web session. And what the buyer tells you on a form is stored in a separate field, since people name the last thing they remember.
Why the taxonomy decides every later number

Four failures account for most unusable source data, and none of them is a data-entry problem.
Mixed grain. A list offering LinkedIn, Webinar, Outbound and one named partner campaign as sibling options is asking people to choose between a platform, a format, a motion and a specific activity. Records get tagged at whichever grain the person was thinking at, and the resulting report cannot be aggregated in either direction.
The unbounded other bucket. Every list has one and it grows until it is the largest single value, at which point the field has stopped carrying information. The fix is a scheduled review of what landed in it rather than a rule against using it.
Overwriting on a later touch. If the field updates when a known contact clicks a newer campaign, it stops being an origin record and becomes a most-recent-touch record. Both are useful and they are different fields. A system that quietly merges them destroys the first without announcing it.
Free text. A source field a person can type into produces a long tail of spellings that no grouping will ever reconcile, and the tail is invisible in a chart that shows the top ten values.
How it is used in outbound

An outbound programme puts unusual pressure on this field, because the standard designs assume the lead arrived rather than that you created it.
Three things follow.
The record was created by an upload, not by a session. Nothing about a cold-email or cold-call lead resembles a traffic source, so a taxonomy built only from web categories has no honest home for it. The value has to be a first-class option in its own right, sitting alongside the inbound categories rather than under a catch-all.
Outbound as a single value is too coarse to act on. A programme running several audiences on several premises produces one row in the report and no information. The category can stay as outbound while the second field carries the campaign, which is exactly the drill-down structure the vendor documentation above describes. What that campaign was built against belongs on the row too, and the case for carrying it is made in lead list.
The reason the account was targeted is a different field from the source. Source says the message reached them. The trigger says why they were selected. Collapsing the two loses the only evidence that would let anyone review the targeting later.
Our own operating policy makes the front of this unusually clean. We send one message per campaign, with no bumps and no thread replies. For a source taxonomy that has one useful consequence: a reply belongs to exactly one campaign, so the origin value needs no tie-breaking rule and the first-touch question at the top of the funnel does not arise.
Where cold calling carries part of the programme, the same field is what separates its contribution from everything else, and the arithmetic behind that route is set out in cold calling as a lead source.
Where the definition misleads
Source is not a quality signal. Two records with the same value can be a decision maker at a target account and a student, and the field says nothing about either. Fit and readiness are judged separately, which is the subject of lead qualification.
A source report is not a channel plan. Volume by source is a description of what already happened, and the routes differ mainly in how long they take to answer and how much of the audience you choose. That is the sorting that actually decides funding, and it is worked through in lead generation channels.
Asking the buyer is a different field. A self-reported answer on a form, naming where the person thinks they first came across you, frequently names the last thing they remember rather than the first thing that reached them. It is worth collecting and it is not the same value.
Source data degrades quietly. Nothing in a CRM flags a value that has become meaningless, and the operational numbers built on it, which are the ones covered in RevOps metrics, keep rendering. The process that carries a lead onward from that first field, through qualification, routing and nurturing, is lead management.
The short version

A lead source is the field naming where a lead first came from. Keep it at one grain, make it a controlled list, derive the channel from it rather than entering both, carry the specific campaign in a second field, and never let a later interaction overwrite the origin.
For an outbound programme the field needs a first-class value of its own, because the record was created by an upload and never had a web session, and it needs the campaign underneath it or the whole motion reports as one row. The neighbouring definitions are lead routing, which is often driven off the value, lead qualification, which is the judgement made after the value is set, and multi-touch attribution, which is what the field is not.
RevenueFlow supplies one of those sources directly: attended meetings against criteria agreed in writing before launch, one message per campaign. See what a first campaign produces.
Frequently asked questions.
Frequently asked questions- What is a lead source?
- A lead source is the field on a lead or contact record that names where that person first came from, such as a search, a campaign, a referral, a cold email or an event. It holds one value per record, is set when the record is created, and should never be overwritten by a later interaction, because its job is to record the origin.
- How should I structure a lead source classification taxonomy?
- Use three levels. A short controlled category such as inbound web, outbound, relationship, or created without a session. Beneath it a source at one consistent grain, such as organic search, cold email or partner. Beneath that the specific campaign or asset, which is generated and allowed to grow. One value per level per record, set at creation.
- What is the difference between lead source and channel?
- A lead source names the specific origin of one record and is entered once. A channel is a grouping of several sources by medium, such as email, search, social, events or outbound, and it should be derived from the source. Offering both as free choices collects records tagged at two grains, which no query can separate afterwards.
- How do you record lead source for cold outreach?
- Give outbound a first-class value of its own, with cold email and cold call as sources, and carry the campaign in a second field so the motion does not report as one row. Keep the reason the account was targeted in a third field. A record created by a list upload never had a web session to classify.