Source Attribution in HubSpot: A Practical Guide
HubSpot's Original Source property only shows the first click a contact made. This guide walks through the property model, the eight attribution models HubSpot actually offers, and the five-step build that gets self-reported, multi-touch, and offline data into the same report marketing and sales both trust.
1. What source attribution in HubSpot actually is—and what Original Source misses
Direct answer: Source attribution assigns every contact and deal its real lead source. HubSpot's default Original Source property only captures the first known touchpoint—it doesn't show later interactions, offline contacts, or the source a lead reports about themselves.
Original Source and its two drill-down levels are set automatically and can't be edited by hand: they record which channel a contact first came through, plus detail like the search term or campaign used. That's enough for a first read. It's not enough to defend a budget decision in front of finance. This is exactly where every HubSpot setup we build eventually lands—attribution is rarely the first thing teams tackle, but it's almost always the piece that shows whether the underlying data model actually holds up.
The gap shows up clearly in a picture that keeps recurring in attribution projects: the attribution iceberg. Above the waterline sits Original Source and its drill-down. Below it sit the layers HubSpot doesn't populate on its own—self-reported attribution, multi-touch data, offline and partner attribution. That's exactly where trust in the reporting usually breaks in B2B teams.
Above the line live two properties: Original Source and its drill-down. Below it live at least five more data points that HubSpot technically supports but never fills in on its own: self-reported attribution (the source a lead names for themselves), multi-touch data across the full funnel, offline and partner attribution, lead engagement data such as content consumption and whitepaper downloads, and UTM parameters kept alive by a cookie across page changes.
Source attribution doesn't replace a lead scoring model or qualification. It only answers where a contact came from—not whether they're ready to buy or fit the ICP. Teams that blend the two end up with reporting neither marketing nor sales trusts as a basis for decisions.
Ignore that distinction and it's easy to conflate two different questions: "where did the first click come from" and "which channel actually brought the revenue." HubSpot answers both differently. Only one of them sits in the CRM without extra work.
2. Which attribution models does HubSpot offer, and when does each one fit?
Direct answer: HubSpot offers eight attribution models, from First Interaction through Linear and U-Shaped to Full Path. Contact attribution is available from Marketing Hub Professional; deal and revenue attribution run exclusively on Marketing Hub Enterprise.
Most teams simplify this to three families—first-touch, last-touch, multi-touch. That's a fine mental model to start with. It's not enough to configure a report: HubSpot splits multi-touch itself into five distinct distribution logics, and each one answers a different question.
| Model | How credit is distributed | When it fits |
|---|---|---|
| First Interaction | 100% to the first touchpoint | Judging awareness and top-of-funnel campaigns |
| Last Interaction | 100% to the last touchpoint before conversion | The classic "what converted this" question |
| Linear | Equal credit across every touchpoint | Long buying committees with many people involved |
| U-Shaped | 40% first interaction, 40% lead conversion, rest spread | When both lead creation and first touch should count |
| W-Shaped | 30% first interaction, 30% lead creation, 30% deal creation | Long cycles with a clear MQL-to-SQL-to-deal chain |
| Time Decay | Heavier weight on more recent touchpoints (7-day half-life) | Short decision windows |
| Full Path | 22.5% each to first interaction, lead creation, deal creation, last touch | Full-journey credit, revenue reports only |
| J-Shaped / Inverse J-Shaped | Weighted toward conversion or toward the first interaction | When one end of the journey should count more on purpose |
That's how the HubSpot Knowledge Base defines its own attribution models. For picking a report type, the tier split matters more: contact-create reports run from Professional, deal-create and revenue attribution exclusively on Enterprise—confirmed in HubSpot's own documentation on creating attribution reports.
For most B2B SaaS teams the pragmatic starting point isn't one model—it's two, run side by side: Last Interaction for the fast operational question of what just converted, and W-Shaped or Linear for the longer budget conversation. HubSpot lets you show several models in the same report at once, precisely because a single model rarely tells the whole story.
3. Which attribution properties live on the contact, and which on the deal?
Direct answer: Contact-level properties hold the values HubSpot sets automatically—Original Source and its two drill-down stages. Deal-level properties hold the values a team adds deliberately: Record Source, Self-Reported Source Cluster, Sales-Reported Source, and the Initial/Latest Source fields that track the full path.
That split isn't a technicality. A contact brings its source with it the moment it first shows up in the system—pure history, and it never changes again. A deal, on the other hand, often appears weeks or months later, carrying its own, sometimes contradictory, signal: the contact originally came in through organic search, but the actual deal started from a demo form after a partner referral. Capturing both truths at once needs separate property layers.
| Level | Property | What it shows |
|---|---|---|
| Contact | Original Source | First known channel, set automatically |
| Contact | Original Source Drill-Down 1 & 2 | Detail such as search term, campaign, or referrer domain |
| Deal | Record Source / Record Source Detail 1 | How this specific deal came about, independent of the contact's history |
| Deal | Self-Reported Source Cluster | The source a lead names themselves—gets priority over automatic values |
| Deal | Sales-Reported Source | Source sales adds during deal creation, for offline and referrals |
| Deal | Initial / Latest Source Level 1 & 2 | First and last known touchpoint across the whole path |
The order in which these values are allowed to overwrite each other matters more than the number of properties itself. Without an explicit priority—Self-Reported Source Cluster typically ranking above every automatically captured value—whichever property happened to be written first wins, not the one that's actually the most reliable.
4. What to settle before you touch a single property
Direct answer: Four things need to exist before the first property change: a documented UTM convention, a form inventory sorted by embed type, a full list of every attribution-relevant property on contact and deal level, and a clear owner split between marketing and sales.
The order isn't arbitrary. Teams that build new properties first and only discuss UTM conventions afterward end up with fields nobody fills in consistently. Teams that settle ownership first skip the argument over why two teams are writing different values into the same field.
- UTM convention on paper: fixed values for
utm_source,utm_medium,utm_campaign—not reinvented per campaign, but kept in one shared table any new hire can check without asking around. - Form inventory by embed type: HTML-embedded forms listed separately from iframe-embedded ones, because only the former reliably let a cookie value get written into a hidden field. Landing page forms, popup forms, and forms embedded via a third-party tool belong in three separate columns of that same list.
- A property list per object: which contact and deal properties already touch attribution before any new custom property gets added. Skip this and near-duplicate properties with almost identical names show up within weeks, and nobody can tell them apart anymore.
- An owner for marketing vs. sales: who maintains self-reported and sales-reported values, and what happens when the two disagree. One property owner per field stops two teams from writing different, well-intentioned values into the same box.
- Check what's already there from an existing scoring setup, such as an ABM scoring build—attribution runs on the same records, not a separate universe of properties.
Skip any one of these four and every following step turns into rework. Property governance across multiple teams or regions is its own chapter on top of that—more on that in the section on group-wide CRM. One symptom shows up reliably there: two regional teams name the same channel differently, and the report ends up with three separate "LinkedIn" rows instead of one.
5. How to build source attribution in HubSpot, step by step
Direct answer: The build runs in five steps: UTM and cookie setup, extended properties on the contact and deal level, separating demand capture from demand creation, enabling offline and partner attribution, and finally a reporting structure that ties it all together.
- UTM and cookie setup. A script stores UTM parameters or the referrer as a first-party cookie—or, as an alternative, in local or session storage. A second script writes that stored value into hidden fields on embedded HubSpot forms. This works reliably on HTML-embedded forms. On iframe-embedded ones, the cookie often can't be injected at all—that's not a misconfiguration, it's a hard limit of that embed type.
- Extend properties on the contact and deal level. Original Source and its drill-down aren't enough on the contact record. In practice, teams add properties for Record Source, Self-Reported Source, and—with an explicitly defined priority ahead of every automatically captured value—a Self-Reported Source Cluster. Based on SalesPlaybook's own project experience across 50+ implementation and optimization projects in HubSpot, Salesforce, and Pipedrive (per internal team deck, May 2026), this exact step is the most common break point: teams create the new properties but forget to actually give them priority over the automatic Original Source inside the workflow logic. On the surface, the setup looks like it's working—new fields are populated, the dashboard shows values, nobody complains. Weeks later, a contact with conflicting source data shows up and the gap appears: the older, automatic property wins over the deliberately maintained one, because the workflow never enforced the priority. In most of these projects it wasn't an engineer who caught it, but a sales rep who noticed the source shown in the CRM looked obviously wrong—a signal worth taking seriously instead of writing off as one weird contact.
- Separate demand capture from demand creation. Demand creation answers "how did this lead hear about us at all" (a LinkedIn post, a podcast, a referral). Demand capture answers "which channel did they actually come in through" (Google Ads, a website form). HubSpot doesn't separate the two on its own—without dedicated property logic, both questions blur into one fuzzy answer, and marketing loses the ability to show whether a campaign created new demand or just captured demand that already existed.
- Enable offline and partner attribution. Trade shows, networks, and sales referrals never run through UTM parameters. A Sales-Reported Source field, made mandatory during deal creation, pulls those sources into the reporting—otherwise they stay "Direct Traffic" or unknown, forever. In practice, a short, fixed list of source categories baked into the deal process is enough: Cold Outbound, Customer Success, Events, Google, LinkedIn, Organic, Network/Referral, Partner, Press. Fewer categories than you'd expect usually cover it—too many options just mean sales picks the closest-sounding one instead of the correct one.
- Build the reporting structure. Only once the properties are in place does building reports pay off: a contact-level lead source report, a channel distribution view, and a touchpoint report that shows first and last touch side by side instead of just one of them. Reverse that order and build reports first, and they'll sit on properties that get moved again two weeks later anyway.
6. Where source attribution setups actually break
Direct answer: The three most common failure classes are iframe-embedded forms that never pick up the UTM cookie, inconsistent UTM conventions between campaigns, and relying on Original Source alone without adding self-reported or offline data.
| Failure class | Symptom | Cause |
|---|---|---|
| Iframe-embedded forms | UTM values never show up on the contact record | The cookie can't technically be injected into the iframe |
| UTM chaos | The same campaign shows up under three different source names | No documented, enforced UTM convention |
| Original Source only | Offline, partner, and self-reported leads all show as "unknown" | No additional properties set up for non-digital sources |
| Missing priority | A self-reported value gets overwritten by the automatic Original Source | Workflow order gives the automatic property priority by default |
Notice that three of the four failure classes aren't a software problem. They're a question of sequence—which property gets set first, which workflow runs first, which convention gets documented first. That's the good news too: none of these need a new tool, just a different order of execution.
7. What if a new property structure breaks existing reports?
Direct answer: New attribution properties run alongside the existing ones for at least one full reporting cycle before any report gets switched over. Original Source stays the unchanged fallback source throughout—never replaced, only supplemented.
A property change that overwrites live dashboards is the most expensive mistake in this whole process—not because of the engineering, but because sales and finance end up staring at two different numbers for a quarter with no way to tell which one is right. So: validate new properties in a separate test report first, then move them into production reports. Across multiple business units or countries in the same instance, the same caution applies to property governance itself—see the section on group-wide CRM.
A realistic window for that parallel run: four to six weeks, or one full monthly reporting cycle plus buffer. Shorter rarely works, because the real edge cases only surface once enough new contacts and deals have gone through the complete process—not just the first handful of test records.
8. How do you check the new assignment is actually correct?
Direct answer: A sample of 20 to 30 contacts with a known, manually verified source gets checked against the new properties. Match rates well below 90% almost always point to a workflow priority problem, not a flaw in the property definitions themselves.
- Pull a sample: contacts whose real source the team already knows, usually from direct sales conversations.
- Check the new properties against that sample—not against the old Original Source, which was the problem in the first place.
- Track down mismatches one by one: usually a workflow running in the wrong order, less often an actual tracking failure.
- Re-check after two to three weeks, once enough new contacts have moved through the full process.
This kind of sample doesn't replace automated monitoring, but it catches exactly the failure no dashboard shows on its own: a property that's technically populated correctly but holds the wrong priority. Without the manual check, a setup like that can look fine for months—until someone bases a budget decision on it.
9. How do you read the reporting without confusing the biggest channel with the best one?
Direct answer: The channel with the largest contact volume isn't automatically the best channel—only a look at lead quality, touchpoint combination, and actual deal share shows where budget is really working.
Three reading mistakes repeat in almost every attribution report:
- The empty lead source report. A large share of contacts show no assigned source at all—which blocks any budget decision meant to rest on that report. The cause is almost always a hybrid model that wasn't implemented consistently enough.
- Channel distribution as a pie chart. The biggest slice isn't the most valuable channel. Only combining it with a clearly defined "lead source cluster" shows which channel actually drives deals, not just contacts.
- A touchpoint report with a single column. First touch (a social click, say) and last touch (a sales meeting) both contribute to revenue. A report that shows only one side systematically undercounts the other.
Know these three mistakes and every future attribution dashboard reads differently—not as confirmation of the current budget split, but as the basis for correcting it. That's also the real link between attribution reporting and pipeline generation: without reliable source data, no channel decision holds up to more scrutiny than a gut call.
For ongoing operations, five points stay relevant no matter how far along the build is:
- UTM conventions stay written down, not stored in one person's head.
- Software tracking and self-reported attribution run combined, never as a substitute for each other.
- Transparency between marketing and sales means property access, not a monthly slide deck.
- The whole buyer journey counts, not just the first or last click.
- Attribution actually steers budget—a report that changes nobody's decision wasn't worth building.
Where a team actually stands on that list is answerable honestly within a single reporting cycle. The next one is rarely more than four weeks away.
Frequently asked questions
What's the difference between Original Source and source attribution in HubSpot?
Is Original Source enough for B2B attribution on its own?
Which attribution model should I choose in HubSpot?
Do I need Marketing Hub Enterprise for source attribution?
How do I pass UTM parameters into embedded HubSpot forms?
How do I combine self-reported attribution with software tracking?
A free 60-minute Launchpad clarifies which lever should move first. No pitch, honest fit / no-fit answer and a clear next step.