Contact-level intent data.
Account-level intent tells you a company might be in market. Contact-level intent tells you Sarah Chen read your pricing page twice. Here is the difference.
Contact-level intent data is intent measured at the individual person, not the account. Account-level intent says "someone at Acme Corp researched your category." Contact-level intent says Sarah Chen, VP Marketing at Acme, read your pricing page twice and clicked your last three ads — by name, in real time.
If you've read my article on contact-level marketing, you know the core idea: start with a list of named people, build everything around reaching them.
Intent data is how you know which of those named people to prioritize.
Most B2B teams buy intent data as a surge score and treat it as gospel. A vendor tells them "Acme is in-market" and the SDRs start dialing.
Then the calls go nowhere.
Here's the part nobody says out loud: an account-level surge score tells you a building might be interested. It doesn't tell you which of the six to 10 people inside that building to call, what they care about, or whether the "research" happened last Tuesday or three weeks ago.
This article covers the two types of intent signals, how contact-level marketing generates first-party intent you actually own, and what that does to your sales conversations, your attribution, and your pipeline forecast.
The two types of intent signals.
There are really only two kinds of intent data. Vendors sell one. You generate the other. Most teams confuse them.
Third-party account-level intent.
This is what you buy.
Bombora runs a co-op of thousands of B2B publisher sites that share anonymized browsing data. 6sense and the rest either buy that signal or blend it with their own. When people across that network read articles and search topics related to your category, the platform rolls it up into a score for the company.
The output looks like this: "Acme Corp is showing a surge in 'B2B advertising platforms.'"
That's useful for one thing — picking which accounts to enter at the top of the funnel. If you have 50,000 accounts in your TAM and you need to know where to start, account-level surge is a reasonable filter.
But notice what it does not tell you.
It doesn't tell you who. It doesn't tell you when, precisely. And the topic might be adjacent to your category, not your category. "Someone at Acme googled something marketing-related three weeks ago" is not the same as "the VP of Marketing wants to talk."
The signal is probabilistic and anonymous. And it's already old by the time you see it.
First-party contact-level intent.
This is what you generate.
Every time a named person clicks your ad, reads your article, watches your video, or visits your pricing page — that's an intent signal. It's tied to a specific human. It happens in real time. And you own it.
No co-op. No surge score. No guessing which person inside the account is warm.
Just: Sarah Chen clicked the ROI ad, spent four minutes on pricing, came back the next day for the case study.
That's contact-level intent. The problem is that for most companies, this data is scattered across analytics tools as anonymous sessions and never connected to a name.
Contact-level marketing connects it.
There's a catch with first-party intent, though: on day one you don't have any. You have to run campaigns before the signal exists. So how do you pick the first list of named people to warm?
That used to mean falling back to an account surge score and guessing. Now there's a cleaner cold-start. Buyerfeeds — our sister product, same founders — is a third-party feed that's already resolved to people. You search a topic on the open web and get back the named contacts researching it, with their companies. Not "Acme is surging." The actual person.
So it's third-party data you buy, but at the person level, not the account level. You start your first campaign with a real list of in-market people instead of a black-box score. Then ContactLevel turns that bought signal into owned signal: you run ads to those exact people, watch who engages by name, and from there it's first-party intent you generate and keep. The bought feed is the cold-start. Your own engagement is the asset that compounds.
We use Buyerfeeds this way ourselves — it feeds intent signals onto leads in our CRM before a single ad runs.
How contact-level marketing generates first-party intent.
Here's the mechanism. It's a chain of three steps, and each one is tied to the same named person.
→ Step one - ads to a known list. You run ads to a list of named contacts. Not "VP Marketing at 50-200 person SaaS companies." A list of actual people. Sarah Chen. James Park. Tom Harris. This works because each contact is enriched with their personal identifiers, so the ad platform can find them. I break the enrichment mechanics down in contact-level targeting.
→ Step two - engagement tracked by name. When those contacts engage — click, watch, scroll — the engagement resolves back to the individual. Not "9 clicks from Stripe." Sarah Chen at Stripe clicked. You know because she was on the list and matched by name before the campaign ran.
→ Step three - identified website visits. Some of those people then visit your site. Because they're matched to their identifiers, the anonymous session becomes a named visit. You see that Sarah Chen — the same Sarah who clicked the ad — read your pricing page. Twice.
Ad → engagement → website visit. Same person, the whole way through.
That chain is first-party intent data you created on purpose.
You didn't buy a score and hope it pointed at the right account. You ran a campaign, watched who responded, and the response itself is the signal. This is also how website visitor identification feeds the system — the anonymous traffic you were already paying to generate finally has names on it.
And nobody can take it away. A third-party surge score is a snapshot you rented. Your own first-party engagement is a live feed you own.
How this changes the sales conversation.
Account-level intent hands a rep a company name and a vague signal. The rep then has to guess.
Which of the six to 10 buyers do I contact? Gartner found the typical buying group for a complex B2B solution involves six to 10 decision makers, and each one gathers information independently before the group ever aligns. A surge score doesn't tell the rep which of those people moved.
So the rep picks the most senior title, sends a generic "I saw your company is exploring solutions like ours" email, and gets ignored. Because the senior title wasn't the one researching. The practitioner was.
Contact-level intent removes the guess.
The rep doesn't get "Acme is in-market." The rep gets: Sarah Chen, VP Marketing, clicked the comparison ad, read pricing twice, downloaded the case study yesterday.
Now the opening is real. The rep references the exact content Sarah consumed. The conversation starts at her awareness stage, not from zero.
This is why warming contacts before outreach works. Companies that warm prospects with contact-level ads before a rep reaches out see a 470% increase in email reply rates and book 2.2x more meetings — because the rep isn't cold-opening, they're continuing a conversation the prospect already started in their feed.
And when the deal involves the full buying committee, contact-level intent shows you who's missing. The champion is engaging, the CFO went quiet, the CTO never clicked. That's the map of who still needs content. Reaching the full committee instead of relying on one champion is why close rates run 85% higher.
The attribution problem account-level intent can't solve.
This is the part most teams never notice until it costs them a forecast.
When you run an account-level campaign and check the results, the ad platform hands you aggregate buckets. Take LinkedIn. The demographics tab shows you something like:
→ 9 clicks from "Stripe"
→ 5 clicks from "Chief Finance Officer"
Looks like the CFO at Stripe clicked five times, right?
No. Those two numbers are not connected.
The 9 Stripe clicks could be an intern on a lunch break. The 5 CFO clicks could be five different CFOs at five different companies. LinkedIn does not correlate the two data sets at the individual level. You're staring at two separate piles, not one person.
You cannot tell who actually engaged. You can only tell that some people from some companies, and some people with some titles, did something.
That's the uncorrelated-data problem. And it means your "intent" from advertising is, at the account level, a guess on top of a guess.
Contact-level attribution fixes it because the person was named before the campaign ran. The click resolves to Sarah Chen, not to "someone with the CFO title somewhere on your list." There's no correlation to infer. The identity was the input.
I go deeper on the attribution mechanics in contact-level advertising. The short version: if you can't tie the signal to a person, you can't trust the signal.
What this does to pipeline forecasting.
Forecasting off account-level intent is forecasting off probability.
"Forty accounts are showing surge, historically 10% convert, so expect four deals." That's a model built on a model. The surge score is already a probability, and you're multiplying it by another probability. The error compounds.
Contact-level intent gives you something you can actually count.
You know how many named contacts engaged. You know which ones visited the site, which read pricing, which came back. Those are discrete, identified actions — not a smoothed score across a co-op.
So your forecast shifts from "these accounts are probably warm" to "these 23 specific people took these specific actions this week." You can sort by depth of engagement. You can see the buying committee forming inside an account — three of five roles engaged, two to go.
Take two accounts that both light up an account-level surge score this month. On paper they look identical. Same score, same topic, same "in-market" label.
Now look at the contact-level data. In the first account, four named buyers clicked your ads and two read pricing. In the second, the only "engagement" was one anonymous click that never resolved to a person on your list. The surge score treats them the same. Your pipeline shouldn't.
That's the difference between forecasting off a probability and forecasting off behavior you can name.
Is it perfect? No. Intent is still a leading indicator, and people research things they never buy. But a forecast built on named actions you can audit beats a forecast built on a vendor's black-box surge score every time.
For the broader picture of how this rolls up into pipeline, see pipeline generation.
The feedback loop that improves every campaign.
Here's where first-party intent stops being a sales tool and becomes a marketing engine.
Every campaign you run produces named engagement data. That data tells you what's working — not in aggregate, but per person and per piece of content.
So you feed it back in.
→ The contacts who engaged but didn't convert get the next piece of content in the sequence. They moved one awareness stage; you serve the content for the next one.
→ The contacts who went silent tell you the message missed. You change the creative, not the targeting — the targeting was right, these were the correct people.
→ The content that drove the most named pricing-page visits becomes your top-of-funnel hook for the next cold cohort.
This is the loop: run ads → generate first-party intent → read who engaged with what → adjust the content → run again.
Account-level intent can't power this loop because it's not yours and it's not granular. You can't tune a campaign off a number a co-op assigned to a company three weeks ago. You can tune it off Sarah Chen ignoring your feature ad but reading your ROI piece twice.
And the loop compounds. Each cycle, your content gets sharper because you're reading real reactions from real named people, not guessing from aggregate click-through rates. The cold cohort you run next month gets the version of the campaign that already worked on the cohort before it.
The signal you generate is the signal you learn from.
So which one do you actually need?
It used to be two options. Now it's three, and they do different jobs.
Account-level intent (Bombora, 6sense) is the old top-of-funnel filter. If you don't know where to start in a huge TAM, surge scores help you pick accounts to enter. It's anonymous and it's company-level, so its job stops there. If you're weighing the account-level platforms, I'd start with the 6sense competitors breakdown.
Person-level third-party intent (Buyerfeeds) is the cold-start. It's still data you buy, but it skips the account and hands you the named people researching a topic — so your first campaign targets actual humans, not a surge score you have to decode. No co-op to feed, no six-figure contract, self-serve.
Contact-level intent is what you generate once those people are in your audience. It tells you which named person is warm, what they read, and when. It's the data you own and the only one of the three you can tune a campaign off.
The mistake is treating an account surge score as if it were a person-level signal. It isn't. "Acme is in-market" and "Sarah Chen read pricing twice today" are not the same sentence, and your sales team can only act on one of them.
Buy person-level intent to start the list. Run ContactLevel to make it your own. Use the first-party signal that comes back to work it.
Where contact-level intent fits.
Contact-level intent data is the measurement layer of the contact-level marketing system. The ads distribute content. The intent tells you who responded. The loop turns that into pipeline.
It connects directly to demand capture: the first-party signals you generate are exactly the in-market contacts you target next. I cover that in contact-level demand capture.
If you want the wider category context — third-party providers, surge scoring, every type of intent signal — read the B2B intent data hub.
Go deeper.
→ B2B intent data — the full category: third-party providers, surge scoring, and where contact-level fits.
→ Buyerfeeds — person-level third-party intent: buy a feed of the named people researching a topic, and use it as your cold-start list.
→ Intent data providers — how the providers compare, including the person-level feed that gives you a cold-start.
→ Contact-level advertising — how paid ads deliver content to named contacts and where the attribution comes from.
→ Contact-level targeting — the identity enrichment that lets an ad click and a site visit resolve to the same person.
→ Website visitor identification — how anonymous traffic becomes named, first-party intent.
→ Buying group marketing — how contact-level intent maps the full committee, not just the champion.