ravn
Ad audiences

Verified lists, ready for ads.

Run one command and your verified email list becomes a SHA-256 hashed audience file in the exact format Meta or Google Ads expects. The hashing happens on your own machine, so the plain addresses never leave it.

Start free: 1,000 lookups Get the Claude skill

How it works

Clean first, then hash.

Ad platforms match more of a list when the addresses are real and normalised the way they expect.

  1. / 01

    Verify the list

    Run enrich with validate_email. Each row gets an rw_verdict, so dead and risky addresses can be dropped before they waste match rate.

  2. / 02

    Normalise per platform

    Meta: trimmed and lowercased. Google: the same, and dots are removed from the name part of gmail.com and googlemail.com addresses.

  3. / 03

    Hash and dedupe locally

    Each address is SHA-256 hashed on your machine and duplicates collapse to one row. Nothing is sent to Ravn or anyone else.

  4. / 04

    Upload to the ad platform

    The file has the header each platform expects (email for Meta, Email for Google). Upload it as a customer list in your ads account.

Run it

Two commands. No upload.

The audience step works offline and costs nothing; only the verification uses lookups.

npx ravn enrich customers.csv --tool validate_email --column Email
npx ravn audience customers.enriched.csv --column Email \
  --format google --only-valid

✓ 4,812 hashed emails (388 skipped) → customers.enriched.google-audience.csv
  Nothing was uploaded.
FAQ

Audience questions.

All questions →

Is a hashed list anonymous?

No. Hashing is pseudonymisation: the platform can match it to its own users, which is the point. Treat the file as personal data and only use lists you have the right to advertise to.

Do you see my customer list?

Only if you verify it through the API first, in which case we process the addresses to answer you and keep no copy as a data set. The hashing step itself runs entirely on your machine.

Why verify before uploading?

Invalid and disposable addresses can never match a real account, so they only inflate the list size. Dropping them gives you an honest audience size before you spend.

What about mobile advertising IDs?

We don’t offer mobile advertising ID (MAID) audiences. Ravn works with hashed emails only, hashed on your own machine.