TUTORIAL: Facebook Custom Audience Sync Google Sheets Addon

Automatically sync your contacts to Facebook Custom Audiences: Get your email list from your CRM, DWH or any other systems like User IDs from Google Analytics to Google Sheets and use it for precise targeting in Facebook Ads.

With the FBsync addon you are able to: 

  • Select a list of email addresses in plain text or SHA256 hashed.
  • Create a new custom audience for Facebook marketing.
  • Sync your list of users with Facebook to use it for Facebook Ads.
  • Periodically update your custom audiences.

What is a Facebook Custom Audience?

With a FB Custom Audience you can create very specific target groups with users which already interacted with you like subscribed to your newsletter, sent you a contact form or made a purchase. >> More information on the FB support page. 

About this Tutorial

In this tutorial I explain how the Facebook Custom Audience Sync Add-On for Google Sheets works, which features are available and how you can benefit from it.

Quick Overview:

Let’s start with how you get the addon:

GSuite Marketplace: Get the Add-On for Free

The Facebook Custom Audience Sync Addon (in short: FBsync Addon) is available for Google Sheets via the GSuite Marketplace

Screenshot: GSuite Marketplace FBsync Addon

Go to GSuite Marketplace and click on the blue “Install” button: The Addon will now be installed as a plugin to your Google Sheet documents. 

Note: The FBsync Addon is for free!

Second possibility: You can find and install the Add-On also via any Google Sheets document.

To do so, open any Google Sheets and go in the menue to Add-Ons –> Get Add-Ons:

Screenshot: Get Addon via Google Sheets

Search for „facebook“. Once found click on the „Facebook Custom Audience Sync“ add-on.

The GSuite Marketplace opens again and you can install the add-on via the blue install button.

Your First Steps

After installing, the plugin is available via any Google Sheets document.

Open a desired sheet and go to the sheets menu and further to Add-Ons –> Facebook Custom Audience Sync in Google Spreadsheets: 

Screenshot: FBsync Addon in Google Sheets

To open the add-on click on „Open Settings“:

Screenshot: Open Settings of FBsync Addon for Google Sheets

You need to accept the installation as well as choose your Google Account on which you want to install the add-on.

Once done a pop-up opens on the right side of your Google Sheets document:

Screenshot: FBsync Addon Login Screen

Before creating the sync you need to connect with your Facebook user account.

The account must have access and permissions to create/modify custom audiences inside your Facebook ad account.

Note: This is important so that your contacts can be sent to the right Facebook user account. I don’t have access to your campaigns or any other data. It is just to know who you are and to synchronize your contacts to FB custom audiences. 

Click on “Connect with Facebook” and choose the Facebook user account you want to connect with:

Afterwards you are forwarded to the synchronization overview of the Facebook Custom Audience Sync Add-On:

Screenshot: FBsync Addon Overview

The screen notes you what to do next: Click „+ Add Sync“ to create your first Custom Audience Sync. After creating and enabling the sync status infos will be shown here. 

Now you can create your sync. 

Before doing that, let me shortly tell you the prerequisites:

Prerequisites

There are only two rerequisits available to use the FBsync add-on.

First: Email Addresses

You need the email addresses of your contacts! 

This is because Facebook mainly recognizes it’s users on their email address.

It is therefore a requirement from Facebook to use email addresses for targeting users via Facebook custom audiences.  

Note: Facebook also recognizes users based on their telephone number, name (first name, surname), app user ID, page-related user IDs, Apple’s advertising identifier (IDFA) or Android advertising ID, dates of birth, gender and Location – but only in combination (multi-key matching). Since this is too complex in the first step, this data is currently not used.

The email address can either be available in plain text (support@analyticskiste.blog) or SHA256 encrypted (7650ee89b55969a7b987f5…).

Important: Facebook ONLY supports SHA256 encryption.

If it is for any reason not allowed to store the email addresses in plain text, it is absolutely important to encrypt them with the SHA256 hash algorithm – and not with any other hash.

Otherwise Facebook cannot match your users‘ email addresses.

Second: Email Addresses in Google Sheets

The email addresses must be available in Google Sheets!

So you need two simple steps (marked in red and green) to sync your contacts to Facebook:

  1. Get your contacts in Google Sheets.
  2. Sync your contacts to Facebook using the FBsync addon.

Screenshot: Concept of getting contacts to Facebook custom audiences

Important: It is important to know that the FBsync add-on ONLY takes care of synchronizing contacts to Facebook (green part). It does not grab any data to Google Sheets (red part)!

If you need help in getting your emails to Google Sheet, please follow these instructions:

Or choose the via the fastest, easiest and cheapest way to get startet with the FBsync Addon Starter-Kit:

That’s all.

Now we can go on with the tutorial:

Add New Facebook Custom Audience Sync (Video)

Add New Facebook Custom Audience Sync 

To add a new Facebook Custom Audience Sync click on the “+Add Sync” button:

Screenshot: Add a new FB sync

A pop-up opens with the synchronization settings: 

Screenshot: FBsync Addon Sync Settings

You only need to go through four steps to create the audience sync: 

Step 1: Select Facebook Ad Account

Select your desired ad account to which you want to synchronize your contacts first: 

Screenshot: Select Facebook Ad Account

Note: The account must have access and permissions to create/modify custom audiences inside your Facebook ad account. 

Step 2: Create Custom Audience

Second, create a new Facebook custom audience. 

Why a Custom Audience?

In contrast to interest-based targeting, the custom audience can target users who either gets

  • tracked via the Facebook tracking pixel, 
  • uploaded manually in the Facebook ads manager or
  • automatically uploaded via the Facebook API. 

The FBsync addon uses the API to upload email addresses to Facebook automatically. 

To create a new custom audience, you just need to give your audience a descriptive name like First Time Buyers – last 90days:

Screenshot: Create Custom Audience

Recommendation: Use your company naming convention for the audience name. 

The addon takes care of the rest: It creates a new custom audience for you with the name you entered and the advertising account you selected. 

Moreover the addon automatically adds the following information to your custom audience description: ** DO NOT EDIT ** This audience was created using the FBsync addon for Google Sheets. 

This is important so that you can recognize the audience in the Facebook ads manager and other users also know where the audience is coming from. 

Step 3: Select Source of Audience Data

The last step is the most demanding step because it assumes that you already have your contacts available in Google Sheets.  

To learn how you get your contacts in Google Sheets go to 

Please note: You can only sync plain email addresses or SHA256 hashed email addresses to Facebook custom audiences! 

The email addresses are important because Facebook mainly recognizes its users based on their email address. It’s a requirement from Facebook to have the users email address available if you want to target them in Facebook and Instagram. 

Moreover it is a requirement from Facebook to have either the email addresses available in plain text or hashed with the SHA256 hash algorithm. This is because Facebook is only working with the SHA256 hash algorithm – and not with anything else. 

Now where you have your contacts available in Google Sheets you can select the source of your audience data: 

Screenshot: Select Source of Audience Data

The source of your audience data is the worksheet, the column and the row in which your contacts are stored. 

For example: Column A in Sheet “First Time Buyers – last 90 days” and the contacts are available from row 16. 

Summarized:

  • Worksheet: First TimeBuyers – last 90 days
  • Column: A
  • Row: from row 16 further 

That’s it. 

Save your audience sync configuration.

You can now see your configuration details in the overview: 

Screenshot: Audience Sync Overview with Details

Please note: Your FB audience sync is not yet enabled! This is why the match rate, estimated audience size, sync status and date of the last sync is not yet available. 

Step 4: Enable your FB Audience Sync

Your FB audience sync is not yet enabled! 

This also indicates the red icon next to the audience sync name: 

Screenshot: Red Icon indicates that sync is not enabled

To enable your custom audience sync, just click on the “Enable Sync” button: 

Screenshot: Enable Sync Button

The red icon changes to a green checkmark:

Screenshot: Green icon indicates that sync is enabled

The green checkmark indicates that the Facebook custom audience is enabled and your email addresses get now automatically synced to Facebook. 

Congratulations! 🙌

Moreover the match rate, estimated audience size, sync status and date of last sync get fulfilled with standard values:

Screenshot: Sync data to standard values

This is because it takes a few minutes to sync the data to Facebook – depending on the size of the audience: 1.000 contacts get synced faster than 10.000 or 100.000 contacts. 

Please note: You can sync a maximum of 5 million contacts because of a Google Sheets limitation. Google Sheets allows a maximum of 5 million cells. There is no row and no tab limit but any Google Sheet can contain max. 5 million cells.  

In addition Facebook needs up to 48 hours to correctly match the email addresses in its system: This is why the match rate and estimated audience size can be dramatically low after a few hours but acceptable high after 48 hours. 

Therefore it is mainly important to wait at least 48 hours before you check your synchronization state!

So please do wait 48 hours before you come back to your Google Sheets or check your audience directly in your Facebook ads manager. 

You can refresh the sync state via the grey round arrow next to the “+Add Sync” button: 

Screenshot: Refresh Sync

Disable FB Audience Sync

To disable your Facebook custom audience sync just hit the grey “Disable Sync” button in the FBsync overview: 

Screenshot: Disable FB Custom Audience Sync

The icon next to your sync name changes from green to red: 

Screenshot: Red Icon indicates that sync is not enabled

Your audience sync is now disabled! 

Edit FB Audience Sync

To edit your Facebook custom audience just hit the blue “Edit” button in the FBsync overview:

Screenshot: Edit FB Custom Audience Sync

Please note: You can’t edit the ad account and audience name once the audience sync is created! This is for security reasons. If you need to change the ad account or custom audience name please delete your sync and recreate a new one. 

Delete FB Audience Sync

To delete your Facebook custom audience sync just hit the grey “Delete” button in the FBsync overview: 

Screenshot: Delete FB Custom Audience Sync

The audience sync disappears from the overview screen.

Your audience sync is now deleted! 

Please note: You can’t delete the audience inside the Facebook ads manager! If you do so, the audience will be created again during the next sync. This is because the FBsync addon takes care about the creation and deletion of the audience. You can delete it ONLY in the FBsync addon!

How does the FBsync Addon work

Once you decide on which ad account you want to synchronize your contacts, named your Facebook custom audience and selected the source of your audience data, the addon does the following for you.

First the addon creates the custom audience with the given name in the given ad account for you.

You can check this directly in your Facebook ads manager: 

Screenshot: Target Groups in Facebook Ad Manager

Important: I would recommend not touching this audience in the Facebook ads manager. The contacts get automatically uploaded to Facebook via the FBsync addon. Any manual contact uploads or deletes may be ignored. 

After you enable the sync, the addon automatically updates the audience.

It checks every hour whether new users are available and synchronizes them to Facebook.

It also checks every hour whether users dropped out of the audience: These users are also removed from the audience.

Great: This makes the FBsync addon more precise than many other tools that do the same. As a rule, the audience list is only updated once a day.

So you don’t need to worry about whether the audience is up to date on Facebook, the addon does this for you!

With this you only target exactly those users who actually correspond to the segment you want to reach and prevent money from being spent in incorrect customer approaches.

How do get Contacts from any System to Sheets

The FBsync Addon best works in combination with Supermetrics for Google Sheets

Supermetrics for Google Sheets is also a Google Sheets addon (like the FBsync addon is) that has numerous connectors with which you can import data from 50+ different data sources like Mailchimp, Shopify, Stripe, etc. to Google Sheets. 

Note: A list of the 50+ data sources can be found here on the Supermetrics website. It also has “open APIs” like a JSON, CSV and XML API. 

The goal of Supermetrics is to grab data from any data source, store it in Google Sheets and use it for further processing:

Screenshot: Supermetrics for Google Sheets

For example you can grab the email addresses of your users from your:

  • CRMs (Customer Relationship Management System),
  • DWHs (Data Warehouses),
  • DMPs (Data Management Plattformen),
  • Email Tools like Mailchimp,
  • Onlineshops like Shopify,
  • Analytics Systems like Google Analytics, Adobe Analytics
  • or any other. 

Once you have the email addresses available in Google Sheets, you can further sync them to Facebook using the FBsync addon:

Screenshot: Sync Contacts of any System to Facebook

To do so you only need two simple steps (marked in red and green) and the use of Google Sheets:

  1. First grab your desired data with Supermetrics to Google Sheets.
  2. Second use the FBsync addon to sync your GA segments to Facebook.

I already explained the second step further up: Using the FBsync add-on for Google Sheets.

Let’s focus on the first step with the example of Mailchimp:

Sync Mailchimp Emails to Facebook

Install Supermetrics for Google Sheets like you did for the FBsync add-on.

Afterwards open the settings via menu –> Add-ons –> Supermetrics –> Launch sidebar:

Screenshot: Supermetrics for Google Sheets Mailchimp Connector

Choose Mailchimp as data source and follow the steps:

  1. Choose your data source: Mailchimp.
  2. Select campaigns/lists: Choose your email list.
  3. Select dates: For example the last 90 days. Choose a dynamic periopd like „Last X days“ and not a start and end date to always get fresh data.
  4. Select metrics: For example „Total opens“ or „Clicks“ depending on your campaigns.
  5. Split by dimension: You only need the email addresses as dimension.
  6. Filter: Create a filter if needed. Mostly it is not necessary.
  7. Options: Not necessary.

Hint: Follow these instructions to grab your Google Analytics data right via Supermetrics.

Click „Get Data to Table“ and Supermetrics grabs your email addresses to Google Sheets:

Screenshot: Example Data from Mailchimp Connector

I would recommend to create a schedule to refresh your data on a recurring basis like daily, twice a day or hourly. 

If you create such a schedule you don’t need to take care about data refreshment anymore. Supermetrics automatically triggers the data refreshment for you and grabs always fresh data from Mailchimp to Google Sheets.

You can find the schedule settings here:

Screenshot: Supermetrics Manage Schedule

Create for example a daily schedule:

Screenshot: Supermetrics Trigger Settings

Now you are done with the first step.

Second, use the FBsync addon to sync your Mailchimp emails to Facebook custom audiences. 

>> You have the detailed explanation right above. 

Sync Shopify Emails to Facebook

The same way you sync your Mailchimp contacts to Facebook, you can sync your Shopify contacts to Facebook custom audiences.

Instead of Mailchimp use Shopify as data source and follow the steps.

How do get Google Analytics Contacts to Sheets

Google Analytics is amazing if you are in the Google ecosystem because all data recorded by Google Analytics can be used for targeting in Google Ads, Display & Video 360 (former Doubleclick) and Google Optimize. 

What is missing is to make audiences usable for Facebook as well.

That’s why marketers came up with this two workarounds:

  1. Tracking everything twice with the Facebook pixel.
  2. Purchasing a marketing automation tool.

Both ways are highly expensive and effortful.

Now there is a third solution available: Using the FBsync add-on for Google Sheets.

To do so you only need two simple steps (marked in red and green) and the use of Google Sheets:

Screenshot: Google Analytics segments to Facebook Custom Audiences

  1. First grab your Google Analytics data to Google Sheets.
  2. Second use the FBsync addon to sync your GA segments to Facebook.

I already explained the second step further up: Using the FBsync add-on for Google Sheets.

Let’s focus on the first step:

Create User Segments

First you need your Google Analytics user segments in Google Sheets.

Which segments?

Your new, silver, gold or VIP customers.

Your casual or loyal blog article readers, brand lovers or newsletter subscribers.

Your cart abandoners, red or white wine lovers, voucher redeemers, …

The possibilities with Google Analytics are endless.

Let’s say you want to target your red wine lovers who are first time buyers:

Screenshot: Red Wine First Time Buyers

Now where you have decided which user segments you want to target with Facebook, you need to identify your users.

Identify Users

To identify your users you need their email addresses. 

This is because Facebook mainly recognizes its users based on their email address.

But for privacy reasons it is not allowed to store email addresses in plain text in Google Analytics. 

What to do?

You can hash your email addresses so that there are not readable anymore. 

For example: My email address support@analyticskiste.blog looks like this when encrypted with the SHA256 hash algorithm: 7650ee89b55969a7b987f50b6203a…

Hint: It is important to use the SHA256 hash algorithm because this is the only one Facebook is working with. 

You, me and Google can no longer recognize who is behind this hash.

This is why the hashed email address can be saved in Google Analytics without any problems.

Important: Please ask your data privacy officer if you are allowed to store the hashed email addresses in Google Analytics. In Europe you need the consent of your users and clarify your doings in your data protection regulations.

So each time a user identifies on your website like via a contact or support form, a newsletter registration or login, you need to

  • grab the email address,
  • SHA256 encrypt it and
  • store it in a Google Analytics custom dimension.

Save Users in Google Analytics

To save your users in Google Analytics you need to create a custom dimension.

Start the setup by creating a user-scoped custom dimension in the admin interface from Google Analytics:

Screenshot: Add a new Custom Dimension for UserID

Name the custom dimension for example UserId or CustomerId or less descriptive UID or CID.

Next you need to adapt your tracking code. 

Whenever a user identifies on your website, you need to grab the email address, encrypt it and store it in your custom dimension.

Get Google Analytics Data to Sheets 

Now where you have the hashed email addresses of your users available in Google Analytics and you can insert them to Google Sheets:

Screenshot: Get Google Analytics Data to Google Sheets

I would recommend to use Supermetrics for Google Sheets for that.

Hint: You can grab the Google Analytics data also with the Google Analytics Sheets addon. With Supermetrics you have the advantage that you have no API limit and no sampling issues. That’s why I prefer Supermetrics to grab data from GA. 

Install Supermetrics for Google Sheets like you did for the FBsync add-on.

Afterwards open the settings via menu –> Add-ons –> Supermetrics –> Launch sidebar:

Screenshot: Supermetrics for Google Sheets

Go through the steps Supermetrics leads you:

  1. Choose your data source: Google Analytics.
  2. Select views: Your desired GA data view.
  3. Select dates: For example the last 90 days. Choose a dynamic periopd like „Last X days“ and not a start and end date to always get fresh data.
  4. Select metrics: You only need „Users“ as metrics.
  5. Split by dimension: You only need your custom dimension with the hashed email addresses as dimension.
  6. Segment: Select the user segment you want to target if you already created it in Google Analytics like your first time buyers.
  7. Filter: Instead of using a segment you can filter your users here.
  8. Options: I f available choose „Avoid Google’s data sampling“.

Hint: Follow these instructions to grab your Google Analytics data right via Supermetrics.

I would recommend to create a schedule to refresh your data on a recurring basis like daily, twice a day or hourly. 

If you create such a schedule you don’t need to take care about data refreshment anymore. Supermetrics automatically triggers the data refreshment for you and grabs always fresh data from Google Analytics to Google Sheets.

You can find the schedule settings here:

Screenshot: Supermetrics Manage Schedule

Create for example a daily schedule:

Screenshot: Supermetrics Trigger Settings

Now you are done with the first step.

Sync Contacts to Facebook

Second, use the FBsync addon to sync your GA segments to Facebook custom audiences. 

>> You have the detailed explanation right above. 

Your FBsync Add-On Advantages 

With this addon you have a tool in your hand which normally only big players has 

  • with expensive marketing automation tools like
    • Marketo,
    • Emarsys,
    • Hubspot or
    • Salesforce Marketing Cloud
  • or customer data platforms like
    • Tealium,
    • Evergage,
    • BlueConic or
    • CommandersAct.

Both marketing automation tools and customer data platforms benefit from having the users email addresses. With this they can also create Facebook custom audiences – exactly like the FBsync addon does. 

The only difference: The FBsync addon is a stand-alone product. 

You don’t need any expensive marketing automation software or customer data platform. 

You just need the email addresses of your users which are normally stored in systems like  

  • CRMs (Customer Relationship Management System),
  • DWHs (Data Warehouses),
  • DMPs (Data Management Plattformen),
  • Email Tools like Mailchimp,
  • Analytics Systems like Google Analytics, Adobe Analytics
  • or any other. 

As soon as the email address is available you can create very specific target audiences of your users.

And the more precise your user segments are,

  • the more effective is your customer approach.
  • the more precise is your targeting. 
  • the rather you got the conversion and 
  • the cheaper.  

With the FBsync addon you can target exactly those users you actually want to reach – not only via email, via the Google ecosystem or your website but also within Facebook and Instagram. 

This prevents money from being spent in the wrong way with your customers.

Further resources

Need Setup Support?

I can help you!

I have created a video course in which your learn 

  • how to sync your Google Analytics contacts to Facebook custom audiences. 
    • how to track email addresses in Google Analytics in detail.
    • how to get Google Analytics data in Google Sheets in detail.
  • how to sync your data from any system to Facebook custom audiences. 
  • how to use the FBsync addon most effectively. 

Rating & Feedback

If you have any questions, feel free to have a look in my FAQ section.

Here you find a lot of Q&As from other users as well as use cases, further ideas as well as valuable hints.

Also have a look in my release notes if you are searching for a specific feature.

In the release notes I continuously update new and available features and also include my TODO list with upcoming features.

Finally if you have any wishes, ideas, use cases, etc. which are not yet possible with my add-on, you can always send me an email via my contact form.

>> Now it’s time to get started.

Try the Facebook Custom Audience Sync add-on for Google Sheets now!

I wish you the best Facebook ads targeting with my add-on.

Yours, Michaela Linhart

Michaela Linhart