Home / Blog / HubSpot Attribution Report
How-to · 2026

HubSpot Attribution Report: Which Sources Close Deals

Counting leads by source is easy and mostly useless. The report that matters follows each source to closed-won revenue, win rate and sales cycle, and it needs to be honest about what HubSpot source fields do and do not record.

By · Published October 25, 2026 · 8 min read

To see which sources close deals in HubSpot, group your closed-won deals by source and report revenue, win rate, average deal size and sales cycle for each, not just lead counts. A source that generates the most leads often is not the one that generates the most revenue, and you can only see that once the report ends at a closed deal. This post is a method for building it, including what the source fields do and do not tell you.

Leads by source answers the wrong question

The default marketing report counts new contacts by source. It feels like attribution, and it rewards the wrong behavior. A source that floods the funnel with low-intent contacts looks great. A source that sends a few people who almost all buy looks weak. Anyone choosing budget from the lead count alone is optimizing for volume.

The question you want answered is "of the deals that reached a decision, which sources produced the wins, how big were they and how long did they take". That means the report has to end on the deal, with the outcome attached.

What the source fields actually record

HubSpot stores a source on contacts, companies and deals. The original source is set when a record is first created and is intended to stay put. It uses a fixed set of categories such as organic search, paid search, social, email marketing, referrals, direct traffic, offline sources and other campaigns. Two drill-down properties, source data 1 and source data 2, carry the detail, for example which campaign or referring domain. A separate latest source set records the most recent tracked touch.

That makes original source the nearest thing to first-touch attribution, and latest source closer to last-touch. Neither credits the middle of a long B2B journey where a prospect reads three emails, attends a webinar and clicks a retargeting ad. Be upfront about this in the report. "First-touch source" is a fair label. "What caused the deal" is not.

Also expect a sizeable offline or unknown bucket. Source is assigned by tracking. Deals a rep creates after a phone call, links that got forwarded, and untagged campaigns all land somewhere unflattering. That is a signal to fix capture, not a channel to cut.

The report, step by step

For each source value, compute these on deals whose close date falls in the period:

Closed-won revenue   sum(amount)            closed-won deals
Deals won            count                   closed-won deals
Win rate             won / (won + lost)      closed deals only
Average deal size    mean(amount)            closed-won deals
Sales cycle (days)   mean(days to close)     closed-won deals

Here is an illustrative example, not real data. Suppose organic search closes 14 of 40 decided deals and referrals close 9 of 15. Organic search wins more total deals, referrals converts far better. Which one deserves the next hour of effort depends on whether you can scale referrals, and you could not tell from a lead count. Always show the deal count next to every rate, because a source with four closed deals can show any win rate.

Bucket by close date for outcomes. If you bucket by create date, recent deals are mostly still open, every source looks like it is losing, and the newest quarter is always the worst. Mixing the two date fields is the most common way this report goes wrong.

Add the funnel above the deal

Contacts carry lifecycle dates: when they became a lead, a marketing qualified lead, a sales qualified lead, an opportunity and a customer. Counting contacts by source that reached each of those shows where a source leaks. A source with plenty of leads and almost no sales qualified leads has a targeting problem. A source with healthy qualification and poor close rates has a sales follow-up problem. They need different fixes, and a single revenue number would hide the difference.

Doing it with Quiriz's HubSpot connector

The connector brings in [HubSpot] Deals with the original source and its two detail columns, [HubSpot] Contacts with the same source columns plus the lifecycle stage dates, and [HubSpot] Companies. Metrics for Closed-won revenue, Win rate, Average deal size and Sales cycle (days) are defined once, each with its closed flag and close date, so grouping them by source is a question rather than a rebuild. Examples to ask:

Because the connector reads the same fields whether you ask in the app or later in a saved report, a monthly source review is the same question each time. If you have to present it, HubSpot Reports in PowerPoint covers getting it into slides.

Honest limits

Teams running this for clients can find the agency workflow at Quiriz for agencies, and the CRM workflows at Quiriz for CRM teams.

See which HubSpot sources actually close

Connect HubSpot and ask for closed-won revenue and win rate by source. Free to start.

Try Quiriz free →

Frequently asked questions

How do I see which marketing source closes the most deals in HubSpot?
Group closed-won deals by the source property and sum the amount by close date. Then do the same for win rate on closed deals, because the source that closes the most revenue is not always the source that converts best. Both views together tell you where to spend and where to fix follow-up.
What is the difference between original source and latest source in HubSpot?
Original source records how a contact first came into HubSpot and is meant to stay fixed. Latest source records the most recent interaction that was tracked. Original source is the closest thing to first-touch attribution, and latest source is closer to last-touch. Neither is multi-touch.
Does HubSpot do multi-touch attribution?
HubSpot offers attribution reporting in some product tiers, and its availability depends on your plan. The Quiriz connector reads the source fields stored on deals, contacts and companies, which behave as single-touch values, so it does not reconstruct multi-touch credit.
Why does my HubSpot report show so many deals from direct traffic or unknown?
Because source is assigned by tracking, and tracking misses offline conversations, forwarded links, untagged campaigns and deals a rep created by hand. A large unknown or offline bucket is common and is a data-capture problem to fix, not a channel to optimize.
Should I attribute by deal source or contact source?
Deal source is simpler when a deal inherits the contact's original source, and it keeps revenue and source on one row. Contact source is better for funnel stages before a deal exists. Use contacts for top-of-funnel counts and deals for revenue, and keep the labels consistent between them.