A blended intent score works when first-party signals (real behavior on your own site) act as the primary trust layer, and third-party signals (research happening elsewhere, like a G2 comparison view or a 6sense surge alert) act as a secondary weight that adjusts urgency, not the other way around. Most teams get this backwards. They buy a third-party intent platform, let it drive scoring on its own, and end up with a dashboard nobody opens. The fix is a documented point system, a decay curve, and a rule for what to do when the two sources disagree.
First-party vs. third-party intent data, in plain terms
First-party intent is anything a visitor does on your own properties: an identified page visit, a repeat session, time spent on a pricing page, a named contact matching your ICP. You own this data outright and it's exact, because it's not an inference about behavior, it's the behavior itself.
Third-party intent is inferred signal from research activity happening somewhere else: a G2 or TrustRadius comparison view, a content-syndication download, a review-site surge, an ad-network topic spike. You're renting someone else's read of the market, and that read is often a step or two removed from an actual buyer.
Neither one is sufficient on its own. First-party tells you who is already engaging with you. Third-party tells you who is shopping the category before they've found you. We've talked to teams that bought a full ABM/intent platform, watched their sales org stop logging in within a quarter, and ended up building a homegrown blended layer instead, routing third-party signals through an orchestration tool alongside their own website engagement, specifically because the vendor's dashboard sat unused. That's not a data problem. It's a scoring and routing problem, and it's exactly what a blended model is supposed to fix.
A scoring framework you can build this week
Skip the vague "combine your signals" advice. Use a tiered point system where first-party engagement always outweighs third-party inference, and firmographic fit multiplies the result instead of adding to it:
- 🔴 First-party engagement - pricing or product page visits, two or more sessions in seven days, or a named ICP contact identified on your site - worth 40 to 60 points, the highest weight because it's confirmed behavior, not inference.
- 🟠 Third-party research signal - a G2 or TrustRadius comparison view, a content-syndication download, or a review-site surge alert - worth 15 to 30 points, useful as an early warning but unverified until it's paired with your own data.
- 🟡 Firmographic fit - ICP company size, industry, and tech stack match - applied as a 0.5x to 1.5x multiplier on the score above, not added directly, so a perfect-fit account with weak engagement still ranks below a loose-fit account that's actively buying.
- ⚪ Noise - a single anonymous pageview, a one-off third-party mention with no repeat activity, or any signal older than your decay window - excluded from the score entirely.
Third-party signals should also decay faster than first-party ones. A comparison-site view from three weeks ago is a much weaker predictor than one from yesterday, while a named contact who keeps coming back to your pricing page holds its weight longer. If you haven't built a decay curve yet, our full breakdown of intent signal decay versus expiration covers the timing in more depth than we have room for here.
Deduplication: stop double-counting the same buyer
If a third-party surge alert and a G2 comparison view fire for the same account in the same week on the same topic, don't add both point values. Take the higher of the two plus a small stacking bonus (five points is a reasonable default), not the sum. Teams that skip this step end up with inflated scores that don't hold up once a rep actually calls the account, and that gap is what kills trust in the model. One founder we talked with described walking away from a lower-cost intent vendor entirely because the volume "wasn't there" and the leads felt inaccurate; a big part of that was double-counted, unvalidated signal being presented as new demand. Before you trust any third-party feed, it's worth validating the vendor's accuracy claims the same way you'd validate any other data source.
The signal-conflict matrix: what to do when they disagree
This is the part most frameworks skip, and it's the one that actually determines whether reps trust the score:
- 🔴 High third-party, high first-party - the account is researching the category and has hit your site repeatedly - route to an SDR for same-day outreach. This is the rare case where both sources agree, and it should always jump the queue.
- 🟠 High third-party, low first-party - the market signal says they're shopping, but they haven't found you yet - this is a retargeting and content-syndication target, not a cold-call target. Calling in too early here burns the account.
- 🟡 Low third-party, high first-party - no external research signal, but a named contact is repeatedly engaging directly on your site - trust the first-party data and fast-track it anyway. A visitor voting with their own attention outranks an inferred market signal every time.
- ⚪ Low third-party, low first-party - deprioritize. Don't let a single third-party mention alone trigger outreach.
We've seen this mismatch play out directly with an ABM team running paid campaigns against a curated target-account list built from third-party and firmographic data. When they compared that list against actual on-site engagement, they found accounts on the target list with zero engagement (wasted ad spend) and accounts engaging heavily that weren't on the target list at all (missed pipeline). Neither data source was wrong. The list described who should be in-market; the website traffic showed who actually was. Without a documented way to reconcile the two, that gap just sits there as unexplained spend and unclaimed pipeline.
Operationalizing the score: routing, SLAs, and CRM fields
Don't collapse everything into a single blended number in your CRM. Keep first_party_score and third_party_score as separate fields feeding a composite_score, so a rep can see at a glance why an account is hot instead of taking the system's word for it. Then route by tier:
- 🔴 Composite score 80+ - Slack alert to the account owner with a same-day response SLA.
- 🟠 Composite score 50-79 - added to an outbound sequence, not a live alert.
- ⚪ Composite score under 50 - nurture or ad retargeting only, no rep touch yet.
If you haven't set response-time expectations for the top tier, our guide to setting an SLA for identified visitors and a real SDR's daily schedule for working these alerts are both worth building into the same rollout.
The quality of this whole system depends on the precision of the first-party layer underneath it, since that's the tier carrying the most weight. Knock2's identification matches visitors against an identity graph built from a consent-based publisher network, resolving them to both the account and, for US traffic, the named contact, so "high first-party engagement" means an actual person and title, not just a company-level guess. Company-level identification runs 93%* and person-level runs 62%* against engaged sessions, which is the volume of confirmed behavior a blended model needs to actually outweigh inferred third-party signal. If you're still scoring third-party data as your primary trigger because the first-party layer is too thin to trust, that's usually a data problem, not a strategy problem, and it's worth checking what a stronger identity match rate does to your own lead scoring model before you rebuild the whole framework.
*Identification rates measured against engaged sessions. Results may vary by traffic profile, geography, and industry.
Recalibrate quarterly against closed-won data
A blended score isn't a one-time build. Every quarter, pull your closed-won deals and check what composite tier they sat in when they converted, against the tier of deals that went dark or no-showed. If closed-won deals are clustering in your 50-79 tier instead of your 80+ tier, your point values are miscalibrated, usually because third-party weight is set too high relative to first-party. Adjust the tier thresholds, not the whole framework, and recheck next quarter.
Ready to see it in real time?
A blended intent score is only as good as the first-party layer feeding it. Book a demo to see how Knock2 identifies the accounts and contacts already on your site, so your third-party signals have something real to weigh against.
FAQ
How do you weight first-party vs. third-party intent data in one score?
Give first-party engagement (page visits, repeat sessions, identified contacts) the highest point value, treat third-party research signal as a secondary, faster-decaying weight, and apply firmographic fit as a multiplier rather than adding it directly to the total.
What should you do when first-party and third-party intent signals disagree?
Trust confirmed on-site behavior over inferred market signal, but don't ignore high third-party interest either. Route disagreement to the appropriate channel instead of ignoring it: retargeting and nurture when third-party is high but first-party is low, a fast-tracked rep touch when it's the reverse.
How often should an intent score decay or refresh?
Third-party signals should decay faster than first-party ones since they're a step removed from actual behavior. Most teams recalculate weekly and let third-party weight fall to zero within roughly 30 days, while a recently identified, repeat-visiting contact holds its score longer.
How do you avoid double-counting the same signal across intent vendors?
When two sources fire for the same account on the same topic in the same window, take the higher point value plus a small stacking bonus instead of summing both. Summing inflates the score and erodes rep trust once they call an account that turns out to be far less engaged than the number suggested.
What should a blended intent score actually trigger, not just report?
Set explicit tiers with owners and SLAs: a top tier that fires a same-day Slack alert to a rep, a middle tier that enters an outbound sequence, and a bottom tier that stays in nurture or retargeting until it earns a higher score.




