How to Identify Buyer Intent Signals: A 2026 Field Guide
Most intent data is noise wearing a suit. Here is how to separate the signals that actually predict a purchase from the ones that just look busy — and what to do in the 48 hours after one fires.

TL;DR
- Buyer intent signals fall into three tiers: first-party (your own properties), second-party (review sites and communities), and third-party (aggregated web behavior). First-party is the most predictive and the cheapest to collect.
- The single best predictor of a near-term deal is not a topic-surge score — it's a repeat visit to a pricing or comparison page from a company that already fits your ICP.
- Most third-party intent data is bought at the account level and acted on at the person level. That gap is where pipeline dies.
- A signal has a half-life. Act inside 48 hours or you're just another cold email with better timing theater.
- The workflow that actually works: detect signal → resolve account → find the right human → verify the contact → send a message that references the trigger without being creepy.
What Are Buyer Intent Signals, Really?#
A buyer intent signal is any observable behavior that suggests a company is moving toward a purchase decision in your category. That's the textbook version. The working version is blunter: it's evidence that someone is spending time on a problem you solve, right now, instead of six months from now.
The distinction matters because "intent" gets sold as a monolith. Vendors package a topic-surge score, slap a letter grade on an account, and call it intent. In practice you're looking at four separate things bundled under one word:
- Fit — does this company look like your best customers? (Firmographic, not intent at all.)
- Activity — is someone at this company doing research? (Behavioral, genuinely intent.)
- Timing — is the activity clustered or sustained enough to mean a live project?
- Authority — is the person doing the research anywhere near the budget?
A vendor selling you "intent data" usually delivers #1 and a fuzzy version of #2. You have to build #3 and #4 yourself. Once you separate them, most of the confusion about why intent data "didn't work" resolves itself — you were buying fit and expecting timing.
What Are the Three Types of Intent Data?#
Every signal you'll ever act on comes from one of three sources, and they differ enormously in cost, precision, and how fast they decay.
| Attribute | First-party | Second-party | Third-party |
|---|---|---|---|
| Source | Your site, product, emails, docs | Review sites (G2, Capterra), communities | Publisher co-ops, bidstream, content networks |
| Typical cost | Free (you already own it) | $1,000–$5,000/mo per category | $2,000–$25,000/mo |
| Person-level resolution | Yes, if identified | Sometimes (G2 buyer intent gives company + role) | Almost never — account-level only |
| Signal precision | Very high | High | Low to medium |
| Typical decay window | 24–72 hours | 3–14 days | 2–6 weeks |
| Best use | Immediate outbound + sales alerts | Competitive displacement plays | Territory prioritization, ABM ad targeting |
| Biggest failure mode | You never instrumented it | Narrow category coverage | Buying "surge" that's one intern's rabbit hole |
Read that table as a priority list, top to bottom. Teams routinely spend five figures a year on third-party intent while their own pricing page sends anonymous traffic into the void. Fix the free tier first.
First-party is anything happening on property you control: pricing page views, docs traffic, a returning visitor who reads three case studies, a trial that stalls at step two, an email reply that says "not now, ask me in Q3." It's the highest-signal data in the business and most teams throw it away because nobody wired the visitor identification layer.
Second-party is behavior on someone else's platform where you get a filtered view. G2 Buyer Intent is the canonical example — you learn that someone from Acme Corp compared your product against a competitor's on a specific date. Capterra offers similar. Communities (Slack groups, subreddits, LinkedIn comment threads) count too, though you're collecting them manually.
Third-party is aggregated web activity resolved to a company via IP or cookie graphs, then scored against topic taxonomies. Useful for deciding which 500 of your 5,000 target accounts to work this quarter. Almost useless for deciding who to email on Tuesday.
How Do You Identify Buyer Intent Signals That Actually Predict a Purchase?#
Here's the practical filter I use. A signal is worth acting on when it clears three bars: it's specific (tied to a decision, not general curiosity), recent (inside the decay window), and repeatable (you can detect it again next week without a manual scavenger hunt).
Run any candidate signal through those and the list shrinks fast. What survives:
- Repeat pricing page visits — the strongest single indicator in B2B SaaS. One visit is curiosity. Three visits in ten days from the same company is a budget conversation happening somewhere off-screen. Weight this higher than anything a third-party vendor sells you.
- Comparison and alternatives page traffic — someone reading "X vs Y" or "alternatives to X" has already accepted the category and is now picking a vendor. This is late-funnel behavior wearing early-funnel clothes.
- Job postings that name your category or your competitor's stack — a company hiring a "Marketing Ops Manager (HubSpot, Marketo)" is telling you their stack, their gaps, and their headcount budget in one free public document. Job boards are the most underused intent source in existence.
- Leadership changes in the buying role — a new VP of Sales has roughly 90 days of political capital and a mandate to change something. New-in-role signals convert at multiples of baseline because the incentive to buy is structural, not situational.
- Technology stack changes — a company that just added Segment, or dropped a competitor's tracking script, has an open project. You can detect this from public site scans, and it pairs well with a website tech stack check before you write the email.
- Funding rounds and expansion announcements — blunt, widely used, and therefore competitive. Still works, but assume 40 other vendors saw the same TechCrunch post. Differentiate on speed and specificity, not on the trigger itself.
What doesn't survive the filter: generic "topic surge" without a page-level detail, LinkedIn profile views (flattering, non-predictive), webinar registrations where the person never showed, and content downloads gated behind a form the prospect filled with asdf@asdf.com.
Which Signals Should You Weight Highest?#
Not all qualifying signals deserve the same response. Here's a scoring frame you can implement in a spreadsheet before you implement it in a platform.
| Signal | Tier | Decay window | Suggested weight | First action |
|---|---|---|---|---|
| 3+ pricing page visits, same account | First-party | 48 hours | 40 | Same-day personalized email to the likely owner |
| Competitor comparison page view | First-party | 72 hours | 30 | Displacement angle, reference a specific gap |
| G2 category + competitor compare | Second-party | 7 days | 25 | Multithread — 2 contacts, different angles |
| Job post naming your category | Public | 30 days | 20 | Email the hiring manager, not the recruiter |
| New VP/Director in buying role | Public | 90 days | 20 | Congratulations note, no pitch, week two follow-up |
| Funding round announced | Public | 45 days | 15 | Tie to a scaling problem, not the money |
| Third-party topic surge only | Third-party | 21 days | 5 | Add to nurture, do not call |
| Anonymous docs page visit | First-party | 14 days | 10 | Retarget, don't outbound yet |
The weights are a starting point, not gospel — recalibrate against your own closed-won data after one quarter. The important structural point is that a single first-party signal outranks a stack of third-party ones. If your scoring model doesn't reflect that, it's reflecting your vendor's incentives instead of yours.
How Do You Turn an Account-Level Signal Into a Person You Can Email?#
This is the step where most intent programs quietly fail. Your intent tool tells you Acme Corp is in-market. It does not tell you that Priya Raman runs RevOps there, that she started eight weeks ago, or how to reach her.
The resolution chain looks like this:
Signal fires → identify the account → map the buying committee → find contact details → verify before send → write the trigger-aware message.
Steps three through five are where tooling matters. Once you have the domain, a domain search returns the email patterns and known contacts at that company, filtered by department — so you can pull the four people in RevOps rather than the 200-person employee list. From there, an email finder resolves specific names you've identified on LinkedIn or in the job posting itself.
Then verify. This is non-negotiable when you're moving fast on a signal, because speed and bounce rates are natural enemies. An unverified list sent in a hurry is how a warmed-up domain becomes a cold one. Run the batch through an email verifier before it enters your sequence, and treat catch-all domains as a separate bucket rather than a coin flip — they need catch-all verification logic, not optimism.
For high-weight signals where email is saturated, add a phone path. A phone finder lookup on the two highest-value contacts costs less than the hour you'd spend guessing at extensions, and a call placed the same day a pricing page was viewed lands very differently than one placed cold.
If the signal source is a LinkedIn profile — a new-in-role announcement, a comment on a competitor's post — a LinkedIn finder closes the loop from profile URL to verified work email without the manual permutation guessing.
Practical note on volume: if you're processing signals in weekly batches rather than one at a time, push the whole list through a bulk email finder run and keep the enrichment inside your CRM via the HubSpot integration or Salesforce integration, so reps see the contact data attached to the account that triggered it. A signal that lands in a spreadsheet nobody opens is not a signal.
What Should You Do in the First 48 Hours After a Signal Fires?#
Speed is the entire edge. Research on lead response timing has been consistent for over a decade: contact rates collapse as the gap between behavior and outreach widens. Intent signals behave the same way, just with a slightly longer tail because the buyer isn't expecting your call.
A workable 48-hour playbook:
- Hour 0–2: Signal fires. Automated enrichment runs. The account is scored and routed. No human touches it yet.
- Hour 2–6: Rep reviews the account, confirms fit, and identifies two contacts — the likely user-champion and the likely economic buyer. Contacts get verified.
- Hour 6–24: First touch. Email to the champion referencing the category problem, not the specific page they visited. "Noticed you were on our pricing page" is legally fine and commercially terrible — it makes you sound like surveillance. "Most RevOps leads at 200-person companies hit a data-hygiene wall around Series B — is that landing for you?" says the same thing without the ick.
- Hour 24–48: Second channel. LinkedIn connection with a one-line note, or a call if the weight score cleared your threshold. Different message, same theme.
- Day 3–10: Standard sequence. If the signal was strong and there's no response, multithread to a third contact rather than emailing the first two again.
The reference-without-creeping rule deserves emphasis. There's a real line between "we saw you're researching this category" and "we watched you." Stay on the useful side of it — reference the problem, the timing, or the public trigger (funding, hire, job post), never the private browsing behavior. Public triggers you can name directly. Private ones you can only act on.
How Do You Build an Intent Stack Without Overspending?#
Sequence your spend to match signal quality. The order below costs almost nothing at step one and only escalates when the previous step is maxed out.
Stage 1 — Instrument what you already own (near-zero cost). Analytics on pricing, comparison, and docs pages. Alerting on repeat visits. Reverse-IP or visitor identification to attach a company name to anonymous sessions. Most teams can build this in a week and it out-predicts anything they'd buy.
Stage 2 — Add public trigger monitoring (low cost). Job board scrapes for your category keywords, funding alerts, LinkedIn role-change tracking on your target account list. This is mostly automation work, not licensing spend.
Stage 3 — Add contact resolution (usage-based). This is where Tomba pricing sits in the stack: a free tier at 25 searches/month to test the workflow, Starter at $49/mo, Growth at $99/mo, and Pro at $249/mo when volume ramps. You're paying to turn accounts into verified humans, which is the conversion step the rest of the stack depends on.
Stage 4 — Add second-party review-site intent (mid cost). G2 or Capterra buyer intent, once you have enough sales capacity to work the accounts it surfaces. Buying this before you can act on it is pure waste.
Stage 5 — Add third-party topic data (high cost). Only when you have a defined target account list large enough that prioritization is a real problem. If you have 300 target accounts, you don't need third-party intent — you need better reps.
For teams building on a purchased contact base, providers like BookYourData offer pay-as-you-go B2B lists that pair well with signal-driven prioritization — you're picking who to work from a known universe rather than discovering the universe. Both approaches are valid; the choice depends on whether your bottleneck is coverage or timing.
What Are the Most Common Mistakes When Reading Intent Data?#
Mistaking fit for intent. An account that matches your ICP perfectly and has done nothing is not in-market. It's a good future prospect. Scoring models that blend firmographics into an "intent score" hide this, and reps burn cycles on accounts that were never moving.
Acting on account-level data at person-level intensity. If your data says "Acme has surging interest in email verification," you know nothing about who at Acme cares. Emailing eight people at Acme with a message implying you know they're in-market is a good way to get flagged internally.
Ignoring decay. A 30-day-old surge score is archaeology. Every signal type needs an explicit expiry in your system, after which it stops routing to reps.
Over-personalizing the trigger. Naming the exact behavior is both creepy and, in a category where every vendor uses the same data, unoriginal. The prospect may get four emails referencing the same G2 comparison. Reference the underlying problem instead and you're the only one who sounds human.
Skipping verification because "it's urgent." Speed matters, but a 12% bounce rate on a fast-moving campaign will damage your sender reputation for weeks. Verification adds minutes, not hours.
Never closing the loop. If you don't tag closed-won deals with the originating signal type, you can't recalibrate weights. After two quarters you'll discover that one signal you deprioritized converts at triple the rate of the one you built the program around.
Frequently Asked Questions#
Is third-party intent data worth buying at all? Yes, but later than most teams buy it and for a narrower job — prioritizing a large target list, and powering ABM ad spend. It's a territory-planning tool, not a rep-alerting tool.
How many signals should trigger outreach? One high-weight signal (repeat pricing visits, competitor comparison) is enough. Two or more medium signals stacking within the same window is also enough. Single low-weight signals belong in nurture.
Can you detect intent without any paid tools? Partially. Job postings, funding news, LinkedIn role changes, and your own analytics are free. What you can't do for free at scale is resolve an account to a verified contact — that's the paid step, and it's usage-priced rather than seat-priced, which keeps it affordable while you test.
How do you measure whether an intent program works? Compare reply rate and opportunity rate on signal-triggered outreach versus your baseline cold list, segmented by signal type. If signal-triggered outreach isn't at least doubling reply rate, your signals are too weak or your response time is too slow.
Start Where the Signal Becomes a Person#
Intent detection is the easy half. Plenty of tools will tell you an account is warm. The half that determines whether any of it turns into pipeline is the resolution step — turning "Acme Corp is researching this" into "Priya Raman, RevOps lead, priya@acme.com, verified, called at 10:14am the day after the signal fired."
That's what the Tomba Email Finder is built for. Feed it a domain from a signal and get back the verified contacts at the roles that matter, filtered by department, with verification built into the same workflow. Start on the free tier at 25 searches a month, run it against your last 20 intent alerts, and see how many of them you could have actually reached. That number is usually the honest measure of your intent program.
Related guides#
// get started
Find, verify and enrich your first contacts today
Start on the free plan with 25 searches a month, then scale when your team is ready.
Free plan · No credit card required · GDPR & CCPA
Get the Tomba newsletter
Product and data updates
// about the author