Brand Logo

I Blew $40K on Cold Outreach Before I Understood What a Real Buying Intent Signal Looks Like

2026-09-18 · Victor Okeke

November 2023, 4:47 PM on a Thursday

I hit send on a 5,000-contact cold email sequence that took my team three weeks to build. Full enrichment. Clean formatting. Every field mapped. The okki-go integration was green in the dashboard (I'd updated the npm package that Tuesday—npm install okkigo@latest, cleared node_modules, redid the config file—worked like a charm).

By Monday morning, our reply rate sat at 0.4%.

Benchmark for B2B outbound in our segment was somewhere between 3% and 5%. My VP asked one question: "What signal did we buy these leads on?"

I didn't have a good answer. That silence is what started the most expensive lesson of my RevOps career—and the reason I now maintain a checklist that has saved us from repeating it 47 times since.

Context: I Thought I Already Knew Intent Data

I've been running revenue operations since 2019. Before that, six years as an SDR and then SDR manager across two B2B SaaS companies. I'd bought intent data from three vendors, built four enrichment pipelines, and personally written the SQL that pulled everything together.

So when my director asked me to rebuild our outbound motion in Q4 2023, I thought I had this one.

Here's what I put together:

  • 5,000 contacts from a Sales Navigator export (filtered by title, headcount, and recent LinkedIn activity)
  • Waterfall enrichment across three providers
  • A "buying intent signal" filter—LinkedIn post engagement in the last 30 days
  • Everything wired through our stack, with the okki-go npm package handling the API handshake

That last bullet should have been the tell. The integration worked. Technically, everything worked. Practically, none of it worked.

The Signal That Wasn't

Here's what I thought a buying intent signal was: any signal suggesting someone might be in-market.

Here's what it actually is: a verified, time-bound indicator that a person or account is actively researching or evaluating a solution like yours.

That gap cost us roughly $40,000 in Q4 2023—between licensing, SDR time, and the pipeline we didn't have going into Q1.

What I actually bought was LinkedIn engagement. Someone liked a post about sales enablement. Someone commented on a think-piece about SDR efficiency. Someone viewed a webinar replay page LinkedIn tracked. That's what I labeled "intent."

Look, I'm not saying engagement data is useless. I'm saying it's not buying intent. A like is curiosity. Curiosity is not a budget.

When the Numbers Said Keep Going and My Gut Said Stop

The numbers said our reply rate was low but pipeline was technically positive. Eight opportunities across 5,000 contacts. That's 0.16%. Not zero. On paper, the campaign was "working, just underperforming."

My gut said we were spamming inboxes and burning domain reputation for nothing.

I wanted to shut it down. My director wanted to double the list and try again. We compromised: I ran a small parallel test—200 accounts against two data sources.

  • Group A: same LinkedIn engagement filter.
  • Group B: accounts with what I now call a real buying intent signal—an open SDR req, a recent integration review naming a competitor, a contract renewal window inside the next 21 days, all individually verified.

Group B replied at 4.2%. Group A replied at 0.3%.

When I put them side by side—same ICP, same messaging, same sender reputation—I finally understood why the definition of the signal matters more than the volume of the list. Same effort. Fourteen times the reply rate. The only variable was the signal.

What I Got Wrong About Enrichment

Waterfall enrichment doesn't fix bad signals. It just makes them more complete.

I spent three weeks enriching 5,000 contacts with title, headcount, tech stack, funding stage—all accurate, all verified, all useless for the question we actually needed to answer: is this account buying right now?

Here's the thing: enrichment answers who is this? Intent answers why now? You can have perfect enrichment and zero intent, and your reply rate will still sit at 0.3%.

What Revenue Operations Teams Should Actually Evaluate in Cold Outreach

If I could redo Q4 2023, these are the five checks I'd run before any campaign goes out—and what I now audit weekly (I really should formalize this into a doc for the team, honestly):

  1. Signal recency and verification. Is the signal dated within the last 30 days, and can the source be traced and re-checked? A "signal" from Q2 doesn't help you in Q4.
  2. Signal type matched to your sales motion. Transactional intent (an RFP posted, a contract expiring) works for transactional sales. Research intent (a webinar attended, a whitepaper downloaded) works for longer cycles. Don't mix them in the same sequence.
  3. Enrichment accuracy, not coverage. A waterfall that hits 95% coverage with 70% accuracy is worse than one that hits 70% coverage with 95% accuracy. Track them separately, always.
  4. Cost per opportunity, not cost per lead. My $0.15 leads in Q4 2023 cost us roughly $5,000 per qualified opportunity. The $2.50 intent-verified contacts I buy now cost us roughly $600 per opportunity.
  5. Sender reputation impact. Low reply rates hurt deliverability. High bounce rates hurt more. We now check domain reputation every Monday morning (mental note: add this to the weekly RevOps standup deck).

FTC guidelines on business advertising and claims are pretty explicit—any claim we make in outbound needs to be truthful, substantiated, and not misleading. That applies to how we describe our product and how confidently we describe the recipient's situation. "I noticed you're evaluating X"—if we didn't actually verify that, we're on thin ice, both reputationally and legally.

The Reframe That Changed Our Whole Motion

It took me eighteen months and roughly $180,000 in outbound spend to understand that cold outreach isn't a volume game. It's a signal game. Volume is what you do after you have the signal, not instead of finding it.

Somebody smarter than me probably said that in 2018. I didn't hear it because I was busy optimizing the wrong metric.

One Thing I'd Do Differently

If I could redo November 2023, I'd spend the three weeks on signal verification instead of list building. Smaller list. Higher intent bar. Fewer emails sent, far better targeting.

But given what I knew then—strong enrichment pipeline, working integrations, everything green in the dashboard—the decision was reasonable. That's the trap. Every mistake I've made in RevOps was reasonable at the time I made it.

Looking back, I should have asked: "What's the freshest verifiable signal in this list?" Not "How many contacts can we reach by Friday?"

Small shift. Big difference.

A Caveat Before You Run With This

My experience is based on mid-market B2B SaaS—roughly $10M to $100M ARR—across about 40 outbound campaigns since 2019. If you're selling enterprise, your intent windows are longer and involve more stakeholders. If you're SMB, the window may be 7 days, not 30. Your mileage will vary.

Also, this was accurate as of early 2026. The intent data landscape moves fast—new sources, new verification methods, new vendors every quarter. Verify current coverage and pricing before you budget anything.

If you want a starting point: pick one buying intent signal you can actually verify, run it against 200 accounts, and measure reply rate against a control group. That single test taught me more in two weeks than three years of vendor demos.