# Hashed Email Audiences for Meta & Google Ads — Ravn

Canonical: https://askravn.com/features/hashed-email-audiences

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](https://askravn.com/#start) [Get the Claude skill](https://askravn.com/skills/hashed-email-audience)

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.

- / 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.

- / 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.

- / 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.

- / 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 →](https://askravn.com/faq)

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.

## More tools, same key.
Every tool shares one account, one plan and one answer shape. [See pricing →](https://askravn.com/pricing)

- [IP to Company Lookup API: Identify B2B VisitorsFind the company behind an IP address from public registry data.](https://askravn.com/features/ip-to-company)
- [Lead Verification API: Email, Phone & CompanyVerify a whole lead in one call: email, phone, live company website and whether the person is listed there.](https://askravn.com/features/lead-verification-api)
- [People Search API: Find B2B Contacts by TitleSearch people by title, company, location, seniority and company size, with verified work emails.](https://askravn.com/features/people-search-api)
- [Phone Validation & Carrier Lookup APIValidate phone numbers and check the live carrier and line type: mobile, landline or VoIP.](https://askravn.com/features/phone-validation-api)
- [Reverse Email Lookup API: Email to PersonTurn an email into a business profile: name, title, company, location and LinkedIn.](https://askravn.com/features/reverse-email-lookup)
- [Website Scraper API: Company Data as JSONRead any company website into JSON: emails, phone numbers, socials, team members with titles, address, tech stack and whether it's live..](https://askravn.com/features/website-scraper-api)
