Marketing
5 min read

HubSpot Lead Source Attribution Setup: How to Track True Marketing ROI with Clean Data

Vitaly Kan
October 29, 2025

If you run a SaaS company, you’ve probably dealt with confusing lead source data in HubSpot. You check a contact and see “Offline” as their source. But was it a referral? A partner? A rep manually adding them? There’s no way to tell.

Here’s a simple, scalable way to clean up attribution so you can finally trust your reports.

Full Cycle Template
Why HubSpot's Default Attribution Isn't Enough

HubSpot gives you two properties:

  • Original Source: How the contact entered HubSpot
  • Latest Source: The last known way they came back

That’s useful, but not complete.

Manual entries, email logging, and integrations often show up as:

  • Original Source: Offline
  • Drill-down 1: CRM UI, Email Integration, or Extension.

Those don’t tell you where the lead really came from.

How tracking leads in HubSpot beccomes confusing

Build an "Offline Source" Field

Create a dropdown field called Offline Source to fill the gap. Add options like:

  • Referral
  • Event
  • Partner
  • Database

Then use conditional fields:

  • Referral → Internal / Client / Other
  • Event → Event Name
  • Partner → Partner Name
  • Database → Source (e.g., LinkedIn, Apollo, ZoomInfo, Clay)

Now you have a consistent way to track manually added contacts.

Feature
Type
Track multiple leads?
Stage movement
Reporting
Best for
Lead Status
Single contact property
No
Manual
Limited
Simple inbound
Lead Object
Sub-object under Contact
Yes (campaigns, territories, PLG vs outbound)
Auto-progressed by rep activity
Pipeline-style dashboardsGoogle Sheets
Outbound, SDR/BDR teams, PLG routing
Automate Cleanup With a Workflow

Set up a workflow that flags contacts when:

  • Original Source = Offline
  • Drill-down 1 = CRM UI, Email Integration, or Extension
  • Offline Source is empty

Create a task for the contact owner to fill in the missing info.

This works great for:

  • Reps adding conference leads manually
  • SDRs pulling leads from ZoomInfo
  • New referrals from partners or clients
Understand Drill-down Types

CRM UI: Manually added in HubSpot

Email Integration: Created through connected email logging

Extension: Added through the HubSpot Chrome/Gmail extension

API: Created via tools like Zapier — you must pass attribution fields yourself

UTM Tracking Still Matters

For campaigns, make sure your links have:

  • utm_source
  • utm_medium
  • utm_campaign

Map these to HubSpot’s UTM fields so you can report on actual marketing performance.

Example: Report for Offline Attribution

Build a custom contact report with these filters:

  • Original Source = Offline

Display contacts by Offline Source. You can also break down by lifecycle stage or owner.

You’ll see:

  • How many leads came from partners vs events
  • Who’s skipping attribution
  • Which sources convert best

Analyzing Leads in HubSpot

Use Case
You want native HubSpot reporting
You want simpler workflows + external reporting
You’re managing success handoffs
You need advanced MRR/ARR metrics (e.g., retention, cohort LTV)
Best Option
Multiple deals with recurring revenue fields (Enterprise)
Single deal + custom SaaS properties (Pro)
Add a Customer Success custom object or use a Company object
Google Sheets
Want Help?

We offer a complimentary session to help build your attribution report or workflow. No fluff. We’ll set it up live or send a copy you can use.

Book a call, we’ll show you in 10 minutes.