GTM Signals — a working framework
The hard part isn’t collecting signals — it’s acting on them: which ones matter most, who to work first, and what to do when they fire. That’s what this framework is for.
You’re sorting them wrong
Classify signals by where the buyer is.
Most teams sort signals by where the data came from — first-party (your site and product), second-party (partners, review sites), third-party (intent, funding, hiring feeds) — none of which tells a rep what to do.
Sort by where the buyer is on their journey instead, and one read sets the priority and picks the play.
The journey
The six stages are one buyer warming up. Quiet is a company that fits but is doing nothing — the resting state, not a signal. Pre-intent is the first flicker: a funding round or a new RevOps hire lets you guess a need is forming before anyone’s lifted a finger. From there a person has to actually act — feeling the pain, researching the category, comparing you against rivals, running diligence. Below pre-intent you’re inferring; above it, someone’s shown you.
Buyers don’t climb in a straight line — they stall, jump ahead, and slip back. So a stage is just a snapshot of where someone is today, not a permanent label — expect it to change as they move.
Each stage with an example signal, whether it’s a situation you infer or a behavior someone performed, and the score it carries.
| Stage | What it means | Example signal | Evidence | Score |
|---|---|---|---|---|
| Quiet | Resting state — no live signal. ~95% of the market. | the absence of a signal, not a signal | none | — |
| Pre-intent | The company’s situation changed; conditions may be forming. | funding round · RevOps job posting · champion moved · tech-stack change | situation — you infer | 1 |
| The line that matters — above: situation (a company fact you infer from) · below: behavior (a person actually acted) | ||||
| Problem-aware | Behavior shows they feel the pain. | engaging with problem-space content, not shopping yet | behavior | 1 |
| Solution-exploring | Behavior shows they’re researching the category. | downloaded a category guide | behavior | 2 |
| Evaluating | Behavior shows they’re comparing vendors, including you. | visited your pricing page | behavior | 2 |
| Deciding | Behavior shows diligence or close. | asked for your SOC 2 docs | behavior | 3 |
Score by stage: 1 early · 2 middle · 3 late — dock a point if the signal is ambiguous.
Why this matters to a revenue leader
Most of your buyers aren’t in the market right now — call it 95%, give or take by category; it’s a rule of thumb, not a law. Your competitors’ tooling — and probably yours — points almost entirely at the thin slice already showing behavior, where everyone crowds the same accounts at the same moment.
Quiet and Pre-intent are the other 95% — where the tooling is weakest and the competition thinnest. Pre-intent signals let you show up first and frame the evaluation before there’s a bake-off to lose. You can’t score your way into a quiet account. You can be the one already in the room when its situation changes.
How it works
It’s simpler than it looks. Classify each signal once, by its stage — that one label sets the score and picks the play. The score says whether to act; the stage says what to do.
Start small — ones you can already detect.
And where the next move fits in a single sentence.
Early = 1, middle = 2, late = 3.
Pre-intent and problem-aware = 1; solution-exploring and evaluating = 2; deciding = 3. If a signal could easily mean something other than buying — that pricing visit might be a competitor or a job seeker — knock it down a point. Stuck between two scores? Take the lower one and move on.
Did it happen on your properties, or out in the world?
Set it once per signal type: on your surface (your site, product, a demo request) versus off (G2, a funding round, a hire). It doesn’t change the score — just the outreach. On-surface signals earn a warmer, more personal touch; off-surface ones a colder, more careful opener.
Start everything at 30 days; adjust as you learn.
Shorten the fast ones (a pricing visit is cold in a week), lengthen the slow ones (a funding round has a one-to-two-quarter fuse). When a signal expires it stops counting toward the score — but the record stays. Adjusting after the fact is expected.
The total is the account’s intent level — high, medium, or low.
Name the levels by intent rather than by action — it keeps what you measure separate from how you respond.
Use the account’s furthest stage — how far along, not most recent.
Early gets education, evaluating gets comparison content, deciding gets a human reaching out today. Late-stage signals can jump the queue no matter what the score says.
The score is today’s snapshot; the log is the memory.
It’s what lets a rep see “went quiet after asking for security docs,” and what lets you check later which signals actually ran ahead of wins.
Expiry is all-or-nothing. A signal counts at full value until it expires, then drops straight to zero — so an account sitting right at a band threshold can flip in and out day to day. Gradual decay would smooth it, but that’s a later refinement, not worth the complexity at low volume.
The furthest stage can over-state things. A pricing-page visitor often isn’t really evaluating yet — but sending comparison content to someone merely curious is a cheaper mistake than missing a real evaluator. A confidence score would sharpen this later.
Getting started
You don’t need scoring to start. One signal with a play beats five signals, a scoring model, and nobody to run them.
Each one adds value. Each one adds complexity. Deferred on purpose.
Coverage audit
Map your own tools onto these rows. If they cluster in one or two, whole stages of the journey are invisible to you — and you won’t realize it, because signal tools quietly cluster by stage. (A guide, not a rule: the same signal can land elsewhere depending on context.)
| Source | Pre-intent | Problem-aware | Solution-exploring | Evaluating | Deciding | Volume | Precision |
|---|---|---|---|---|---|---|---|
| Third-party (hiring, funding, tech, job changes) | ● | ○ | — | — | — | High | Low |
| Community & social | ○ | ● | ● | ○ | — | Medium | Medium |
| Website visitors | — | ○ | ● | ● | ○ | Medium | Medium |
| Product usage (PLG) | — | — | ○ | ● | ● | High | High |
| Calls & meetings | — | — | — | ● | ● | Low | Very high |
● primary · ○ partial · — none
Reference · worked examples
Signal set: hiring a RevOps leader (pre-intent, 1) · past champion joined (pre-intent, 1) · pricing page visit (evaluating, 2) · demo attended (evaluating, 2) · security docs requested (deciding, 3). The later stage always sets the play.
Evaluating-stage nurture — comparison content. The later stage wins, so skip the pain-awareness material; and since the pricing visit is on-surface, warm the channel up.
Warm personal outreach — founder or AE reaches out personally and leans on the old relationship. No cold sequence.
Champion-moved is pre-intent, so it scores 5, not 6 — a stacking bonus would bump it later.
Human touch, same day — send the docs, offer a procurement call. The deciding-stage signal trumps the band.
No play — they dropped out on their own when the signals expired. The history stays: evaluating back in March, handy context the moment something new fires.
Evaluating nurture — use the multi-person activity as your angle: “your team has been evaluating.”
Stacking bonuses would lift this one.
No queue entry — passive category education, not comparison content; they’re still researching the category, not weighing vendors.
A three-stage model would send the wrong thing.
Bands are illustrative — yours come from calibrating against capacity: 0–2 low · 3–5 medium · 6+ high.
The library
You’ve got the framework. The library is where it pays off — a working catalog with every signal placed on the journey and paired with the play to run. Open it instead of starting from a blank page.