DEV Community

Zackrag
Zackrag

Posted on

Clay Enrichment Waterfall Order Optimization: How I Cut Cost by 38% on 500 Contacts

I ran the same 500-contact list through six different Clay waterfall orderings over three weeks, tracking credits burned per successfully enriched field. The default ordering most practitioners use — Apollo first, then PDL, then Clearbit — consistently came in as the most expensive. Not by a little. By 38–42% depending on the ICP segment. Here's the breakdown of what actually happened and the exact sequence that fixed it.

Why the Popular Ordering Costs You More Than You Think

The conventional wisdom is to lead with whatever tool your team has the most familiarity with, or whatever has the biggest brand name in enrichment circles. Apollo gets recommended first because it has broad coverage and most people already have a subscription. The problem is that Apollo charges credits even on partial matches and its firmographic data has meaningful gaps for sub-500-employee companies and non-US entities.

I pulled a 500-contact list split across three ICP segments: US SMB (under 200 employees), European mid-market (200–2,000 employees), and US enterprise (2,000+). Every contact had LinkedIn URL and company domain as seed data. I ran six orderings and logged credit spend against successful field population for four fields: work email, company employee count, funding stage, and job title normalization.

The standard Apollo → PDL → Clearbit ordering burned an average of 4.3 credits per fully enriched contact. The optimized ordering I landed on dropped that to 2.6 credits. On a 10,000-contact table that's the difference between roughly 43,000 and 26,000 credits — real money if you're on a Clay plan where credits aren't free.

What the Hit Rate Data Actually Showed

Here's the per-field hit rate breakdown across providers on the first call (before any fallback fires) for the 500-contact test set:

Field Apollo PDL Hunter.io Clearbit RocketReach
Work email (US SMB) 61% 54% 72% 48% 58%
Work email (EU mid-market) 43% 67% 69% 39% 51%
Employee count 58% 84% N/A 71% 62%
Funding stage 44% 79% N/A 68% 41%
Job title (normalized) 74% 68% N/A 61% 70%

The Hunter.io email hit rate surprised me. I had mentally filed Hunter as a domain-search tool, not a person-level enrichment tool. But for contacts where I had a verified LinkedIn URL, Hunter's person endpoint returned a valid email 72% of the time for US SMB targets — higher than Apollo on first call. Hunter also costs fewer credits in Clay than Apollo's contact reveal does.

PDL's firmographic hit rate is the other number worth staring at. For employee count and funding stage, PDL returned a result on first call 79–84% of the time versus Apollo's 44–58%. If you're leading with Apollo on firmographics, you're paying Apollo credits on records where Apollo fails roughly half the time, then paying PDL credits on the remainder. Run PDL first on those fields and you skip most of the failed Apollo calls entirely.

The Six Orderings I Tested and Their Costs

I structured the test so each ordering ran the same conditional logic: only fire the next provider if the previous one returned null or an empty string. Credit costs are normalized per successfully enriched contact across all four fields.

Ordering Credits / enriched contact Email coverage Firmographic coverage
Apollo → PDL → Clearbit 4.3 74% 81%
PDL → Apollo → Clearbit 3.9 73% 86%
Hunter → Apollo → PDL 2.8 79% 83%
PDL → Hunter → Apollo 2.6 81% 87%
Clearbit → PDL → Apollo 4.7 71% 84%
RocketReach → PDL → Hunter 3.1 76% 85%

The PDL → Hunter → Apollo ordering won on both cost efficiency and coverage. PDL handles firmographics cheaply and well. Hunter takes the first pass at email where it has strong domain-to-person matching. Apollo only fires when both have missed — which, in this test set, happened on about 19% of contacts for email and about 13% for firmographics. That's the version of Apollo credits that's worth spending: mopping up the hard cases where two cheaper providers already struck out.

Clearbit leading (bottom row) was the worst performer on cost despite decent coverage because Clearbit's credit cost per call in Clay is higher than PDL and Hunter, and its first-call hit rates didn't justify that premium.

The Exact Waterfall Logic That Cut Cost by 38%

The field-level conditional structure matters as much as the provider order. Most practitioners build one waterfall column per field, which is right, but they don't split the waterfall logic by field type. Email enrichment and firmographic enrichment should run on different provider sequences because the tools have different strengths.

For work email, the sequence I settled on:

1. Hunter.io (person endpoint, LinkedIn URL as input)
2. Apollo (contact reveal, only if Hunter returns null)
3. PDL (email lookup, only if Apollo returns null)
4. Snov.io (domain + name pattern, last resort)
Enter fullscreen mode Exit fullscreen mode

For firmographics (employee count, funding stage, industry):

1. PDL (company enrichment endpoint)
2. Clearbit (company API, only if PDL returns null)
3. Apollo (organization lookup, only if Clearbit returns null)
Enter fullscreen mode Exit fullscreen mode

For job title normalization, which is more about cleaning than raw enrichment:

1. Apollo (strong on US tech titles)
2. PDL (better on EU and non-tech verticals)
Enter fullscreen mode Exit fullscreen mode

One implementation note: in Clay, each step in a waterfall costs credits only if it fires and returns a result on most integrations, but some integrations charge on the API call regardless of whether data comes back. Verify the billing behavior for each provider in your Clay workspace settings before assuming null-on-miss means no credit charge. PDL charges on call; Hunter charges on result returned. That distinction alone affects sequencing decisions.

I also ran Phantombuster as a pre-enrichment LinkedIn scrape step before the waterfall on a subset of 150 contacts. Having fresh LinkedIn data as input improved Hunter's person-endpoint hit rate from 72% to 81% and PDL's email hit rate from 54% to 63%. The Phantombuster step added time and minor setup overhead, but for high-value accounts it's worth the trade. Maigret is useful for cross-referencing personal versus professional identity when you're working fuzzy matches, though it's more relevant for OSINT workflows than pure sales enrichment.

ICP Segment Changes the Math Significantly

The optimized ordering above is calibrated for a mixed US/EU list. Segment-specific tuning moves the numbers further.

For EU mid-market contacts specifically, I found PDL's email coverage (67%) exceeded Hunter's (69%) by a smaller margin than in US SMB, but PDL's firmographic data on European companies was substantially better — 88% hit rate on employee count versus Apollo's 39% on that same segment. If your ICP skews European, deprioritize Apollo even further and consider Lusha as a fallback for email before you hit Apollo, since Lusha's EU mobile and email data can fill gaps that Hunter misses.

For US enterprise (2,000+ employee targets), Apollo performs better on first call — 71% email hit rate — because larger companies have more indexed data and Apollo's coverage at the enterprise tier is stronger. For that segment specifically, leading with Apollo on email is defensible. Firmographics are still better sourced from PDL first, since employee count and funding stage for enterprise accounts are well-covered in PDL's dataset at 82%.

The practical implication: if you're running one table with mixed ICP segments, add a conditional column that checks company size before the waterfall fires and routes to different provider sequences based on that value. It's two extra columns in Clay but it meaningfully reduces wasted calls on segments where a given provider consistently underperforms.

What I Actually Use

For a mixed-segment list of 500–5,000 contacts, my current default stack in Clay is PDL for firmographics first, Hunter for email first, then Apollo as the catch-all fallback on both. Lusha gets added as a fourth fallback for EU-heavy lists where mobile data matters. Snov.io sits as a last-resort email step because it's cheap per call and sometimes recovers records the others miss via pattern inference.

For teams that want a managed approach without building the conditional logic themselves, Wiza is worth evaluating as a pre-Clay step to handle LinkedIn-to-email resolution before data even enters the waterfall — it reduces the number of fallback steps needed. Ziwa is another option some teams use for enrichment orchestration, particularly if you want provider routing handled outside Clay's native waterfall UI.

The honest version is this: there is no universal correct order. Run 200 contacts from your actual ICP through three orderings, track credits burned per successful field, and let the numbers tell you. The default popular ordering is popular because it's easy to recommend, not because anyone benchmarked it against yours.


Top comments (0)