HubSpot Attribution Reporting: How Each Model Assigns Credit and What the Report Excludes
HubSpot attribution reporting explained: how each model assigns credit, which closed-won deals the report silently excludes, and how to check coverage first.
Paul Maxwell
AUTHOR
GET WEEKLY REVOPS INSIGHTS
No spam. Unsubscribe anytime.
Two things go wrong with attribution reporting, and only one of them gets discussed. The first is the argument nobody wins: marketing reports that paid search produced the quarter, sales reports that it produced nothing, and both are reading real numbers from the same portal under different models. The second failure is worse because it is silent: a portal closes four million in a quarter, the revenue attribution report accounts for one and a half million of it, and nobody notices the missing two and a half million because the report does not mention that it dropped anything. Decisions get made on the visible slice as though it were the business.
This article explains how HubSpot attribution reporting assigns credit and which revenue it leaves out. It starts with the tier gates, because they decide what a portal can honestly measure before any configuration question arises. It then draws where credit lands on a single conversion path under four different models, sets all nine models against the work each one systematically undervalues, and turns to coverage — the exclusion rules that decide whether a deal appears in the report at all, and the arithmetic that measures the gap. From there it covers building a report in order, what the whole exercise is worth to a business, and the symptoms that indicate something is wrong.
An interaction is a tracked touchpoint in a contact's history — a page view, form submission, email engagement, meeting or logged activity — as catalogued in HubSpot's attribution documentation. A conversion path is the ordered set of interactions leading to the outcome being attributed. An attribution model is the rule that distributes credit for that outcome across the path. Every number an attribution report produces is a function of those three things, and a report that names none of them is not yet a fact.
Tier Gates and the Professional Ceiling
Three report types exist, attributing three different outcomes: contact create, deal create, and revenue. They are gated separately, and the gates decide what a portal can claim rather than merely what it can build. Contact create attribution runs on Marketing Hub Professional and Enterprise. Deal create attribution and revenue attribution require Marketing Hub Enterprise.
A Professional portal can therefore attribute lead generation and nothing further. The usual workaround is to read contact attribution as a stand-in for revenue attribution — treating the channels that produce contacts as the channels that produce money. That substitution assumes the contacts who convert resemble the contacts who arrive, which is exactly the assumption the two reports exist to test, and it fails hardest wherever a cheap channel produces volume that never closes. If the question is genuinely about revenue, the answer on Professional is a tier upgrade or an honest caption, not a cleverer report.
Credit Distribution on a Single Path
The models are precise, and seeing one path scored several ways makes the choice concrete in a way the percentages alone do not.
Nothing about the path changed between those rows. The interactions, their order and their content are identical; only the scoring rule moved. That is the honest description of what a model choice is — an editorial position about which part of a buying process deserves the credit, applied consistently — and it is why an attribution number quoted without its model attached carries no information.
Attribution Reports on Sample Data
The section above states the distributions. This one applies them to a single deal, so the figures can be checked rather than taken on trust. The deal closed at $60,000 and its contact recorded seven interactions between first touch and close.
| Interaction | Channel | Milestone |
|---|---|---|
| InteractionBlog post, arrived via search | ChannelOrganic search | MilestoneFirst interaction |
| InteractionNewsletter click | ChannelEmail | Milestone— |
| InteractionWebinar registration form | ChannelWebinar | MilestoneLead creation |
| InteractionPricing page view | ChannelDirect traffic | Milestone— |
| InteractionDemo request form | ChannelPaid search | MilestoneDeal creation |
| InteractionReply to a sales email | ChannelSales email | Milestone— |
| InteractionProposal meeting | ChannelMeeting | MilestoneLast interaction |
Applying each model's distribution to that path gives the following, and the two columns are chosen to show the widest swing: the channel that opened the relationship, and the interaction that closed it.
| Model | Credited to organic search | Credited to the proposal meeting |
|---|---|---|
| ModelFirst interaction | Credited to organic search$60,000 | Credited to the proposal meeting$0 |
| ModelLast interaction | Credited to organic search$0 | Credited to the proposal meeting$60,000 |
| ModelLinear | Credited to organic search$8,571 | Credited to the proposal meeting$8,571 |
| ModelW-shaped | Credited to organic search$18,000 | Credited to the proposal meeting$1,500 |
| ModelFull path | Credited to organic search$13,500 | Credited to the proposal meeting$13,500 |
Organic search is credited with the entire deal under one model and nothing under another. No fact about the buying process differs between those rows. This is why a channel's performance cannot be discussed without naming the model that produced it, and why a team that reports one model only — particularly one it selected — is publishing its own appraisal.
Aggregated across a quarter, the report a stakeholder actually sees looks like the table below. This portal closed $640,000 in the period and the attribution report accounts for $480,000 of it, which is the coverage figure the next section explains how to calculate.
| Channel | Revenue credited | Share of attributed revenue |
|---|---|---|
| ChannelOrganic search | Revenue credited$129,600 | Share of attributed revenue27.0% |
| ChannelPaid search | Revenue credited$96,000 | Share of attributed revenue20.0% |
| ChannelEmail | Revenue credited$72,000 | Share of attributed revenue15.0% |
| ChannelWebinar | Revenue credited$60,000 | Share of attributed revenue12.5% |
| ChannelDirect traffic | Revenue credited$48,000 | Share of attributed revenue10.0% |
| ChannelReferral | Revenue credited$38,400 | Share of attributed revenue8.0% |
| ChannelSocial | Revenue credited$21,600 | Share of attributed revenue4.5% |
| ChannelOffline sources | Revenue credited$14,400 | Share of attributed revenue3.0% |
Two properties of that table are worth stating explicitly, because both are routinely misread. The share column is a share of attributed revenue, not of revenue — the denominator is $480,000, not $640,000. And every figure in it is conditional on the W-shaped rule; rerunning the same period under first interaction would move organic search up and paid search down without a single record changing.
The Nine Models and Their Blind Spots
Each distribution privileges a stage, which means each one systematically undervalues a kind of work. The pattern worth watching is whether a proposed model flatters the work of whoever proposed it, which is an argument to have before the report is built rather than after it is presented.
| Model | Credit distribution | Systematically undervalues |
|---|---|---|
| ModelFirst interaction | Credit distribution100% to the first touch | Systematically undervaluesEverything after the click that started it |
| ModelLast interaction | Credit distribution100% to the final touch | Systematically undervaluesHow the buyer arrived at all |
| ModelLinear | Credit distributionSplit evenly across every interaction | Systematically undervaluesNothing — and so distinguishes nothing |
| ModelU-shaped | Credit distribution40% first, 40% lead conversion, 20% spread across the rest | Systematically undervaluesThe nurture between the two milestones |
| ModelW-shaped | Credit distribution30% first, 30% contact creation, 30% deal creation, 10% spread | Systematically undervaluesThe same middle, split three ways |
| ModelFull path | Credit distribution22.5% each to first, lead creation, deal creation and last, 10% spread | Systematically undervaluesSustained mid-funnel work, at four milestones' expense |
| ModelTime decay | Credit distributionWeighted to recent touches on a 7-day half-life | Systematically undervaluesAnything decisive that happened months earlier |
| ModelJ-shaped | Credit distribution20% first, 60% conversion, 20% spread | Systematically undervaluesDemand creation |
| ModelInverse J-shaped | Credit distribution60% first, 20% conversion, 20% spread | Systematically undervaluesClosing work |
Linear deserves a note because it reads as the neutral choice and is not one. Paying every touchpoint equally flattens a twelve-touch path into uniformity and credits a passing pageview at the rate of the demo request, so it does not resolve the disagreement about what mattered — it declares the question inadmissible. Time decay carries the opposite risk in long-cycle businesses: on a seven-day half-life, an interaction from four months ago is arithmetically close to invisible, however clearly the buyer remembers it.
The honest use of this menu is comparative, because running one question under first interaction and last interaction brackets the range of defensible answers, and a channel that earns credit at both ends is genuinely load-bearing rather than well-positioned. A team publishing one model only — particularly one it selected itself — is publishing its own performance review.
Coverage: The Revenue a Report Cannot See
Model choice moves credit between channels, while the exclusion rules decide whether a deal appears in the report at all, and they are the part almost nobody reads before trusting the output.
Revenue attribution excludes deals with no known value in the amount, create date or close date properties; deals not in a closed-won stage; and deals with no associated contacts, since a deal without contacts has no interaction history to attribute. Sales activities count only when associated to both a contact record and a deal record. One-to-one emails that were sent but never replied to are not counted as interactions. Very large paths are sampled, with processing documented up to 100,000 associations or activities per deal.
Each rule is individually reasonable and their sum has a sharp consequence. A portal whose deals arrive by import — a migration, an integration writeback, an offline or channel sales motion — can show healthy closed-won revenue while its attribution report describes a fraction of it, because imported deals commonly land without contact associations and without tracked interaction history behind them. No warning appears. The revenue is simply absent from the report, and the channels that produced it are absent with it.
The Coverage Preflight
The check is arithmetic rather than analytics, and it takes about ten minutes.
- Build a standard deal report filtered to closed-won deals with a close date in your period, and sum the amount property. This is the real number.
- Build the revenue attribution report for the same period and sum the attributed revenue. This is the visible number.
- Divide the second by the first. That percentage is the report's coverage, and it belongs in the report's description field where every reader will see it.
- Where the gap is large, filter the deal report to closed-won deals with no associated contact to find most of the missing revenue in one view.
- Re-run the division after any remediation, and confirm coverage moved. A repair nobody measured is a repair nobody made.
A gap of a few percent is rounding, and a gap of a third means the report is answering a question about the portion of the business that happens online, and every dashboard showing it should say so.
Building the Report
- Write the question first, in the form "which [asset type or channel] contributed to [outcome] in [period]". Every builder choice descends from it, and a question that cannot be written this way is not yet a reporting requirement.
- Confirm the tier gate for the outcome named in that question. Revenue questions require Marketing Hub Enterprise and no configuration works around it.
- Run the coverage preflight above and record the result before building anything on top of it.
- Build in the attribution report builder, choosing the report type, the dimension — asset type, interaction source, campaign — and a model whose bias you can state in one sentence.
- Name the report type, the model and the coverage percentage on the report itself, not in the meeting where it is first presented.
- Verify against a known deal: take one recent closed-won deal whose story the team can recount, filter the report to it, and compare the path shown against what people remember. Touches missing at this scale are missing at every scale, and this is the step that catches an association problem before it becomes a quarterly narrative.
Costs and Returns of an Attribution Programme
What it buys is the ability to defund something. Marketing budgets accumulate channels that were justified once and have never been re-examined, and the argument for cutting one is unwinnable without a shared account of what it contributes. A report that survives being read under two models, with its coverage stated, is strong enough to move budget — which is the only outcome that repays the configuration work.
What it costs is a standard of data discipline a portal has to reach before the report means anything. Amount, close date and contact associations have to be populated as process rather than as periodic cleanup, because the report reads them at query time and quietly drops whatever is missing. That is the same property completeness discipline adoption measurement runs on, and attribution is where its absence becomes expensive rather than merely untidy. There is a second cost in reading time: any number that ships without its model and coverage attached will eventually be quoted without them.
The case is strongest where marketing spend is large, cycles involve many touches, and deals originate online — the conditions under which credit is genuinely ambiguous and the answer changes what gets funded. It is weakest where deals arrive through partners, outbound calling or referral, because those paths are thin or untracked, and an attribution report over them mostly measures which of the few tracked touchpoints happened to exist.
Symptoms and Their Causes
Attributed revenue sits far below actual closed-won revenue. The cause is the exclusion rules doing their documented job: deals missing an amount, a close date or an associated contact never entered the report. Run the preflight, then repair the associations and the default deal properties at the source rather than in the report.
A channel's credit collapses when the model changes. Nothing is broken. Its touches concentrate at one end of the path, so position-based models redistribute them — which is the range of defensible answers becoming visible, and a reason to report both endpoints rather than pick the flattering one.
Sales activity is invisible under every model. Activities count only when associated to both the contact and the deal, and unreplied one-to-one emails are not interactions at all. Association has to be enforced when the activity is logged; no report-side setting recovers unlinked history after the fact.
Two teams show different revenue for the same channel and period. They are running different report types — deal create against revenue — or different models, with neither labelled. Naming both on every published view costs nothing and ends the category of meeting described at the top of this article.
Boundaries of This Article
This covers HubSpot's native multi-touch attribution, not marketing mix modelling or third-party attribution platforms, which answer an overlapping question with different machinery and different assumptions. Building the surrounding reports is a separate subject, handled in the custom report builder. Tier gates, model definitions, credit percentages and exclusion rules are as documented in August 2026 and move with the product, which makes HubSpot's documentation authoritative over this text.
The deeper limit is one no configuration addresses: attribution estimates contribution from observed correlation along tracked paths, and correlation on a tracked path is a weaker claim than it looks in a bar chart. It does not establish that removing a credited channel would have removed the revenue, and a decision resting on that claim needs an experiment — a holdout, a geographic split, a paused campaign — rather than a better model.
In Summary
HubSpot offers three attribution report types, and only contact create attribution is available below Marketing Hub Enterprise, so a Professional portal can attribute leads but not revenue. Nine models distribute credit across the path: first and last interaction assign everything to one end, linear splits evenly and therefore distinguishes nothing, the position-based models — U-shaped, W-shaped, full path — credit milestones at the expense of the nurture between them, and time decay weights the last week over everything older. None is correct in the abstract; each is a stated position about what deserves credit.
Coverage matters more than model choice and gets a fraction of the attention. Revenue attribution drops deals without an amount, a create date, a close date, a closed-won stage or an associated contact, and drops sales activities not linked to both a contact and a deal. In a portal where deals arrive by import or integration, that can remove most of the revenue from the report without any indication that it happened.
So run the arithmetic before the analysis: closed-won revenue for the period, attributed revenue for the same period, one division. Put the resulting percentage in the report's description alongside the report type and the model, and leave it there. A number carrying those three facts can be argued with productively; the same number without them will be quoted in a board deck by someone who never saw this page.