Inside Our $0.003 Cold Email Waterfall (Clay + Supabase) + Staging Table Drip Automation
If you’re paying half a cent or more to find and validate email addresses every single time you run a campaign, you’re literally throwing money away. Let me show you how we’ve brought our cost down to between 0.1 and 0.3 cents per valid email address—that’s $0.001 to $0.003 each.
The secret? We connected our Clay account to Supabase at the end of 2025, and it’s been a game-changer for our lead generation costs.
Why Supabase Changes Everything
Supabase is an incredibly affordable database tool that lets you store millions of leads in one central repository. We currently have more than 6 million leads in our Supabase account, and here’s the thing: if you’ve already paid to find and validate someone’s email address once, why would you ever pay to do it again?
Over time, when you’re doing lead generation at scale, your lists become massive. Without a central repository, you end up re-finding and re-validating the same email addresses over and over again. It’s wasteful and expensive.
How Our Email Waterfall Works
Let me walk you through our exact workflow. We have a dedicated table in Clay that’s purely for the email waterfall process. Here’s what happens:
Step 1: Check Supabase First
We start with just two pieces of information: the person’s full name and their domain. The very first step uses an HTTP API column to query our Supabase database to see if we already have that person’s email address.
If we find it, we also pull back some critical information:
- The ESP type (Microsoft, Google, or SMTP)
- Whether they’re using security email gateways
- The date when the email was last validated
That last point is essential. If an email was validated more than 60 or 90 days ago, we need to revalidate it because people change jobs, retire, or companies go out of business.
Step 2: MX Lookup and Security Gateway Check
Next, we run an MX lookup to determine the domain’s ESP type and check for security email gateways. If we detect something like Proof Point or Mimecast, we skip that lead entirely. Those security gateways make cold outreach nearly impossible.
Step 3: The Pattern Generation Magic
Here’s where we save serious money. Instead of immediately using an email finding tool, we generate email patterns using formulas. This costs us nothing except Clay credits for the formula.
For example, if someone’s name is Heather Hineka at a company, we generate these patterns:
- Pattern 1: heather@domain.com
- Pattern 2: h.hineka@domain.com
- Pattern 3: hhineka@domain.com
- Pattern 4: heather.hineka@domain.com
For founders of small local businesses (which is our target market), the first name pattern works most of the time. Think luke@company.com—it’s the most common format.
Step 4: Validate Patterns Cheaply
We use Kitt, one of the cheapest email verification tools on the market. While finding an email with Kitt costs about 0.5 cents, validating one costs only 0.015 cents.
We validate each pattern in order until we get a valid result. If Pattern 1 works, great—we’re done for just 0.015 cents. If not, we move to Pattern 2, and so on.
Step 5: Handle Risky and Catch-All Emails
If any validation returns “valid risky,” we run it through BounceBan to verify if the catch-all email address is actually deliverable. This adds another layer of accuracy without breaking the bank.
Step 6: Last Resort Email Finding
Only if none of our patterns work do we actually use Kitt to find the email address. This happens maybe 20-30% of the time, which means we’re saving money on the majority of our leads.
Step 7: Role-Based Emails for Small Businesses
Since we’re targeting small local businesses, role-based emails like president@domain.com or info@domain.com can actually work well. We generate these using formulas based on the person’s job title and validate them. You’d be surprised how many responses we get from these addresses at small companies.
Step 8: Upsert to Supabase
Any time we find a valid email address, we immediately upsert it (upload or update) into our Supabase database along with the validation date. This means we’re constantly building our repository of verified emails that we’ll never have to pay to find again.
The Staging Table Drip Automation
Here’s where things get really smart. Once we have valid email addresses, we push them to what we call a “staging table”—basically a queue of leads ready for enrichment.
We have an automation running in Make that checks twice daily how many unconverted leads are in our campaign. When that number drops below 1,000, the automation automatically drips in the next 3,000-5,000 leads from our staging table into our enrichments table in Clay.
This approach has two massive advantages:
Advantage 1: Campaign Always Stays Full
Your campaign automatically stays filled with fresh leads without you having to manually manage it. It’s completely hands-off.
Advantage 2: Controlled Costs
Instead of running enrichments on 50,000 rows all at once—which would spike our OpenAI and Claude API costs—we’re dripping leads in gradually as needed. This makes our P&L much more predictable and manageable.
If we enriched everything upfront, we’d have a massive cost spike at the beginning of the month. With the drip automation, costs are spread evenly throughout the month.
The Bottom Line
By combining pattern generation, cheap validation through Kitt, Supabase for storage, and smart drip automation with Make, we’ve reduced our email finding and validation costs by 85-95%.
More importantly, we’ve built a system that gets smarter and cheaper over time. Every email we find goes into Supabase, so our hit rate on Step 1 (checking Supabase first) keeps increasing. Six months from now, we might be finding 70% of our emails for free just by checking our own database first.
If you’re running cold email at any kind of scale, this system will pay for itself within the first month.
Want help automating your lead generation? Book a call