01/ 06
Signal:a data event that tells you a prospect is in-market before they raise their hand: a pricing page visit, a funding round, a job change, a replyEnrichment waterfall:querying data sources in sequence until you get a value: Clay tries source A, then B, then C. Better coverage than any single providerGTM Engineering:treating your go-to-market motion as a software system: ICP as filter, signals as triggers, sequences as logic branches, Slack as the delivery layerIntent:behavioral evidence that an account is actively researching a problem you solve, before they contact sales or fill a formOutbound infra:the sending domains, mailboxes, DNS records, and warm-up cadence that keep your email out of spam and your main domain cleanICP filter:the exact definition of which companies and personas belong in your pipeline, expressed precisely enough that a machine can execute itWarm lead:a prospect who has taken a signal action (pricing page, reply, meeting request) that moves them ahead of every cold contact in your sequenceClay waterfall:a Clay table that pulls from LinkedIn, Apollo, and 50+ sources simultaneously, scoring and filtering prospects in real time before they reach a repEnrichment cost:the per-row credit spend of running a Clay workflow: easy to burn through budget fast when calling Clay from an AI agent without guardrails; controlling this requires knowing which enrichments to run, in what order, and when to stopSignal:a data event that tells you a prospect is in-market before they raise their hand: a pricing page visit, a funding round, a job change, a replyEnrichment waterfall:querying data sources in sequence until you get a value: Clay tries source A, then B, then C. Better coverage than any single providerGTM Engineering:treating your go-to-market motion as a software system: ICP as filter, signals as triggers, sequences as logic branches, Slack as the delivery layerIntent:behavioral evidence that an account is actively researching a problem you solve, before they contact sales or fill a formOutbound infra:the sending domains, mailboxes, DNS records, and warm-up cadence that keep your email out of spam and your main domain cleanICP filter:the exact definition of which companies and personas belong in your pipeline, expressed precisely enough that a machine can execute itWarm lead:a prospect who has taken a signal action (pricing page, reply, meeting request) that moves them ahead of every cold contact in your sequenceClay waterfall:a Clay table that pulls from LinkedIn, Apollo, and 50+ sources simultaneously, scoring and filtering prospects in real time before they reach a repEnrichment cost:the per-row credit spend of running a Clay workflow: easy to burn through budget fast when calling Clay from an AI agent without guardrails; controlling this requires knowing which enrichments to run, in what order, and when to stop
SORTED.
← All Posts

How to Build a Clay Enrichment Waterfall (Step-by-Step)

Most Clay setups waste credits by running expensive providers on every row. A waterfall fixes that: try the cheapest provider first, fall back only when it fails, stop when you have what you need. Here is how to build one from scratch.

What an enrichment waterfall is

An enrichment waterfall is a sequence of conditional steps. Each step tries to find a piece of data (usually an email address) from a specific provider. If the provider returns a result, the waterfall stops. If it returns nothing, it moves to the next provider in the sequence.

The logic is simple: different providers cover different parts of the contact graph. Hunter is strong on SMB and agency contacts. Clearbit has deep enterprise coverage. People Data Labs is good for technical roles. No single provider covers everything, so you layer them. The waterfall structure means you only pay for a provider when the cheaper ones have already failed.

Clay makes this straightforward to implement. Every enrichment column can have a conditional: only run this step if the previous column is empty. That is the entire mechanic.

Why the waterfall order matters

Running your most expensive provider first is the most common Clay mistake. A single Clearbit lookup costs roughly 6 credits. Hunter costs 1. If Hunter finds the email on 60% of rows, you just saved 5 credits per successful lookup versus running Clearbit first.

At 1,000 contacts per week, that difference compounds fast. Good waterfall design is not about which provider is "best." It is about which one gives you the most coverage per credit spent at each position in the sequence.

The waterfall also gives you quality signals. A contact where Hunter found a verified email is different from one where you had to fall all the way through to a pattern-guessed address. You can use that tag downstream: send guessed-email contacts to a lower-volume sequence or skip them entirely depending on your bounce tolerance.

Step 1: Build your seed list

The waterfall starts with a list of people. Three common sources:

Before the waterfall starts, clean the seed list. Remove duplicates by email domain and first name/last name combination. Filter out personal email addresses (gmail.com, yahoo.com, hotmail.com). Confirm the company domain column is populated — most email enrichment providers need the domain, not just the company name.

In Clay, the seed list is your base table. Every enrichment column gets added to the right. The original seed data stays as-is in the leftmost columns.

Step 2: Email verification waterfall

This is the core of the build. Set up enrichment columns in this order, each with a conditional that only runs if the previous email column is empty:

StepProviderCost/rowTypical hit rateTag
1Hunter1 credit40–55%verified
2Apollo enrichment1 credit25–35% of remainderverified
3Clearbit6 credits20–30% of remainderverified
4People Data Labs6 credits15–20% of remainderverified
5LinkedIn profile scrape3–5 credits10–20% of remainderguessed
No email found0not_found

In Clay, each row in this table is a separate enrichment column with a conditional formula in the "Run column if" setting. The formula checks whether the previous email column has a value. If it does, skip this step. If it does not, run it.

After the waterfall, add a formula column that consolidates the results: take the first non-empty value across all email columns. This gives you a single "best email" column you can reference downstream. Then add another formula column for the source tag (which provider found it, or "not_found" if none did).

The LinkedIn profile scrape step deserves a note. When a provider finds an email through pattern matching ([email protected]), it tags it as "guessed" or gives it a lower confidence score. Treat these differently from verified addresses. A higher bounce rate on guessed emails can affect your sending domain reputation if you route them through the same infrastructure.

Step 3: Signal enrichment layers

Email is the floor, not the ceiling. Once the waterfall has run, add columns that answer the question: is this person a good fit right now, and is there something relevant happening at their company?

These signal columns run unconditionally on every row. They do not replace the email waterfall — they run in parallel or after it:

Not all of these signal columns are worth running on every campaign. Funding data makes sense if you target growth-stage companies. Tech stack makes sense if your ICP qualification depends on what tools they already use. Job change is almost always worth adding — it is cheap and high signal.

These signals also feed your ICP scoring. Add a formula column that assigns a score (1–10 or a simple tier: A/B/C) based on how many positive signals a contact has. Route A-tier contacts to a priority sequence with a higher-effort touch pattern. Route C-tier contacts to a lower-volume sequence or skip them entirely.

Step 4: AI personalization

Clay's agent plugin system lets you run an LLM step inside the table. The most common use: read a prospect's recent LinkedIn post (pulled in the signal layer) and write a specific, relevant first line for the outbound email.

This is where most teams get it wrong. The prompt matters as much as the model. A bad prompt produces the same generic output at scale: "I saw your post about pipeline — really resonated." A good prompt produces something specific enough that the prospect wonders how you knew.

A prompt structure that works well for LinkedIn post-based personalization:

Prompt template

You are writing a cold email first line for a B2B sales email. The goal is to reference something specific from the prospect's recent LinkedIn post in a way that feels natural and relevant to what we sell.


Prospect name: {{first_name}}

Prospect title: {{title}}

Company: {{company}}

Their recent LinkedIn post: {{linkedin_post_text}}


What we do: [one sentence description of your product/service]


Write a single sentence (max 20 words) that references something specific from their post and connects naturally to the email body. Do not use filler phrases like "I loved your post about" or "Saw your thoughts on." Write it as if you are a peer who read the post and has something relevant to say. No em dashes.

For reference on what Clay agent plugins can do beyond first-line generation, see our post on Clay agent plugins. The same plugin system can research a company's job postings to infer their GTM priorities, summarize their last funding announcement, or score how closely they match your ICP criteria.

Credit cost for AI steps: a GPT-4o-mini step runs roughly 2–3 Clay credits per row. Claude Haiku is similar. The better models cost more per call. At 1,000 rows per week, that is $20–40/week in AI credits alone at a mid-tier model. Worth it for priority segments. Not worth it for a broad prospecting sweep.

One rule: only run the AI personalization step on contacts where the LinkedIn post column is populated and the post is recent (less than 30 days). A first line referencing a post from 8 months ago reads as lazy research.

Step 5: Export to sequencer

Once the waterfall is complete, push records to your sequencer. Clay has native integrations with Instantly and Smartlead. The integration creates a contact in the sequencer and adds them to a specific campaign.

Set up the export with these conditions:

Map Clay columns to sequencer variables. The first line, company name, title, and any relevant signal fields (recent funding, job tenure, tech stack signal) should all map to custom variables in the sequencer so they can be used in email copy.

For the sending infrastructure setup that the sequencer runs on, see our post on the GTM engineering stack.

Verified-email and guessed-email contacts should go to separate campaigns with separate sending pools if your bounce rate on guessed emails is above 3%. Most sequencers let you segment at the campaign level, which maps cleanly to the email tag from the Clay waterfall.

Common mistakes

Frequently asked questions

What is a Clay enrichment waterfall?

A Clay enrichment waterfall is a sequence of conditional email verification steps. Each step only runs if the previous one returned no result, so you try the cheapest provider first and move to more expensive ones only when needed. This keeps credit costs predictable while maximizing overall email coverage.

Which email providers should I use in my Clay waterfall?

A common order for B2B outbound: Hunter first (cheap, good SMB coverage), Apollo enrichment second (cheap, different graph), Clearbit third (broader enterprise coverage), People Data Labs fourth (strong for technical and product roles). The right sequence depends on your ICP. Run a test batch of 200 contacts through each provider independently to see which has the best hit rate for your specific audience before finalizing the waterfall order.

How much does it cost to enrich a contact in Clay?

For a standard waterfall with email verification and basic signal enrichment, expect $0.10–$0.30 per contact when most emails are found in the first two providers. Adding AI personalization steps (LinkedIn post first line) adds roughly $0.05–$0.15 per row at mid-tier models. A full enrichment run on 1,000 contacts with AI personalization typically costs $150–$400 in Clay credits.

Should I run the AI personalization step on every contact?

No. The AI first-line step is most valuable for high-priority segments where the contact has a recent LinkedIn post with something relevant to reference. For broad list prospecting at high volume, the credit cost adds up and the quality degrades when there is nothing meaningful to pull from the profile. Filter to contacts where the recent post column is populated and the post is less than 30 days old.

How is Clay better than enriching directly in Apollo or ZoomInfo?

Clay gives you waterfall logic across multiple providers and the ability to combine signal enrichment with AI steps in one table. Apollo and ZoomInfo each have a single data source. Clay has dozens. For ICP-specific enrichment with intent signals, job change detection, and AI personalization layered on top, there is no equivalent in a single-provider tool. For more on this comparison, see our post on Clay vs Apollo.

For a comparison of Clay against its closest single-provider alternative, see Clay vs Apollo.

SortedGTM

We build and operate this workflow for you.

Clay enrichment waterfall design, signal layer setup, AI personalization, and sequencer integration. Built inside your accounts. You own everything.

See How It Works