Revenue by Original Source (True ROI View)
Build a Clean, Executive-Level Attribution Dashboard in HubSpot
Your source reports are counting contacts, not revenue, which means your budget decisions are based on the wrong metric.
A channel generating 500 leads looks great until you realise those leads close at half the rate of a channel producing 50. HubSpot captures original source data for every contact, but out of the box it doesn't connect that data to closed-won revenue in a way that's clean enough to act on.
This build closes that gap. You'll join source data to closed won deals, build a top-level revenue view by channel, and add a drill-down by specific source, Google Ads, LinkedIn, and organic search. Everything lands in one dashboard so you can answer the question that actually matters: which channels are generating revenue, and which ones aren't.
Required HubSpot Tools & Tiers
- Marketing Hub Professional or Enterprise
- Sales Hub Professional or Enterprise
- Custom Report Builder
- Dashboards
- (Optional) Attribution reporting for Enterprise
Step 1: Confirm Required Properties
Go to:
Settings → Properties → Contacts
Confirm these exist:
-
Original source -
Original source drill-down 1 -
Original source drill-down 2
Then confirm on Deals:
-
Amount -
Deal stage -
Close date
No custom properties required for basic version.
Step 2: Build Revenue by Original Source (First-Touch)
Navigate:
Reports → Create report → Custom report builder
Data Sources:
Select:
-
Deals
-
Contacts
Ensure:
Deals is the primary object
Add Fields
-
Deal amount
-
Close date
-
Deal stage
-
Original source (Contact property)
Configure Visualization
Visualization:
-
Column chart
X-axis:
-
Original source
Y-axis:
-
Sum of Deal amount
Apply Filters
-
Deal stage = Closed Won
-
Close date = This year (or desired period)
-
Amount is known
Optional:
-
Pipeline = [Specific pipeline]
Save As:
This now shows true revenue contribution by acquisition channel.
Step 3: Add Drill-Down Granularity
To go deeper than “Organic / Paid / Direct”:
Create a second report.
Fields:
-
Original source drill-down 1
-
Deal amount
-
Close date
Visualization:
-
Column chart
X-axis:
-
Original source drill-down 1
Y-axis:
-
Sum of Deal amount
Filters:
-
Deal stage = Closed Won
-
Close date = This year
Save As:
This reveals performance like:
-
Paid Search → Google Ads
-
Paid Social → LinkedIn
-
Organic Search → Google
This is what marketing leaders actually need.
Step 4: Create Revenue by Source Over Time (Trend View)
This shows momentum, not just totals.
Create new report:
Primary object:
Deals
Associated object:
Contacts
Fields:
-
Close date
-
Original source
-
Deal amount
Visualization:
-
Stacked column chart
X-axis:
-
Close date (monthly)
Y-axis:
-
Sum of Deal amount
Break down by:
-
Original source
Filters:
-
Deal stage = Closed Won
Save as:
This shows which channels are scaling vs declining.
Step 5: Build Executive Attribution Dashboard
Go to:
Reports → Dashboards → Create dashboard
Name:
Add:
-
Revenue by Original Source – First Touch
-
Revenue by Source Drill-Down
-
Revenue by Source – Monthly Trend
Optional additions:
-
Revenue by campaign
-
MQL → SQL by source
-
Sales cycle length by source
This becomes your executive ROI dashboard.
Optional Upgrade: Compare Attribution Models
If you have Marketing Hub Enterprise:
Use:
Reports → Attribution → Create attribution report
Compare:
-
First touch revenue
-
Last touch revenue
-
Linear
-
U-shaped
Place side-by-side on dashboard.
This eliminates channel bias.
What This Hack Gives You
You now have:
-
Revenue-based ROI reporting
-
First-touch clarity
-
Channel-level granularity
-
Time-based attribution trend
-
Executive-ready dashboard
This transforms marketing from “lead generation” to revenue accountability.
