10
17 Comments

I paid $149 for 1,000 B2B leads and got 0 customers. The fix wasn't my copy.

Last month I paid $149 for a list of 1,000 "qualified" B2B leads. What I actually got was 212 bounced emails, 14 replies, and exactly 0 paying customers.

I've been building AI tools for small businesses for a while now, and like every solo founder I eventually hit the wall where my product was fine but nobody knew it existed. So I did the thing we all do: I bought a list. The sales page promised "verified contacts, decision-makers only, refreshed monthly." The invoice cleared in seconds. The leads took 48 hours to arrive.

The first red flag was the email verification tool: over 20% came back undeliverable. The second red flag was obvious — the "decision makers" were mostly mid-level marketers. The third red flag was timing: half the list was 8+ months old. In B2B sales, an old lead is a dead lead.

So I ran the experiment properly. Same email sequence, same value prop, two different lead sources:

  • List A: the $149 purchased list — 214 deliverable, 14 replies, 0 qualified
  • List B: 150 leads I manually qualified from places where people actually talk about their problems (communities, public signal like new funding/hiring/job changes) — 96% deliverable, 17 replies, 4 booked calls, 1 paying customer in under 3 weeks

Same copy. Same follow-ups. Completely different outcomes.

Here's the uncomfortable lesson: for a solo founder with a tiny email budget, your lead source is worth more than any email template on the internet. I spent 2 weeks obsessing over subject lines, and the answer to my pipeline problem was never the copy. It was the data — freshness, accuracy, and fit.

Since then I've stopped wasting money on static lists altogether. I look for leads who showed active intent: someone who posted about their problem last Tuesday is 10x more valuable than someone whose job title matches an old database.

That's actually why I built clienthunter.ai — I got tired of every "AI lead gen" tool just dumping stale spreadsheets on me. I wanted to put prospects together based on what they're actively talking about, not what they looked like in 2025. It's not a silver bullet, but it's the first tool I've used where the lead quality actually survived contact with reality.

If you've ever bought a lead list, I'd love to know: what was your actual reply rate — and did using the leads ever outweigh the cost? I'm curious whether everyone went through this stage, or if I was just the last person on earth to learn that cold lists and math make you pay twice.

posted to Icon for group Saas Makers
Saas Makers
on August 16, 2026
  1. 1

    The "manually qualified" list outperforming the bought list is the constant across almost every market. The specific mechanism is what you said: you identified actual "trigger moments" — they had the problem and were actively looking.

    I ran into the same thing selling workshops to course creators. The bought/scraped list had "people who work in education" — useless. The manually found leads were "people who just asked on Reddit or IH how to start selling their knowledge online" — they're mid-problem.

    The difference isn't really list quality in the traditional sense. It's intent timing. A lead in the middle of experiencing a problem is in a completely different psychological state than someone who hypothetically might have that problem.

    What you described as "places where they were actively looking for solutions" is doing a lot of work there. For B2B specifically, that tends to be:

    • LinkedIn posts where they mentioned the problem you solve
    • Product reviews they left for competitors (they were looking, evaluated, weren't fully happy)
    • Recent hires in a role that signals the budget/problem exists

    The $149 list had none of that signal. Your manual list had all of it.

    The hard part of this lesson is that it doesn't scale as easily. But it does compound — every manually-found customer teaches you exactly what to look for next time.

  2. 1

    Only bought a list once, for affiliate/outreach contacts rather than cold leads, and one bounced hard enough that I haven't gone back to a data aggregator since. Same root problem as yours: the contact existed, technically, in the sense that a scraper had once seen that name next to that job title. Whether they still worked there, still cared about the problem, or had ever said anything indicating intent wasn't part of what I paid for.

    What's worked instead is slower and less scalable, but it's the same "intent over data" pattern you landed on — watching for people who are already publicly describing the specific problem (a forum post, a review complaint, a "does anyone know a tool for X" question) and only reaching out off the back of that. Reply rate is much higher, but the volume is genuinely tiny compared to what a list promises, which is the actual trade-off nobody puts in the sales copy: intent-based outreach doesn't scale the way a spreadsheet full of names implies it will.

    Curious how you're sourcing the "active intent" signal at scale now — is it mostly manual searching, or did clienthunter end up automating the same kind of watching you were doing by hand before you built it?

  3. 1

    6% reply rate - and the bounces surprised me more than the replies did.

    I never bought a list. I scrape the support address each Shopify app publishes on its own App Store listing, so the source is the company itself. You'd think that makes bounces impossible. First 50 sends: 3 replies (one from a CEO) and 3 bounces. Same 6% in both directions.

    What I found when I dug into it: every one of those bounced domains resolves fine and has valid MX records. The mailbox behind support@ is simply dead - abandoned product, nobody has read that inbox in a year. No DNS-level check catches that. Self-collected data has a decay problem too - it's just quieter than a purchased list's.

    The part that matches your experience exactly: the replies had nothing to do with the copy. Every email carries one specific true thing about that company pulled from my own crawl - where they rank, who overtook them, which searches they're invisible for. The CEO who replied didn't say "nice email" - they asked for the rest of the report. That isn't a subject-line win. Same conclusion you reached, arrived at from the other direction.

  4. 1

    This resonates. I'm running a $1 consumer product (pet photo → styled phone wallpapers) and the honest lesson so far is that purchased lists/leads are noise for anything low-consideration — the buyer has to already be smiling at the thing before the price even matters. What actually moved the needle for us was being present where the emotional context already exists (pet communities), even though it's slower. Curious whether the fix you landed on was targeting, or was it giving up on outbound entirely for that price point?

  5. 1

    Bought lists have always failed for me too, and I think the reason is that nobody on them has the problem today. What worked better was going where people already talk about the problem and answering the actual question before mentioning anything I made. I build GearDex, a gear inventory tool for photographers, and every signup so far came from a thread where someone had just had a camera stolen or was trying to file an insurance claim. Slow, but the intent is already there, and the cost is time instead of $149.

  6. 1

    This matches what I am seeing from the other direction this week. I launched a dev tool a few days ago and the broadcast channels (launch platforms, directories) have produced close to nothing, while the only real conversations came from places where people were already describing the exact problem in their own words. The active-intent point is the whole game: a static list tells you who someone was when the list was compiled, a post from last Tuesday tells you what they are trying to fix right now. One question: when you count your own hours, did manually qualifying those 150 actually come out cheaper per booked call than the list did?

  7. 1

    The part that stands out to me is that List B had roughly the same reply count on a third of the volume, but the replies converted completely differently. Same copy, so it wasn't a messaging problem at all: 14 replies from A were probably "who is this," and 17 from B were "yes, this is my Tuesday problem." Reply rate is a vanity metric if you don't segment it by intent.

    One thing I'd push back on gently: 150 manually qualified leads took you real hours, so List B wasn't free either. It'd be interesting to price it honestly. If it took 6 hours to build, that's your hourly rate against $149, and B still wins because it produced revenue while A produced zero. But that framing matters when someone tries to scale the manual approach and hits a wall at 500 leads.

    Did you track how long the intent signal stayed warm? Curious whether someone who posted about a problem last Tuesday is still receptive three weeks later, or if there's a sharp decay window you're now targeting deliberately.

  8. 1

    Your own numbers are sharper than your conclusion. Reply rate only moved from roughly 6% to 11%, but qualified outcomes went from zero to four calls and a customer, which says the copy was never the bottleneck and neither, really, was deliverability. The number worth tracking is replies-to-qualified rather than reply rate, because a bought list will happily produce healthy-looking reply rates from people who were never going to buy.

  9. 1

    Disclosure: I sell lead lists (LeadGrid), so read this as a competitor's view of that $149.

    On the 20% bounce - the reading above is that "verified" went stale. Staleness alone doesn't get you to one in five on the first send; good addresses die off at a few percent a month. A fifth failing on arrival means most of them were generated rather than observed: first.last@company, built out of a name and a domain and never checked against anything.

    The "decision-makers only" claim is the other half of it. For small local businesses that isn't a quality problem, it's a set problem - the owner of a plumbing firm was never in a person-database to begin with, because he isn't on LinkedIn. What you get instead is the marketing manager at a company big enough to have one. That's why the titles felt off.

    Mine reads each business's own site and takes the address it publishes there. Not clever, but nothing is guessed.

  10. 1

    The List A vs List B comparison is the useful part of this, and I'd push it one level further.
    150 hand-qualified people is a real result, but it also cost you real hours. That's the part that doesn't scale when you're one person: you can't redo that every week and still ship the product.
    The direction I'd go instead is one level up from the lead. Rather than the 150 people, find the handful who already own those 150 — the newsletter they read, the community they sit in, the person whose posts they share. One conversation with a maintainer or an author puts you in front of the whole room instead of one inbox at a time. Harder to land, much cheaper per person reached, and you borrow their credibility instead of starting cold.
    Also worth naming what your 20% bounce rate actually proves: "verified" on a purchased list means verified at some point. A contact is only real at the moment you send. Anyone promising otherwise is selling you a snapshot and calling it a feed.

    1. 1

      In general, I have a solution to your problem.

  11. 1

    Reply rate is the wrong layer to judge a list — the real signal is the gap between replies and booked calls (14→0 vs 17→4), and that's where source quality shows up. I stopped judging campaigns by replies and started tracking reply→call→paid per source, and bought lists stopped looking like a bargain. Freshness and fit beat volume, exactly as you found.

  12. 1

    Never bought a list — I built the source instead, and your post names exactly why.

    I run a crawler over a marketplace my customers sell on, so the "list" is a byproduct: every live listing, its category, its rank, and the support email it publishes. Freshness is free because the crawl runs daily. Fit is free because the app being listed IS the qualifying signal.

    Real numbers from the first ~2 weeks, since you asked: 50 delivered, 3 bounces, 3 replies. One of those replies was a CEO who wrote back the same day asking for specific data about his own product. Small sample, but the reply rate is roughly what you got from your hand-qualified List B, at zero marginal cost per lead.

    Two things I did not expect, both of which map onto your "decision-makers only" complaint:

    1. About 14% of the published contact addresses turned out to be helpdesk queues (, not humans. They auto-acknowledge, which looks like engagement in any email tool's dashboard and is actually a ticket filed against you. I now detect and flag them, and they get excluded from follow-ups — mailing a ticket queue twice is how you become spam to an agent who never asked.

    2. Format mattered more than copy for deliverability. Styled HTML with a click-CTA landed in Promotions every time. The same message as plain text with no links, asking for a reply, landed in Primary. That single change did more than any subject line I tested.

    The deeper point I'd add to yours: a bought list is someone else's snapshot. If your product sits on top of a data source your customers already live in, the lead list is a side effect of the product working — and it can never go stale, because it is regenerated every night.

  13. 1

    This really resonates. I think the “active intent” point is the biggest takeaway here.

    I’m currently trying to find my first customers organically, and I’ve noticed the same thing: someone actively talking about a problem in a community seems far more valuable than a huge list of people who technically fit an ICP.

    The hard part is finding those conversations consistently without spending hours searching through communities.

    Curious — how are you currently finding and filtering those high-intent conversations for ClientHunter? Is it mostly manual research, or is the product doing the discovery/qualification automatically?

  14. 1

    This really resonates, even at a much smaller scale. I'm not buying leads (no budget for that), but I've hit a version of the same wall trying to find my first beta testers organically — posting in general communities where nobody's actively looking for what I built, instead of finding people who already showed intent (posted about the exact problem, asked for recommendations, etc). Your "active intent" framing makes me realize I've basically been running the free version of a stale list. Question: before you built a tool for it, how did you manually spot that active-intent signal — searching specific keywords, or something else?

  15. 1

    The comparison is more useful than the usual “personalize your outreach” advice. The interesting variable seems to be buying intent, not just lead quality. Curious how you’re distinguishing active intent from someone simply talking about a problem.

  16. 1

    The strongest metric here may be cost per booked call with research time included. The manually qualified group clearly won on quality, but it also received extra selection effort, so reporting minutes per lead (and perhaps matching both groups to the same sample size) would make the comparison much more actionable. Roughly how long did it take to qualify those 150 leads?

Trending on Indie Hackers
I built a launch coach after my own product launch got 11 upvotes and 3 signups User Avatar 82 comments Most directories forget you exist after you list. We're trying something different. User Avatar 31 comments Solo → Pre-Seed: The Tool Stack Decision That Will Either Save or Sink Your First 18 Months User Avatar 26 comments Built TermsGuard to explain contracts in plain English — looking for feedback User Avatar 25 comments Update: clawed back from ~3-4K to ~8-9K daily clicks after the May Google core update — here's what actually worked User Avatar 22 comments I told a founder to get listed on the review sites. Her report showed AI was citing her competitors' homepages. User Avatar 15 comments