Building a Waterfall Enrichment Stack for Outbound
A waterfall enrichment setup calls one data provider first, and only pays for a second or third provider on the contacts the first one couldn't fill. Done well, it fills more of your list than any single provider would alone, at a lower blended cost per contact than running every record through every source.
Done poorly, it's an expensive way to get the same coverage a single good provider would have given you, because the order matters as much as the number of providers in the stack.
Vendors Covered in this Article
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Why does provider order matter more than provider count?
Every enrichment provider has strengths tied to how it built its dataset: some are stronger on direct dials, some on verified emails, some on a particular industry or company size band. Put your strongest, most expensive provider first for the fields you need most, and cheaper or narrower providers behind it to catch what the first one missed. Reversing that order means you pay the cheap provider's lower hit rate on every record, then still pay the expensive one for records it would have filled anyway. For a broader look at how the leading data platforms stack up beyond just enrichment order, see Apollo vs ZoomInfo vs Clay.
Deciding What Goes First: Email, Phone, or Both
Most teams run separate waterfalls for email and direct dial rather than one combined pass, because the providers strong on one aren't always strong on the other. Apollo's database covers a wide range of both, which makes it a reasonable first pass for many stacks, with a narrower specialist provider behind it for the segment your motion depends on most, whether that's direct dials for a call-heavy team or verified emails for an email-first one.
Setting Match and Confidence Thresholds
A waterfall needs rules for when to accept a match and move on versus when to fall through to the next provider. Accepting any match regardless of confidence score fills more of the list but raises your bounce rate downstream; requiring high confidence at every step leaves records unfilled that a slightly less certain match would have caught. Set the threshold by what the record is for: a direct-mail campaign can tolerate lower confidence than a personalized cold email sequence where a wrong name in the greeting kills the message.
A Worked Example: 1,000 Target Accounts
Say you have 1,000 target accounts and need a verified email plus title for the primary contact at each. A first-pass provider fills roughly 600 to 700 of those cleanly. Rather than running the remaining 300 to 400 through the same provider again, route only that unfilled subset to a second provider, since paying for a second full pass on records already filled wastes budget with no upside. The waterfall's entire value is in that subtraction step.
Common Mistakes That Erase the Cost Savings
The biggest mistake is running every record through every provider anyway, out of a desire not to miss anything, which defeats the point of a waterfall entirely. The second is never revisiting provider order as your target market shifts; a stack tuned for one industry doesn't automatically stay optimal when you move upmarket or into a new vertical. Review hit rates by provider at least quarterly and reorder the waterfall when the numbers say a provider has slipped.
Where an LLM Fits Inside the Waterfall Itself
Some teams now add a language model as a step between providers, using it to reconcile conflicting fields (two providers returning different titles for the same person, for instance) or to infer a likely title or department from a job description a data provider left blank. This works best as cleanup between waterfall steps, not as a replacement for any of them: an LLM is good at reconciling and inferring from data that's already present, but it doesn't have a phone-verified number or a confirmed email that a real data provider checked directly, so it can't substitute for the underlying source data.
How do you budget a waterfall instead of buying unlimited credits?
Set a per-record budget cap for the whole waterfall, not just a subscription tier with a provider, so a hard-to-find contact doesn't quietly consume several providers' worth of credits chasing a single record. If the first two providers in the order both miss a contact, decide in advance whether that record is worth a third, more expensive attempt or whether it's cheaper to leave it unfilled and move on, since not every account needs full enrichment to be worth prospecting.
To set the stack up without overpaying, work through these steps in order:
- Rank your providers by strength for the field you need most, and put the strongest, most expensive one first.
- Run separate waterfalls for email and direct dial, since providers that are strong on one are not always strong on the other.
- Set match and confidence thresholds that decide when to accept a result and when to fall through to the next provider.
- Route only the unfilled records to the next provider instead of paying for a second full pass on records already filled.
- Cap the spend per record so one hard-to-find contact cannot quietly consume several providers' worth of credits.
- Review hit rates by provider on a regular schedule and reorder the stack as your target market shifts.
What Good Looks Like
A well-run waterfall only sends the unfilled remainder to each next provider, tracks hit rate by provider over time, and gets reordered when a provider's performance for your target market changes.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Frequently Asked Questions
How many providers should be in a waterfall enrichment stack?
Most effective stacks use two to three providers, ordered from strongest to weakest for the fields you need. Adding more providers past that point usually adds cost faster than it adds coverage, since the remaining unfilled records tend to be genuinely hard to find anywhere.
Should I build a waterfall myself or use a platform that handles it?
Building it yourself gives more control over provider order and thresholds, but requires ongoing engineering time to maintain the routing logic. A platform-managed waterfall is faster to stand up and worth it for most small teams unless enrichment cost at scale justifies the build.
Does waterfall enrichment work for phone numbers the same way as email?
Yes, the same subtraction logic applies to phone numbers, but provider strengths differ more for phone data than for email. Run a small test batch through each candidate provider before committing to an order, rather than assuming the provider that is strongest on email is also strongest on direct dials.
About the numbers
This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.
Related Guides
Waterfall Enrichment: How It Works and When It Pays Off
What waterfall enrichment is, how the provider order and stop rules work, a worked coverage example and when a single data source is enough.
When It's Actually Worth Building Your Own Enrichment Pipeline
Connecting Clearbit, Apollo and Hunter through your own API pipeline gives you control a subscription can't, but it's not free. Here's the real tradeoff.
How Much Pipeline Should Outbound Actually Be Carrying, by Stage
Why a single blended attribution number hides more than it shows, and how to measure outbound's real contribution to pipeline at each funnel stage.
Zero to Pipeline: A 90-Day Plan for Standing Up Outbound
A day-by-day plan for standing up outbound from nothing, covering what to validate before you send, when to add tools, and what to track each week.
Building a Data Enrichment Waterfall That Doesn't Waste Credits
How to chain Apollo, ZoomInfo and Lusha into a waterfall so you stop paying three vendors for the same contact and start filling real gaps.
Modeling Outbound Activity With CRM Custom Objects
When the standard Activity or Task object stops being enough for outbound reporting, and how a purpose-built custom object gives cleaner sequence-level data.