Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook Ads API - e-mails and hashes in a Custom Audience

I upload a csv of 212 emails through Facebook's Power Editor, and after some seconds I can see that 200 users are in the audience.

I upload a csv of the sha256 hashes of those same 212 emails through Facebook's Power Editor to a different Custom Audience, and after some seconds I can see that 100 users are in the audience.

I use the Ads API to add a list of those same 212 hashed emails to a different Custom Audience, and after some seconds I can see that 100 users are in the audience.

It seems to me that uploading raw vs. hashed emails should not change how many are able to be matched in Facebook. Is this behavior expected or unexpected? Why is it happening?

like image 736
tscizzle Avatar asked Jul 10 '14 20:07

tscizzle


People also ask

Can you upload hashed emails to Facebook?

With this integration, users collecting hashed emails on their website properties using REVanalytics can now automatically add those visitors to their Facebook "custom audiences" in Facebook Ads Manager.

How many emails do you need for a Facebook lookalike audience?

Minimum emails for Lookalike Audience Just know that the minimum number of emails of the lookalike source audience is 100. According to Facebook, you need about 1,000 to 50,000 emails to create an effective Lookalike Audience.

How do you create a custom audience in an email list?

In Facebook Ads Manager, go to the Audiences dashboard and click “Create Audience.” A drop-down menu will appear, then you will select Custom Audience, as you will be creating your audience based on your email list and not based on a Facebook audience. Next, click on Customer File in the pop-up box that will appear.


1 Answers

The trick was normalizing the emails (in accordance with https://developers.facebook.com/docs/reference/ads-api/custom-audience-targeting#hash) before hashing them.

I'm in Python, so for me that was doing email_string.lower().strip() instead of just the email_string. The lower() was more important because I don't think there was any whitespace but there definitely were e-mails with capital letters.

like image 108
tscizzle Avatar answered Oct 11 '22 17:10

tscizzle