Skip to Content
CoursesWaterfall Enrichment02 The work email waterfall

The Work Email Waterfall

Outcome: a work-email column running across providers with a measured hit rate, and every miss checked for an input error before you blame coverage.

Surface
App and MCP server
Level
Beginner
Uses
find_work_email
Credits
~1 per hit
Prerequisite
A person list with names and domains

How the waterfall bills

Provider A → hit → billed once, stop Provider A → miss Provider B → hit → billed once, stop Provider A, B, C → all miss → not billed, no result

You pay for results, not attempts. Two consequences:

  • Stacking providers raises hit rate at little extra cost per found record, because the later providers only ever see the rows the earlier ones missed.
  • A miss is free, so a column that filled 70% of rows charged you for 70%, not 100%.

If a run cost less than you estimated, the hit rate was lower than you assumed. That is worth checking rather than celebrating.

Reference: Find work email, find_work_email.


The identifier decides the outcome

More than any provider choice.

You sendExpected hit rateNotes
LinkedIn profile URLHighestExact match, no ambiguity
First + last name + company domainGoodThe standard input
Full name + company namePoorResolve the domain first
Name + parent company domainPoorWrong entity — the person is not there
Partial or nicknameVery poorFix the input

The input fixes that actually matter

Split combined names

“Dr. Sarah Chen-Williams” must arrive as first Sarah, last Chen-Williams. Titles, honorifics and suffixes in the name field cost you hits.

Use the operating domain

Not the parent, not the holding company, not the group site. If your source gave you acmegroup.com and the person works at acme-uk.com, the lookup fails and it looks like a coverage gap.

Normalize the domain

Lowercase, no protocol, no www., no path.

Strip formatting from names

All-caps, extra whitespace, trailing commas. Cheap to fix, and each one is a hit lost.

These four fixes routinely move a hit rate by 10–20 points, which is more than any provider change will.


Run it properly

Test on people you know

Ten colleagues, customers, or anyone whose real address you can confirm. This is the only way to distinguish a coverage miss from an input error.

Read every result

Does the address match the company’s actual pattern? Is the domain right?

Widen to qualified rows only

Never to the whole table. Contact enrichment is the most expensive column in most pipelines.

Compute hit rate against rows attempted

Not rows in the table. If your gate sent 400 of 2,000 rows, the denominator is 400.


Reading the number

Hit rateDiagnosisAction
75–90%Healthy corporate B2BNothing
55–75%Normal for a mixed listCheck misses for input errors
30–55%Hard segment — SMB, local, some regionsAdd phone or LinkedIn as the primary path
Under 30%Input problemCheck domains and name splitting first
Over 90%SuspiciousConfirm you are not counting unverified guesses

A found address is not a verified address. Counting unverified results as hits inflates the number and produces a bounce rate that damages your sending domain — the cost of which lasts far longer than the campaign. Lesson 03 is not optional.


Do this now

  1. Fix the inputs: names split, domains normalized and operating-entity, LinkedIn URLs where you have them.
  2. Run on ten people whose addresses you already know.
  3. Compare results against what you know. Every miss on this set is an input error, and each one is a fix that lifts every future run.
  4. Widen to the qualified rows only.
  5. Compute hit rate against rows attempted.
  6. Read ten misses from the full run and categorize them: wrong domain, person left, genuine coverage gap.

Check your work

  • Names are split and domains are operating entities
  • You tested against people whose addresses you know
  • Hit rate is computed against rows attempted
  • Ten misses have been categorized
  • You have not yet treated any of these as contactable — verification comes next

Where this breaks

Running the waterfall against an ungated list is the most expensive mistake available in this course. It is the highest per-row cost in a normal pipeline, and on an unqualified table most of that spend lands on companies you would have dropped at a free filter. Qualify first, always — the filter costs nothing and this column does not.


Further automation

Log hit rate per run. A drop from 78% to 55% usually means your targeting drifted into a segment the providers cover badly — which is a targeting signal worth having, and it shows up here before it shows up in reply rates.


Next lesson

03 — Verification and catch-all handling, the step that decides which of these addresses actually count.

Reference for this lesson: Find work email, find_work_email, Find email from LinkedIn URL, Credits.