HubSpot lead-score and source-attribution workflow rebuild
A geospatial network-construction-management software provider's lead-scoring property already used 52 of HubSpot's 100-filter cap, leaving little room to add a rule without hitting the ceiling. S2's Solutions team rebuilt scoring around capped, re-enrolling workflows and moved source attribution from Original Source to HubSpot's Latest Source property and Drilldown Properties. The next quarter, MQLs rose 150% month-over-month and SQLs rose 207%.
Executive Summary
Context
An Australian geospatial network-construction-management software provider ran its go-to-market inside HubSpot Marketing Hub and Sales Hub, holding over 2,300 contacts by the quarter the rebuild's results were measured.
What We Built
We rebuilt the lead-scoring property around a workflow set gated by hidden trigger properties per form and event type, and cloned the marketing-sources workflows to write from HubSpot's Latest Source property and Drilldown Properties in place of Original Source.
Tech Stack
- HubSpot Marketing Hub
- HubSpot Sales Hub
Not a fit if you need deal or revenue-level attribution: native HubSpot reporting on this tier resolves only to the contact record, so full ROI attribution needs a Marketing Hub Enterprise upgrade before this rebuild can report against it. It also assumes an existing scoring property is close to its own filter ceiling; a property with headroom left gets more from simply adding criteria than from a full workflow rebuild.
The Challenge
A geospatial network-construction-management software provider's lead-scoring property already carried 52 of the 100 filters HubSpot allows on one property, which left almost no room for a new rule. The prior model also scored on a list-membership rule that fired only when a contact belonged to every listed segment at once. That was so rare that a media partner was scored as a high-quality lead simply because nothing else in the rule ever tripped.
Attribution had its own problem. It depended on Original Source, which HubSpot sets once at first touch and never updates. So a contact who converted months later through a different channel still reported under whatever brought them in first.
Our Approach
We audited the property first, and confirmed two real failures: the 100-filter ceiling and the AND-logic list rule. Adding more criteria would have hit that same ceiling within a few new rules, so we rebuilt scoring around a workflow set instead.
A hidden trigger property fires for each form or event type when a contact submits a TOFU, MOFU, or BOFU form, or attends a webinar, and it feeds the lead-score property directly. Accrual caps at five occurrences per action type, with re-enrolment on. A repeated action adds nothing further, while a new one keeps counting.
For attribution, we cloned the marketing-sources workflows onto lifecycle-stage changes, from Lead through MQL, SQL, and Opportunity. They pull from Latest Source and Drilldown Properties instead of Original Source. The trade-off is that a fixed first-touch record becomes a live one, so the property now shows the most recent channel rather than the first.
Impact
Attribution reflects the channel converting right now
The marketing-sources property writes from HubSpot's Latest Source property and its Drilldown Properties every time a contact advances a lifecycle stage, so the record shows whichever channel most recently touched them rather than freezing on their first visit. That let the team report on channel performance by lifecycle stage for the first time.
Lead scores resist a single loophole
Each hidden trigger property caps at five occurrences per action type before it stops feeding the lead-score property, so repeating one form fill or one webinar registration can't inflate a score past what the interaction is worth. Re-enrolment stays on, so new, different actions keep accruing real signal instead of being scored once and left static.
The scoring property has room to grow again
Rebuilding around a workflow set, instead of adding still more filters, kept the property below HubSpot's 100-filter ceiling, leaving room for new criteria later. The AND-logic list-membership rule is gone, so the property no longer spends capacity on a condition that almost never fired.
MQLs and SQLs both climbed the same quarter
In the quarter after the rebuild, MQLs rose 150% month-over-month to 28 and SQLs rose 207% to 70, against 346 total leads for the quarter. Total contacts fell 28% over the same period, so the gain came from better qualification of a smaller pool, not more raw volume.
A property fires when a contact submits a TOFU, MOFU, or BOFU form, or registers for and attends a webinar, writing directly into the lead-score property instead of sharing a field with other actions. Accrual caps at five occurrences per action type, so repeating an action past that point adds no further score.
The workflow set re-enrols a contact every time a new trigger property fires, rather than scoring an action once and closing enrolment, so ongoing engagement keeps adding weight. Enrolment checks the trigger property itself, replacing the prior rule that needed every list membership to match at once.
The marketing-sources property is cloned onto workflows triggered by a lifecycle-stage change, from Lead through MQL, SQL, and Opportunity, pulling from Latest Source and Drilldown Properties instead of Original Source. It reflects the most recent touch, trading a fixed record for a live read of what is converting a contact now.
Native reporting on this HubSpot tier resolves attribution only to the contact record, not the deal or the revenue it produced, a limit that only a Marketing Hub Enterprise upgrade removes. We scoped the rebuild to be accurate within that ceiling rather than implying a revenue-attribution capability the tier doesn't support.
A form submission or event registration sets a hidden trigger property, which feeds the lead-score property through a workflow that caps each action type at five occurrences. Separately, each lifecycle-stage change, from Lead through to Opportunity, writes HubSpot's Latest Source and Drilldown Properties onto the marketing-sources property, and the dashed line shows the Original Source logic this replaced. Attribution stops at the contact record, because reporting to deal or revenue level needs Marketing Hub Enterprise.
FAQ
Each trigger property caps at five occurrences per action type before it stops adding to the lead-score property, so replaying a webinar registration or resubmitting a form past that point adds nothing further. Re-enrolment stays on for new actions, so a contact who acts differently over time keeps accruing real signal instead of being frozen.
Original Source is set once at first touch and never updates, so a contact converting through a different channel months later still reports under whatever brought them in originally. Cloning the workflows onto Latest Source and Drilldown Properties lets the record update on every lifecycle-stage change, reflecting the most recent channel.
Continue reading