Skip to content
Solutions Blueprint

Attribution Reporting for a Lead-Score Property HubSpot Doesn't Track

Hero featured image

Marketing couldn't point to the page or form that had pulled a given contact's lead score up, because HubSpot's reporting tool doesn't have a native report that attributes a custom scoring property back to the content feeding it.

We built a three-report view inside HubSpot's own reporting tool instead: pages ranked by the total lead score of the contacts who viewed them, a submission count scoped only to the two forms the scoring rules reference, and a second submission count spanning every form in the portal. All three refresh on a rolling 30-day window.

Executive Summary

context-header-icon

Context

A global print-management software vendor sold through a multi-tier authorised-partner and reseller channel had already built a lead-score property on every contact in HubSpot, but marketing had no way to see what was actually driving it.

what-we-built-header-icon

What We Built

We built a three-report lead-score attribution view in HubSpot: a top-pages report, an exact-match submission report limited to the two forms written into the scoring rules, and an all-forms submission report, all run on a rolling 30-day window.

tech-stack-header-icon

Tech Stack

  • HubSpot
  • Zendesk
  • SendGrid
  • in-house system of record

Not a fit if your lead-scoring rules are not already built and stable, since this layer reads score contributions after the fact and cannot substitute for defining what earns the score. Teams still setting or revising their scoring model should finish that work first.

the-challenge-header-icon

The Challenge

Marketing had set a lead-score property on every contact and used it to prioritise outreach. But nobody on the team could say which page or form had raised a given contact's score, because HubSpot's reporting tool doesn't have a built-in report that attributes a custom scoring property to the content driving it.

Two of the forms feeding the score had names close enough to other forms that a standard submission report pulled in unrelated submissions alongside them. That left marketing guessing which content to double down on.

our-approach-header-icon

Our Approach

We first tried a standard form-submission report filtered to the two forms that fed the score. It kept returning submissions from a nearby form that shared part of its label, because HubSpot's filter matches on label text and the forms' names were close enough to collide. Renaming both scoring forms with a distinguishing suffix gave the filter an exact string to match, so the count could be scoped to only the forms the scoring logic reads.

With the filter fixed, we built three reports rather than one composite view. A top-pages report ranks pages by the total lead score of their viewers. A submission-totals report covers just the two renamed forms. A second submission-totals report spans every form in the portal, because a form outside the scoring rules can still tip a contact over a threshold later, and the narrower report alone would miss that.

All three run on a rolling 30-day window, which trades a live view for one that marketing can read consistently each week.

impact-header-icon

Impact

check-icon

Seeing which pages actually move the score

The top-pages report ranks every page by the total lead score of the contacts who viewed it, so marketing can point to the pages pulling contacts towards a higher score instead of guessing from traffic volume. That let the team weigh content decisions against what the score actually rewarded, not just what drew the most views.

check-icon

Counting only the submissions the score actually reads

Renaming the two forms written into the scoring rules with a distinguishing suffix gave the submission-totals report an exact string to filter on, so the count reflects only the forms the lead-score property reads. Marketing could finally trust that a submission spike in the report was the scoring forms and nothing else.

check-icon

Catching contributions from every other form too

A second submission-totals report spans every form in the portal rather than just the scoring forms, since any submission can still add value to a contact's score on a later visit even when the form itself is not a named trigger. That gave marketing a wider net for explaining a score change the narrower report alone would miss.

check-icon

A reporting cadence marketing can return to every week

All three reports run on a rolling 30-day window, so the view refreshes on its own schedule instead of marketing re-deriving the filter logic each time someone asks what moved the score. A one-off investigation became a report the team could check routinely.

Technical Blueprint
1

A HubSpot report ranking pages by the total lead score of the contacts who viewed them, built to surface which content is actually associated with a rising score rather than which content gets the most traffic.

2

The two forms written into the lead-scoring rules were renamed with a distinguishing suffix so a report filter could match on an exact string instead of a partial label, removing a nearby form's submissions from the count.

3

One submission-totals report is filtered to just the renamed scoring forms; a second spans every form in the portal, because a submission on a form outside the scoring rules can still raise a contact's score on a later visit.

4

All three reports are set to a rolling 30-day window rather than a fixed date range, so the view marketing checks each week stays current without anyone resetting the filter by hand.

Diagram of a HubSpot contact's page views and renamed form submissions feeding three separate 30-day lead-score reports.

The top-pages report ranks pages by the total lead score of the HubSpot contacts who viewed them. The two forms written into the scoring rules were renamed with a distinguishing suffix, which lets a second report match them by exact label and count only their submissions. A third report counts submissions on every form in the portal, because a form outside the scoring rules can still raise a score on a later visit. All three reports run on a rolling 30-day window.

FAQ

Why doesn't HubSpot just show this natively?

HubSpot's lead-scoring property tracks a running number on the contact record, but its reporting tool has no built-in report that attributes that number back to the page or form that raised it. Getting that view took building custom reports around the property rather than turning one on.

Why build three separate reports instead of one?

A single report could not do all three jobs: ranking pages needs the contact's score, the exact-match count needs a filter scoped to the renamed forms only, and the all-forms count needs to stay unscoped, since a form outside the scoring rules can still move the score later. Splitting them kept each filter exact.

footerCTA footerCTA-mobile
Spice up your inbox
Sign up for our newsletter
Don't worry - we only average, like, two emojis per subject line.