The demand detection funnel
How mid-market B2B teams book more meetings — with buying signals instead of cold calling. The 5-stage model, the timing rules, and a build guide for your own stack.
Your target accounts are already buying — just not from you
Classic outbound treats every account the same: same list, same sequence, same pitch. Every sales team knows the result — reply rates under two per cent, burned domains, frustrated SDRs.
The mistake rarely lies in the execution. It lies in the model behind it: demand generation tries to create demand — expensive, slow, with high waste. Demand detection inverts that: it finds demand that already exists and approaches exactly the accounts where a trigger is present right now.
The difference between a one and an eight per cent reply rate is rarely the subject line. It is the timing and the signal.

What buying signals are — and the freshness rule
A buying signal is an observable event indicating active need before the account enquires itself. Four categories deliver the most reliable triggers:
- Hiring signals. A company hiring SDRs or a head of sales is investing in go-to-market right now. The perfect window.
- Digital signals. Website visits from target accounts, LinkedIn engagement, content downloads.
- Structural signals. Funding rounds, new leadership, expansion into new markets.
- CRM signals. Lookalikes to customers you have already won — anyone resembling your best existing customer very likely has the same problem.
The freshness rule: a signal is hot for three to seven days. After roughly four weeks it is cold — outreach that arrives late reads as researched rather than relevant, and often does more damage than no outreach at all.
The funnel: five stages, one metric
The demand detection funnel does not measure leads but meetings per 100 target accounts. Five stages, with a learning loop back into qualification:

- Detect — signals identify accounts automatically.
- Warm — one to two weeks of visibility before first contact: LinkedIn retargeting, founder content, document ads. Aim for three to five touchpoints before the first email goes out.
- Open — a personalised sequence that references the signal.
- Convert — reply handling, nurture, meeting booking.
- Learn — which signals and messages led to meetings? Back into qualification.
The decisive point: marketing and sales work from the same account list with the same metric. No MQL/SQL handoff, no handover losses.
Timing: the three levels

Level 1 — when to start (the biggest lever): signal-driven rather than in batches. Website visit → first email within 24 to 48 hours. Fresh hiring signal → start within a week.
Level 2 — spacing of the sequence: day 1 → 4 → 9 → 16 → 25. Increasing intervals, maximum five touches, each step with a new substantive angle instead of “just following up”.
Level 3 — channel offset: LinkedIn connect without a pitch two days before the first email. Face before pitch. Email leads, LinkedIn flanks.
Stop rules: reply → pause all channels immediately. No reply → 60 to 90 days cooldown, re-entry only with a new signal.
Air cover: ads as an amplifier, not as lead gen
Paid ads have exactly one job here: awareness among precisely the accounts already in the pipeline — not cold acquisition through forms.

- LinkedIn: company lists from your own pipeline, thought-leader ads from the founder profile. For small, sharp lists, 20 to 30 euros a day is enough.
- Meta: an inexpensive frequency layer from the same custom audiences.
- The coupling: pipeline status drives the audience. Contacted → awareness. Replied → case studies. Meeting → pause. Synced automatically, never by hand.
The effect is not a direct lead. It is the account that opens the email differently because it has seen the name three times already. One or two percentage points more reply rate is what decides between profitable and ruinous in outbound.
Build guide: the funnel in six steps
CRM-agnostic, without a new platform:
- Connect signal sources. Three are enough to start: website de-anonymisation, a hiring/news feed, and LinkedIn engagement on your own founder posts. Every source writes into one account table.
- Build the account list as the single source. One row per account, columns: signal type, signal date, freshness status, pipeline status.
- Automate the freshness rule. Signal date + 7 days = hot, + 28 days = cold. Cold signals drop out automatically.
- Couple the sequence to the signal type. One template per signal type with a matching opener. The signal goes in line 1, not the product.
- Attach the ads audience to pipeline status. Daily export by pipeline status into the ad platforms. Sync instead of manual upkeep.
- Write feedback back. Every meeting gets two fields returned: which signal, which message. After 30 days you can see which signal types produce meetings — and which are just noise.
Minimal setup: website de-anon + table + one signal-coupled sequence. That beats any generic batch blast — before you even add ads.
Prompts: the two that carry the funnel
Two reusable prompts handle the two decisions that come up most often in the funnel: does the account fit right now, and what is the first line. Both are deliberately generic. Copy them, fill in your ICP and your offer, done.
1. Account qualification by signal

Takes ICP, account and signal, returns a clean “now / wait / discard” with a reason. No invented context, only the input counts.
You are an SDR qualifier. Decide whether this account is approached NOW.
INPUT
- ICP: <your ICP in 1-2 sentences>
- Account: <company, industry, size, region>
- Signal: <observed event> + <date>
RULES
1. Check ICP fit (industry / size / region).
2. Freshness: <7 days hot, <28 warm, otherwise cold.
3. No invented context. Only the input counts.
OUTPUT (JSON)
{ "fit": "high|medium|low",
"freshness": "hot|warm|cold",
"action": "now|wait|discard",
"reason": "1 sentence" }
2. Signal opener

Forces the first line to reference the trigger rather than the product. That is exactly the difference between “researched” and “relevant”.
Write the first outbound line. The signal goes in line 1, not the product.
INPUT
- Recipient: <role, company>
- Signal: <concrete trigger, e.g. hiring 3 SDRs since last week>
- Offer in 1 sentence: <what you solve>
RULES
- Line 1 references ONLY the signal, concretely and briefly.
- No pitch before the trigger. Max 2 sentences total.
- No filler ("hope you're doing well").
OUTPUT
One first line (max 20 words) plus optionally a second sentence connecting it to the need.
How to generate pipeline with this (in the GTM stack)
Pipeline emerges when the funnel runs, not when it sits on a slide. In practice you fill several roles in the GTM stack that have to work together. It is not about a single tool but about filling each role once:
- Signal & data — website de-anonymisation, hiring/news feeds or intent providers report accounts with a trigger.
- Enrichment — an enrichment service completes contacts and company data.
- Orchestration & decision — the funnel logic converges here: score against the ICP, plan the sequence, manage approvals, feed results back.
- Sending — your email tool and your LinkedIn tool deliver the sequence.
- CRM — won contacts and status land where your sales team already works.
What matters is not the brand choice per role but that one layer connects the roles into one process with one metric, instead of operating several tools individually. A category-agnostic orchestration layer such as GTM Goat can take on the detect-to-learn logic and address the remaining roles by category: you connect your sender, your LinkedIn tool, your enrichment and your CRM rather than replacing them. That keeps the stack freely chosen while the funnel stays one.

Concretely, operating such a layer looks like this: you describe the goal, the system coordinates the tools, you approve. In GTM Goat, for instance, through these sentences — ready to copy:
"Show me accounts with a fresh buying signal from this week."
"Start signal-based outreach for accounts with ICP fit above 70, email plus LinkedIn."
"Why was this account suggested?"
"Which signals led to meetings most recently?"
No rip-and-replace needed: a good orchestration layer works CRM-agnostically with the stack you already have. The quickstart shows how this is set up in GTM Goat in five steps.
Self-check
Check honestly how many statements are true today: we know which target accounts are currently hiring. We can see which ones visit our website. Our sequences start event-based. Marketing and sales work from one list. We measure meetings per account. Our ad audiences update automatically.
At zero to two hits you are generating demand instead of finding it — the most expensive model. At three to four the foundation is there but the loop is still open. At five to six you are already working like a GTM intelligence system.
CegTec builds exactly this loop as a system — detect signals, warm accounts, time sequences intelligently, feed results back. CRM-agnostic, without migration.
Start a free trial · 4 weeks free, no credit card. Prefer to see it running first? Book a demo.