Resources
Guide HubSpot CRM 14 min read

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.

Visible in HubSpot — set automatically
Original Source
First known channel for the contact
Original Source Drill-Down 1 & 2
Search term, campaign, referrer domain
Invisible — has to be built deliberately
Self-Reported Attribution
The source a lead names for themselves
Multi-Touch Data
Touchpoints across the full funnel
Offline & Partner Attribution
Trade shows, networks, sales referrals
Lead Engagement Data
Content consumption, whitepaper downloads
UTM Parameters via Cookie
Survives across multiple page changes

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.

HubSpot attribution models compared
ModelHow credit is distributedWhen it fits
First Interaction100% to the first touchpointJudging awareness and top-of-funnel campaigns
Last Interaction100% to the last touchpoint before conversionThe classic "what converted this" question
LinearEqual credit across every touchpointLong buying committees with many people involved
U-Shaped40% first interaction, 40% lead conversion, rest spreadWhen both lead creation and first touch should count
W-Shaped30% first interaction, 30% lead creation, 30% deal creationLong cycles with a clear MQL-to-SQL-to-deal chain
Time DecayHeavier weight on more recent touchpoints (7-day half-life)Short decision windows
Full Path22.5% each to first interaction, lead creation, deal creation, last touchFull-journey credit, revenue reports only
J-Shaped / Inverse J-ShapedWeighted toward conversion or toward the first interactionWhen 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.

Attribution properties by object level
LevelPropertyWhat it shows
ContactOriginal SourceFirst known channel, set automatically
ContactOriginal Source Drill-Down 1 & 2Detail such as search term, campaign, or referrer domain
DealRecord Source / Record Source Detail 1How this specific deal came about, independent of the contact's history
DealSelf-Reported Source ClusterThe source a lead names themselves—gets priority over automatic values
DealSales-Reported SourceSource sales adds during deal creation, for offline and referrals
DealInitial / Latest Source Level 1 & 2First 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 classes in source attribution and their causes
Failure classSymptomCause
Iframe-embedded formsUTM values never show up on the contact recordThe cookie can't technically be injected into the iframe
UTM chaosThe same campaign shows up under three different source namesNo documented, enforced UTM convention
Original Source onlyOffline, partner, and self-reported leads all show as "unknown"No additional properties set up for non-digital sources
Missing priorityA self-reported value gets overwritten by the automatic Original SourceWorkflow 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.

  1. Pull a sample: contacts whose real source the team already knows, usually from direct sales conversations.
  2. Check the new properties against that sample—not against the old Original Source, which was the problem in the first place.
  3. Track down mismatches one by one: usually a workflow running in the wrong order, less often an actual tracking failure.
  4. 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.

Authors Eric Mattner

Frequently asked questions

What's the difference between Original Source and source attribution in HubSpot?
Original Source is a single, automatically set property that only records a contact's first known touchpoint. Source attribution is the broader process that combines that property with self-reported, multi-touch, and offline data, so marketing and sales end up looking at the same, defensible source assignment for contacts and deals.
Is Original Source enough for B2B attribution on its own?
For a first read, yes. For a budget decision, no. Original Source only shows the first click, not the later touchpoints of a buying committee, offline or partner sources, or the source a lead names for themselves. B2B cycles with several stakeholders need at least one additional, manually maintained layer.
Which attribution model should I choose in HubSpot?
There's no single correct model. Last Interaction answers operational questions about the final touchpoint; W-Shaped or Linear represent long buying committees more fairly. HubSpot lets you display several models in the same report side by side, which is usually more useful than committing to just one.
Do I need Marketing Hub Enterprise for source attribution?
Not necessarily. Contact-create attribution already runs on Marketing Hub Professional and covers most questions about lead source. Deal-create and revenue attribution—linking source to actual closed revenue—are, per HubSpot's own documentation, exclusive to Marketing Hub Enterprise and can't be added on top of Professional.
How do I pass UTM parameters into embedded HubSpot forms?
One script stores UTM parameters or the referrer as a first-party cookie, a second writes that value into hidden form fields when the form loads. This works reliably on HTML-embedded forms. On iframe-embedded forms, the cookie often can't be injected at all—that needs a different embed method or a server-side approach.
How do I combine self-reported attribution with software tracking?
Through an explicit priority: the Self-Reported Source Cluster—the source a lead names themselves, usually from a form field—should outrank automatically captured values like Original Source. Without that explicit priority, the older, automatic value typically overwrites the deliberately captured one in practice.
Diagnose the revenue problem?

A free 60-minute Launchpad clarifies which lever should move first. No pitch, honest fit / no-fit answer and a clear next step.

Book Launchpad

Could your company be the next operating system story?

Use a free 60-minute Launchpad to clarify the revenue constraint, fit or no fit and the right next step. No pitch.

Book Launchpad