# We Tried to Buy Our Way Out of the Signal Gap

*Published 2026-06-25* | Author: brad-webb

<blockquote><p><strong class="lede-label">tl;dr</strong> <span class="lede-lead">A sales lead goes cold in minutes.</span> We've known that for fifteen years, and we keep building go-to-market stacks that answer in days. I spent a year trying to close that gap with better tools, learned that better tools were never the thing missing, and changed my mind about what to do. This is the part I got wrong, the one number I wish we'd measured sooner, and where it led.</p></blockquote>

<hr>

<h2>The quarter we could see everything and act on nothing</h2>

<p>I'll start with the embarrassing part, because it's the useful part.</p>

<p>We'd instrumented our own funnel about as well as a team can. De-anonymized website traffic. Enrichment on the accounts that mattered. Product events streaming out of the app. An intent feed. A Slack channel where all of it landed in something close to real time. By any measure of detection, our stack was good. We could see intent that most teams never catch.</p>

<p>Pipeline didn't move in proportion to any of that. For a while I blamed the data: noisy, false positives, the scoring was off. Then I sat down and watched what actually happened to one good signal, start to finish, and stopped blaming the data.</p>

<h2>Watch one signal travel</h2>

<p>The signal fires at 10:02. A real one. An account we'd been courting opens the pricing page, comes back twice inside an hour, and a second person from the same company shows up behind them. The intent feed catches it. The Slack channel lights up. So far the system is working exactly as designed.</p>

<p>Then it waits. Someone notices the alert around 11:40, if they happen to be watching the channel. It gets an emoji. It comes up in the next morning's standup. Someone agrees to "own" it. By the time a credible, relevant message actually reaches that account, it's Thursday. The moment that produced the signal is three days gone. The person who looked at our pricing three times on Tuesday has moved on, gone quiet, or already talked to someone who answered first.</p>


ONE SIGNAL, THREE DAYS  (illustrative)

Tue 10:02   fired     freshness ~100%   the signal is worth the most it ever will be
Tue 11:41   seen      freshness ~80%    +1h 39m, if someone is watching the channel
Wed 09:15   triaged   freshness ~35%    +23h, it becomes a standup topic, not an action
Thu 14:30   sent      freshness ~10%    +3 days, the first human reply finally leaves

By the time a human replied, most of the value was already gone.


<p>Nobody in that chain did anything wrong. Each person was busy with work that was also real. The failure was structural, not personal. We'd built a system that was excellent at producing signals and quietly terrible at conducting them.</p>

<h2>Intent is perishable. We've known that for fifteen years.</h2>

<p>Here's what makes this worse than a normal operational miss: none of it is news.</p>


INTENT IS PERISHABLE
How often a buying signal becomes a real conversation, by how fast you answer.

5 min  -> answering in 5 minutes instead of 30 makes you ~21x more likely to
          qualify the lead (MIT Lead Response Management, 2007).
days   -> the average company takes 42 hours to reply, and nearly 1 in 4 never
          reply at all (HBR, 2011).

The curve between is illustrative; the two figures are from the cited studies.


<p>The MIT Lead Response Management study found that contacting a web lead within five minutes instead of thirty makes you about twenty-one times more likely to qualify it. Harvard Business Review's audit of more than two thousand companies found that responding within an hour made a firm roughly seven times more likely to qualify a lead than waiting just one hour longer, that the average company took forty-two hours to respond at all, and that almost a quarter never responded. Those studies are from 2007 and 2011.</p>

<p>So we've had fifteen years to absorb a simple fact: a buying signal isn't a durable statement about a company, it's a perishable statement about a moment. And most of us, myself included, went and built stacks that treat intent like a report to be reviewed on a cadence. The signal doesn't care about your standup schedule. It decays whether or not anyone is looking.</p>

<h2>The one number we never measured</h2>

<p>So we measured the thing the dashboards had never shown us.</p>

<p>Not how many signals we captured. Everyone can tell you that number, and it's the wrong one to be proud of. We measured the gap: the median time between a high-intent signal and a credible, relevant response, and the share of high-intent signals that got no response at all.</p>

<p>It's a cheap thing to instrument, and almost nobody runs it. Pick the definition of a high-intent signal your team already trusts. Log the timestamp when it fires. Log the timestamp when a real human action goes out the door because of it, an email a person would recognize as a response to them, not an automated drip that would've fired anyway. The median of that difference is your real time to action. The percentage of signals with no second timestamp at all is your leak.</p>


```ts
// the number almost nobody measures

const timeToAction = action.sentAt - signal.firedAt; // your real latency

const health = report(highIntentSignals, {
  median:         median(signals.map(timeToAction)),   // not "how many"
  noResponseRate: signals.filter(s => !s.action).length / signals.length,
});

// a "response" is a human action a person would recognize,
// not a drip that was going to send anyway.
```


<p>We ran it on ourselves and the number was worse than anyone on the team had guessed. It usually is. And the act of measuring it changed our behavior faster than any new data source ever had, because you can't argue with your own median. If you do one thing after reading this, measure that gap before you buy anything else. It'll tell you more about the health of your go-to-market than another intent feed ever will.</p>

<h2>You can't buy your way out of a handoff</h2>

<p>Here's where I spent real money being wrong.</p>

<p>My instinct, and I think the industry's instinct, was that a gap this size had to mean we were missing a tool. So we bought tools. Each one was good at its job. Each one added another way to see.</p>

<p>But seeing was never our problem. The gap lived in the spaces between the tools. Detection in one system, scoring in a second, the actual outreach in a third, and a person stitching the three together by hand while the moment expired. Buying another detection product doesn't close that gap. It adds one more place to look and one more handoff to drop. We'd bought ourselves better eyes, over and over, and wondered why nothing moved faster. Eyes weren't the constraint. Hands were.</p>


```text
TRACE  signal:acme.pricing_view_x3

10:02:11  detected   intent_feed                  +0s
10:02:13  scored     enrichment                   +2s
11:41:00  seen       #signals (if a human looks)   +1h 39m
wed 0915  triaged    standup: "who owns this?"     +23h
thu 1430  sent       sequencer                     +3d

x  handoff enrichment to human: no owner, no retry, no SLA
```


<p>At some point the arithmetic gets hard to ignore. You can keep buying better eyes, or you can build something with hands.</p>

<h2>So we built one</h2>

<p>So we built one. Not another dashboard, and not another feed. Something that watches the product, the site, and the systems of record together, scores intent against our own definition of a good account, and carries the moment into action inside a workflow that records every step, with a person setting the rules and keeping the final say where it matters. At Civic we build agents, so we built an agent for the job we couldn't buy our way out of.</p>

<p>We built it for ourselves first. We were the first team it ran for, which is the only honest way I know to ship something you intend to put in front of other people. It pulled our own time to action down from days to minutes, and it kept the receipts while it did it, so we could always answer why a given account got contacted on a given day. That last part turned out to matter as much as the speed.</p>

<p>It's no longer only for us, and it's close.</p>

<h2>What comes next</h2>

<p>I'm being deliberately light on it here, because next week I want to make the harder argument, the one I'm actually looking forward to writing: that the next dollar a growth team spends shouldn't buy another way to see. The category has spent years, and most of its budget, getting very good at watching. The edge has quietly moved to the teams that can act in the minute it still matters, and can stand behind what they did when someone asks later.</p>

<p>Everyone has signals now. The real question for the rest of this year is whether you can do anything with one before it goes cold. More on that, and more on what we've been building, next week.</p>

<hr>

<p><em>If you're working on the gap between intent and action on your own team, I'd be glad to compare notes. You can reach us through <a href="https://civic.com">civic.com</a>.</em></p>

<hr>

<h3>Sources and further reading</h3>

<ul>
<li><a href="https://www.leadresponsemanagement.org/lrm_study/" target="_blank">Lead Response Management Study (Dr. James Oldroyd, MIT, 2007)</a></li>
<li><a href="https://hbr.org/2011/03/the-short-life-of-online-sales-leads" target="_blank">The Short Life of Online Sales Leads, Harvard Business Review (Oldroyd, McElheran, Elkington, March 2011)</a></li>
</ul>

Source: https://www.civic.com/field-notes/buy-your-way-out-of-the-signal-gap
