How to Build an Enrichment Waterfall in Clay
An enrichment waterfall is a sequenced set of lookups where each tool only runs if the previous one failed to find a result.
Instead of picking one enrichment provider and accepting its coverage gaps, you chain multiple providers so they cover each other's misses. You pay for each successful lookup, not for each attempt where a tool found nothing.
Why a waterfall exists
No single enrichment provider has complete coverage across all B2B contacts. Prospeo has strong coverage for certain profile types. Apollo has different coverage. Hunter fills gaps using domain pattern logic when neither of the first two finds a match.
If you run all three in parallel, you pay for duplicate lookups on contacts any of them could find. A waterfall runs them in order and only moves to the next provider if the previous one returned null.
The three-tier setup
Tier 1 is your primary provider. Prospeo is a reasonable starting point for most B2B use cases. Its per-lookup cost is low and its match rate on professional email addresses is solid. Run it first on every record.
Tier 2 is your fallback. Apollo covers a portion of the records Prospeo misses. It costs more per credit than Prospeo, so you want it running only on the records that need it. Set the condition in Clay: if Prospeo email is null or blank, trigger Apollo enrichment.
Tier 3 is your last resort. Hunter uses domain pattern logic. It is useful when the person's email format can be inferred from the company domain and their name. It costs less per effective lookup than Apollo but covers a smaller portion of misses. Set the condition: if Apollo also returned null, trigger Hunter.
If all three miss, the record either delivers with LinkedIn URL only and email null, or gets suppressed from the delivery, depending on your workflow.
Setting this up in Clay
In Clay, you handle the waterfall logic using conditional columns. The general structure:
Add a Prospeo enrichment column. Map first name, last name, and LinkedIn URL as inputs. Output is the verified email.
Add an Apollo enrichment column. Set it to run only if the Prospeo output column is empty. Map the same inputs.
Add a Hunter enrichment column. Set it to run only if the Apollo output column is also empty.
Add a final email column that resolves to whichever tier returned a result, in priority order: Prospeo first, then Apollo, then Hunter, then null.
The exact column formula depends on your Clay table structure, but the logic is the same regardless of how you name the columns.
For more on the gate logic, see how the ICP gate works.
The cost difference with and without an upstream ICP gate
Without a gate: you run 500 records through the waterfall. At Prospeo primary rates, that is roughly $5.00 before you even factor in Apollo fallback cost on the misses.
With an ICP gate upstream that removes records failing on title, geo, or company size: you might run 87 records through the waterfall. The same Prospeo primary rate brings the cost to under $1.00.
The waterfall design is useful. The gate upstream is what makes it cheap to run at scale.
Richie Reach uses this exact three-tier waterfall after the ICP gate stage. The gate runs first, the waterfall runs on what passes. The enrichment cost per run on a filtered set of around 87 records comes out to roughly $0.87 using Prospeo as the primary tier.
If you build the waterfall without a gate, you pay for coverage across a noisy list.
If you build the gate first and run the waterfall on what passes, you pay for coverage where it matters.
Talk to the founder
20-minute call to discuss your keyword themes and ICP.