Guides · 4 min read

From an email address to a person

The waterfall that turns a subscriber address into a name, title and company, and why it works for about a fifth to a third of any list.

ListFunnel's job is to take an email address and tell you who is behind it: name, title, company, industry, seniority. This post explains how, what it costs when it fails, and why the answer is 'a person' for only 20 to 35 percent of addresses.

Local checks come first

Before any address leaves our servers we run five checks that cost nothing. Is the syntax valid? Is the domain a throwaway mailbox service? Is the local part a role like info@ or sales@? Is the domain a common typo of a real one, like gmial.com? Does the domain have a live mail server? An address that fails any of these is marked invalid or do-not-contact and goes no further. On most lists this drops five to fifteen percent of addresses before a single paid call.

Then the shared cache

We keep one cache of every address ever validated or resolved, shared across all workspaces. If your subscriber was checked last month for someone else, we already know the answer. The cache hit costs nothing and does not touch your resolution bank. As more lists flow through, more of yours is already known. Cache entries hold the validation verdict and the resolved profile, never anything about which workspace asked.

Then the waterfall

What survives goes to our identity provider. We ask one question per address: is there a public professional profile tied to this email? The call runs in what the provider calls superficial mode, which means it looks only at direct matches and charges only when it finds one. If the first provider has nothing, a second provider checks that the mailbox at least exists, so you get a validation verdict even without a name. If both come up empty the address is marked unknown, kept, and never charged.

A hit returns a name, current title, current company, and a profile link. From title and company we derive seniority (individual contributor, manager, director, VP, executive) and industry. On our measured runs a hit carried a name 100 percent of the time, and a title and company about 96 percent of the time.

What a miss costs: nothing

This is the part most people do not expect. We only pay our provider when it returns a person. A miss is free to us, so a miss is free to you. Your plan's resolution bank counts delivered people, not attempts. Upload 10,000 addresses, get 2,500 people back, and you have used 2,500 resolutions. The 7,500 misses cost zero. There is no reason to hold back a messy list.

Why 20 to 35 percent

A resolution needs a public professional profile that lists the same email you have. Most people keep their work email off their public profile. Many subscribe with a personal address that appears nowhere public. Some addresses are dead, or aliases, or belong to a mailbox shared by a team. So on a typical list somewhere between one in five and one in three addresses resolve. Our own measured runs, on a junk-heavy sample, came in at 18 to 29 percent. A clean B2B list does better. A consumer list with mostly Gmail addresses does worse.

That sounds low until you compare it to the alternative, which is knowing nothing about anyone. Twenty percent of 50,000 is 10,000 named people with titles and companies. That is enough to see the shape of the whole list, and enough to build segments you can act on.

Work addresses versus personal

We tag every address as work or personal before resolution. Personal means the domain is a consumer mail service: gmail, outlook, yahoo, icloud and the like. Work means anything else. In our measured sample the two resolved at similar rates, but they mean different things. A work address that resolves tells you where the person works today. A personal address that resolves tells you who they are, and the company on their profile may be stale. Treat the work/personal split itself as a signal: a list that is 80 percent personal addresses is a consumer audience no matter what the content is about.

What you see

  • Resolved: a named person with whatever fields came back.
  • Validated: a live mailbox, no public profile. Safe to email, unknown who.
  • Unknown: nothing came back from anyone. Kept, unbilled.
  • Invalid or do-not-contact: failed a local check. Excluded from sends.

Three things we do not do

  • We do not guess. If no profile matches, the field stays empty. No inferred names from the local part of the address.
  • We do not resolve unsubscribed or cleaned addresses by default. You cannot email them, so there is no reason to spend on them.
  • We do not resolve the same address twice. Once resolved, it stays resolved, across every list you own.

Run this on your own list.