All posts

Blueprint: check your lead list before you pay to enrich it

Most lead pipelines buy data on every row and then throw most of it away. Reverse the order and the bill drops. The full chain, the checks a machine can do for free, and where ours broke.

Blueprint
  1. Source
  2. Screen
  3. Enrich
  4. Judge
  5. CRM

A blueprint is the shape of a system: what the pieces are, how data moves between them, where it breaks, and what it costs to keep running. This one is a lead screening pipeline: the thing that sits between “a list of companies” and “a name a human should actually contact.”

We run a version of this for our own outbound. The design principle is one sentence: spend nothing on a company until it has survived the checks that are free.

The mistake this is built against

The default pipeline looks like this: pull a list, enrich every row with everything available, then filter down to the ones worth contacting. It is the order every tool’s onboarding suggests, because every tool sells enrichment.

Run the numbers on a list of 2,000 companies. Full enrichment on all of them (firmographics, technology, funding, contact discovery, email verification) costs real money per row and produces a table where 1,700 rows were never going to qualify. You paid to learn what a filter would have told you for nothing.

Reverse it. Most disqualification criteria are cheap or free: country, headcount band, founding year, legal form, industry code, whether the company has raised venture capital. Apply those first, on data you already have or can get for a fraction of a cent. Then enrich the survivors properly, because now you can afford to.

Our own ICP is narrow on purpose: German-speaking mid-market, roughly 10 to 80 employees, founded before 2024, no venture funding. Three of those four are machine-checkable from a basic record. That is what makes screen-first possible.

The number this chain is built against

Data goes stale on its own, and faster than the screening rules that read it. Published B2B contact decay rates start around 22 % a year at the conservative end and run past 30 % in Dun & Bradstreet’s figures.

Gartner puts the average cost of poor data quality at $12.9 million per organisation per year.

Gartner, on the cost of data nobody checked

Together those two numbers are the argument for screening as a running process rather than a list-buying exercise: a list is accurate on the day it is bought and measurably wrong within a year, without anyone doing anything careless. The same reasoning drives continuous CRM hygiene rather than quarterly clean-ups.

The architecture

Five stages. Each one either drops a row or hands a smaller set to the next.

1. Source. A list arrives: an export, a scraped segment, a conference attendee list, an inbound form. Normalise it to one shape immediately: company name, domain, country, whatever else came along. Everything downstream assumes that shape, and the alternative is a pipeline that breaks every time the source changes.

The domain is the join key. A row without one is not a lead, it is a string. Resolve it or drop it.

2. Screen. The cheap gate. Hard rules only, each one a plain boolean:

  • Country in the target set
  • Headcount inside the band
  • Founded before the cutoff
  • No venture funding on record
  • Not an existing customer, open deal, or competitor
  • Not already screened in the last 90 days

That last two are the ones people forget and they are the ones that cause damage. A pipeline that re-surfaces an open opportunity as a cold lead will eventually put a sequence in front of a customer. Check the CRM at the start, not at the end.

Rows that fail get written to a suppression table with the reason. Never silently discarded, you want to be able to answer “why wasn’t this company in the list” six weeks later.

3. Enrich. Now, and only now, spend money. This is where Clay earns its place: waterfall enrichment across providers so you pay for the second source only when the first misses. Company detail, the roles you care about, contact data, verification.

Enrich in the order of what disqualifies fastest. If no contact in the target role can be found, nothing else about the company matters, check that before you buy the technology profile.

4. Judge. The soft criteria, the ones a boolean cannot express: does this company plausibly have the problem we solve, and is there a reason to reach out now.

This is the LLM step, and it is the one most often built wrong. Three rules make it work.

Write the ICP down as a document, not as a prompt. A paragraph a salesperson would recognise, with examples of companies that fit and companies that look like they fit but do not. The near-misses teach more than the hits.

Force a structured verdict. Fit score, a one-line reason, and the specific evidence it used. If it cannot cite evidence, the score is a vibe and should be treated as one.

Cap the influence. The judge orders the list; it does not decide whether a human ever sees a company. A hard rule can disqualify. A model score only ranks.

5. CRM. Survivors land in HubSpot with the fit score, the reason, the evidence and the source list. Everything else stays in the pipeline’s own store.

The handover is where the discipline shows. If the CRM fills with half-qualified records the pipeline “thought were interesting,” the sales team stops trusting it within a month and the whole system is dead. Write only what passed. A small clean list beats a large hopeful one, every time.

What breaks

Duplicates, immediately. The same company arrives from three sources with three domain variants, with and without www, a country domain and a .com, a holding company and its operating entity. Normalise the domain to a canonical form before anything else and deduplicate on it. This is the single biggest source of embarrassment, because the visible failure is one prospect receiving three messages.

Headcount data is worse than you think. Public headcount figures are stale, self-reported, or count a global group rather than the entity you would sell to. A band of 10 to 80 in the data is realistically 5 to 150 in the world. Widen the screen slightly and let the judge apply the rest, rather than pretending the number is exact.

The judge drifts. Prompt-based scoring changes behaviour when a model version changes underneath it. Keep a fixed set of about twenty companies with known verdicts and run them through after any change to the prompt or the model. If the scores move, you learn it in a test rather than in a quarter of bad meetings.

Suppression decays. The CRM check is only as good as the moment it ran. A company that becomes a customer next week is still in last week’s approved list. Re-check immediately before any outreach, not only at screening time.

Volume becomes the goal. The most common failure here is not technical.

Once the pipeline runs, someone will want it to produce more, and the easiest way to produce more is to loosen the screen. Set the qualification rate you expect, ours is deliberately brutal, and treat a rising output number as a warning rather than as progress.

What it costs to run

Three lines, and only one of them is significant.

Enrichment dominates, and it scales with survivors rather than with the source list. That is the entire point of the ordering: a screen that removes 80% of rows removes 80% of the enrichment bill.

The model is close to a rounding error. A judge verdict per company is a small prompt and a small output. Even at thousands of companies a month, this is the cheapest part of the system by an order of magnitude, which is why capping it to ranking rather than deciding costs you nothing.

Orchestration is a small server, or nothing if you already run one. See our n8n review for what that layer actually costs.

The number worth tracking is not cost per lead. It is cost per meeting, and a screen-first pipeline improves it from both directions at once, fewer paid enrichments, and a list a human can work without filtering it again by hand.

Where this goes next

The natural extension is not more leads. It is the brief: once a company survives, the same evidence the judge collected can be assembled into something a salesperson reads before the call. That is a different system with a different trigger, and we published the architecture for it separately.

The version to build first is the one that runs end to end on 200 rows and produces a list your best salesperson agrees with. If they disagree, the ICP document is wrong, not the pipeline. Fix the document. That is the loop.

Frequently asked questions

Why screen before enriching?

Because disqualification criteria are mostly free and enrichment is not. Filtering first removes the majority of rows before any cost is incurred, without changing the final list.

Do I need Clay for this?

No. Clay is convenient because waterfall enrichment across providers is built in. The architecture works with any provider: the ordering is what matters.

Should the LLM decide which leads to contact?

No. Use hard rules to disqualify and the model to rank. A model that can drop a company from the list will eventually drop the right one for a reason nobody can reconstruct.

How do I stop the pipeline contacting existing customers?

Check the CRM at the start of the pipeline and again immediately before outreach. One check is not enough, because the gap between screening and sending is where the status changes.

What qualification rate should I expect?

Lower than feels comfortable. If a screen-first pipeline is approving most of what it sees, the screen is too loose or the source list was already qualified.


Sources: Thomas C. Redman in Harvard Business Review on the cost of bad data, Cognism on B2B data decay. For outbound off the back of this pipeline, note that § 7 UWG governs the send separately from GDPR, see the DACH outbound piece.

Related reading