> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeotap.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Facebook 1P (Meta)

**Reader Persona: `Partner or System Integrator  Admin  User`**

<Note>
  **Note:**

  The words **Facebook** and **Meta** are used interchangeably in this documentation. Both refer to Meta Platforms, Inc. and its suite of applications and services.
</Note>

## Overview

Meta, previously known as Facebook, offers a social media platform with a variety of advertising solutions to help you connect with your target audience through Meta Business Manager. By integrating with Zeotap CDP, you can create custom audiences and enhance personalisation for your campaigns. This integration allows you to target audiences across Facebook's suite of applications that support Custom Audiences, including Facebook, Instagram, Audience Network and Messenger. You can choose the app during the campaign setup process at the "placement" stage, where you determine where your ads will appear within Facebook's ecosystem.

## Use Cases

To illustrate how you can effectively use the Facebook destination, here are two scenarios that demonstrate its application.

### Use Case 1: Personalised Promotions for Your Beauty Products

Assume that you are Beauty products retailer who wants to target your current customers through social media by offering tailored promotions based on their purchase history and product preferences. You can import customer email addresses from your CRM into Zeotap CDP, create audience segments based on previous purchases and preferred brands, and then deliver these segments to the Facebook platform. This strategy helps you optimise your ad spend while promoting relevant offers to your existing customers.

### Use Case 2: Targeted Campaigns for Your Travel Agency

Let’s say you are a travel agency aiming to reconnect with past customers who booked trips through your services but have not engaged in a while. You have customer data, including email addresses and travel history, but lack app engagement metrics. To reach these customers on social media, you can transfer your customer data into Zeotap CDP using email addresses as key identifiers. Then, leverage their travel history to create distinct audience segments, which you can target with customised travel promotions on Facebook to re-engage them with your services.

## Actions, Supported Identifiers and Features

This integration allows you to send the following identifiers from Zeotap CDP to Facebook 1P Destination based on the [action type](/articles/integrate-customer/destinations#actionsanchor) selected while [creating the Destination](/articles/integrate-customer/facebook-1p#Facebook1P-CreatingaDestination).

| **Action**                                    | **Supported identifiers/Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | **Supported Features**                  |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| Send Identifiers to Facebook 1P               | • MAIDs<br /><br />• Email address (SHA256)<br /><br />• Phone number (SHA256)<br /><br />• [Facebook External ID](/articles/integrate-customer/facebook-1p#h3_1703970018). For information about how to capture the external IDs between a Brand and Facebook, refer [here](/articles/integrate-customer/facebook-1p#h2_1627480562).                                                                                                                                                                           | Audience Boost and Delete Functionality |
| Send Multiple User Identifiers to Facebook 1P | • MAIDs<br /><br />• Email address (SHA256)<br /><br />• Phone number (SHA256)<br /><br />• Gender<br /><br />• Date of birth<br /><br />• First Name and Last Name<br /><br />• State<br /><br />• City<br /><br />• ZIP Code<br /><br />• Country Code<br /><br />• [Facebook External ID](/articles/integrate-customer/facebook-1p#h3_1703970018). For information about how to capture the external IDs between a Brand and Facebook, refer [here](/articles/integrate-customer/facebook-1p#h2_1627480562). | Audience Boost and Delete Functionality |

## Key Concepts

### Facebook External ID

Facebook External ID or simply External ID is an unique string value that represents a user on an advertiser’s system. For example, Loyalty membership IDs, User IDs, external cookie IDs and more. For a given event, the `external_ ID` is used to match to someone on Facebook. Before you send external ID to Facebook, ensure that you [add the identifier in your Zeotap Catalogue](https://docs.zeotap.com/articles/unify-customer/add-a-catalogue-field). You can then map these IDs when [creating a Facebook 1P destination](/articles/integrate-customer/facebook-1p#Facebook1P-CreatingaDestination).

<Note>
  **Note:**

  * To learn more about External IDs, refer [here](https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences/#external_identifiers).
  * To learn about how to capture the external IDs between a Brand and Facebook, refer [here](/articles/integrate-customer/facebook-1p#h2_1627480562).
</Note>

## Prerequisites

Ensure that you take care of the following prerequisites before starting this integration:

* [Obtain Full Access to the Facebook Ad Account ID](/articles/integrate-customer/facebook-1p#Facebook1P-AdAccountID)
* [Accept the Facebook Audiences Terms of Service](/articles/integrate-customer/facebook-1p#h3__93861049)
* [Create an App in Facebook Developers portal and obtain the App ID](/articles/integrate-customer/facebook-1p#h3__959531775)
* [Obtain Access Token required for authenticating Zeotap CDP on the Facebook platform](/articles/integrate-customer/facebook-1p#Facebook1P-AccessToken)
* [Obtain Your Facebook Graph API Version](/articles/integrate-customer/facebook-1p#Facebook1P-APIVersion)

### Obtain Full Access to the Facebook Ad Account ID

This is the 16 digit Facebook Ad Account ID. Ensure that you have full access to the Facebook Ads account you want to forward your audience data to. To do so, perform the following steps:

<Steps>
  <Step>
    Log into Facebook Business Manager at [business.facebook.com](https://business.facebook.com/).
  </Step>

  <Step>
    Select the Facebook business portfolio you want to use for sending audience data from the top right corner.
  </Step>

  <Step>
    Navigate to **Settings > Accounts > Ad Accounts**.
  </Step>

  <Step>
    Select the Ad Account you wish to use.
  </Step>

  <Step>
    Click **Ad Account Access**.
  </Step>

  <Step>
    Under **People with full control**, ensure that you find the Facebook account you wish to use to set up the integration. In order to provide Full Access to someone, perform the following steps:

    a. Click **Manage** next to their name.

    b. To add new people, click **Assign People**, and select their name from the list of people with access to your Meta Business portfolio.

    <Frame>
      <img src="https://mintcdn.com/zeotap/iO8h5JmzK8FO_MOm/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-17-7.png?fit=max&auto=format&n=iO8h5JmzK8FO_MOm&q=85&s=d6f1d5cd18f49d00a32a0c861b8793ad" width="1440" height="920" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-17-7.png" />
    </Frame>
  </Step>
</Steps>

### Accept the Facebook Audiences Terms of Service

Follow these steps to ensure the Facebook Ad Account has accepted the required Terms of Service for Audiences:

<Steps>
  <Step>
    Log in to your Facebook Ad Account at [adsmanager.facebook.com](https://adsmanager.facebook.com/).
  </Step>

  <Step>
    Click **Audiences** from the left navigation menu.
  </Step>

  <Step>
    Use the dropdown in the top-right corner to confirm you have selected the correct ad account.
  </Step>

  <Step>
    If you have not yet accepted the necessary Terms of Service, you will be prompted to do so.
  </Step>

  <Step>
    If the terms have already been accepted, you will see options to create new audiences.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-11-4.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=70b453e4ba6fb127ae515dbabfe47ff6" width="806" height="693" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-11-4.png" />
    </Frame>
  </Step>
</Steps>

### Create an App in Facebook Developers Portal and Obtain the App ID

/\* **If an app has already been created on your behalf by a partner, you can skip this step. Otherwise, continue reading. When a partner creates the app, it is registered under the name Zeotap CDP, and access is granted using the OAuth2 flow.** \*/

Ensure that you sign up for the [Facebook Developers Portal](https://developers.facebook.com/) and create a new app. For information about how to create and publish an App in Facebook, refer to the [Facebook documentation](https://developers.facebook.com/docs/development/create-an-app).

<Note>
  **Note:**

  *When creating a new app, ensure to complete the [App Review](https://developers.facebook.com/docs/app-review)and [Business Verification](https://developers.facebook.com/docs/development/release/business-verification) process with Facebook. This step is essential for creating the Access Token smoothly.*
</Note>

#### Obtain the App ID

To obtain the App ID, perform the following steps:

<Steps>
  <Step>
    Visit the Meta for Developers website at [https://developers.facebook.com/](https://developers.facebook.com/) and log in with your Facebook account credentials.
  </Step>

  <Step>
    Click **My Apps** in the top navigation bar.
  </Step>

  <Step>
    Under the list of apps on your dashboard, you can find your App ID listed under the name of your app.

    <Frame>
      <img src="https://mintcdn.com/zeotap/iO8h5JmzK8FO_MOm/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-17-6.png?fit=max&auto=format&n=iO8h5JmzK8FO_MOm&q=85&s=445c013315f528f70f3c12661823c3a9" width="1424" height="476" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-09-17-6.png" />
    </Frame>
  </Step>
</Steps>

### Obtain Access Token required for authenticating Zeotap CDP on the Facebook Platform

Access Token is an unique identifier that is required for authenticating Zeotap CDP on the Facebook platform. The following are the two types of access tokens that you can generate:

* [System User Access Token](/articles/integrate-customer/facebook-1p#h4_1753992079) - A System User Access Token is used if your app performs programmatic, automated actions on your business clients' Ad objects or Pages without having to rely on input from an app user, or require re-authentication at a future date. [Learn more](https://developers.facebook.com/docs/facebook-login/guides/access-tokens/#usertokens)
* [Page Access Token](/articles/integrate-customer/facebook-1p#h4__168234483) - A Page Access Token is used to read, write, and modify the data belonging to a Facebook Page. To generate a page access token, an admin of the page must grant your app the Page permission or permissions needed. Once granted, you can retrieve the Page access token using a user access token with the required permissions. [Learn more](https://developers.facebook.com/docs/facebook-login/guides/access-tokens/#pagetokens)

<Note>
  **Note:**

  For handling errors related to the validity of access tokens, refer to the [Facebook documentation](https://developers.facebook.com/docs/facebook-login/guides/access-tokens/debugging).
</Note>

#### Generate System User Access Token

Once your App is created on [Facebook Developers Portal](https://developers.facebook.com/), perform the following steps to generate a System User Access Token:

<Steps>
  <Step>
    Log into your Facebook Business Manager account and navigate to **Settings**.
  </Step>

  <Step>
    Under **Users**, click **System users** and then click **+ Add**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=9febe39c00460ae45e81118cdf6f1fbe" width="3454" height="1712" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19.png" />
    </Frame>
  </Step>

  <Step>
    Enter a valid name for the system user and select the appropriate role and click **Create system user**. You can create one system user with the **Admin** role and one with the **Employee** role. Attempting to create additional users displays the following error:

    **"This business has reached the maximum number of system users. The maximum number of system users allowed is 1."**

    <Frame>
      <img src="https://mintcdn.com/zeotap/iO8h5JmzK8FO_MOm/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-20-2.png?fit=max&auto=format&n=iO8h5JmzK8FO_MOm&q=85&s=68f4833c234f14a718c1fe1de03ceebf" width="2284" height="1134" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-20-2.png" />
    </Frame>
  </Step>

  <Step>
    In the new window, under **Select app**, choose the desired app from the drop-down menu and click **Next**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-1.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=cd8fa0dab5de3adacb87f41317e7eed2" width="3456" height="1686" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-1.png" />
    </Frame>
  </Step>

  <Step>
    In the **Set expiration** window, choose the token expiry using the radio button. Here, you can either choose **60 days** or **Never**. However, Facebook recommends selecting **60 days**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-2.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=595c7e057037df764d98766a636a7140" width="3452" height="1696" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-2.png" />
    </Frame>
  </Step>

  <Step>
    In the **Assign Permissions** window, select the following permissions:

    * **ads\_read**
    * **ads\_management**
    * **pages\_manage\_ads**
    * **pages\_show\_list**

    To learn more about permissions, click [here](https://developers.facebook.com/docs/permissions/reference).

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-3.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=cd6ae9c93339519c037960ccba2ff333" width="3456" height="1698" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-3.png" />
    </Frame>
  </Step>

  <Step>
    Review the selected permissions and click **Generate token**. You can copy the generated token and save it for the steps ahead.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-4.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=9cdace8ea8a34e87d98511b21f070622" width="3456" height="1708" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-07-19-4.png" />
    </Frame>
  </Step>

  <Step>
    Navigate to [Access Token Tool](https://developers.facebook.com/tools/accesstoken). In the new screen that appears, click **access token debugger**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/iO8h5JmzK8FO_MOm/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-20.png?fit=max&auto=format&n=iO8h5JmzK8FO_MOm&q=85&s=f9b8fd5982afd61f6885701558c205df" width="1978" height="942" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-20.png" />
    </Frame>
  </Step>

  <Step>
    Paste the access token and click **Debug**. The page appears where you can find the full information of the access token. Note that you can create a new destination on Zeotap CDP using the newly generated access token, or to update an existing destination, simply provide the token to Zeotap Support Team.

    <Note>
      **Note:**

      Whenever you update the access given to the system user, you need to generate a new access token.
    </Note>
  </Step>
</Steps>

#### Generate Page Access Token

To generate a page access token, an admin of the page must grant your app the Page permission or permissions needed. Once granted, you can retrieve the Page access token using a user access token with the required permissions. This is the never-ending token that you generate using the Postman tool.

<Note>
  **Note that an incorrect access token leads to the failure of segments. Therefore, ensure that you use the never-ending token as mentioned below and check it using the token validation tool.**
</Note>

Once your App is created on [Facebook Developers Portal](https://developers.facebook.com/), perform the following steps to generate the Page Access Token:

<Steps>
  <Step>
    Navigate to [Facebook Graph API Explorer](https://developers.facebook.com/tools/explorer/) and generate a short-lived access token.
  </Step>

  <Step>
    Select your app from the **Application** drop-down menu.
  </Step>

  <Step>
    Select **Get user access token** from the next drop-down menu.

    <Frame>
      <img src="https://mintcdn.com/zeotap/wwl-XxoFg7U2kGQg/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_getuser_accesstoken.png?fit=max&auto=format&n=wwl-XxoFg7U2kGQg&q=85&s=acef83c7b9bc5ad67d670a1c538fb0ed" width="1600" height="619" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_getuser_accesstoken.png" />
    </Frame>
  </Step>

  <Step>
    The **Add a Permission** option appears as mentioned below. Select **Event Groups Pages** and select the following permissions:

    * **ads\_read**
    * **ads\_management**
    * **pages\_manage\_ads**

    <Note>
      **Note:**

      To understand more about the permissions, refer [here](https://developers.facebook.com/docs/permissions/reference).
    </Note>
  </Step>

  <Step>
    Click **Generate Access Token** to generate the user access token.
  </Step>

  <Step>
    This creates a short-lived user access token that opens a popup. Select the relevant page you want to manage.

    <Frame>
      <img src="https://mintcdn.com/zeotap/wwl-XxoFg7U2kGQg/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_shortlived_ip.png?fit=max&auto=format&n=wwl-XxoFg7U2kGQg&q=85&s=6fe3e130fa0017addfb7ece1334e546e" width="1154" height="1168" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_shortlived_ip.png" />
    </Frame>
  </Step>

  <Step>
    Click **Next**. A confirmation page appears with the requested permissions.

    <Frame>
      <img src="https://mintcdn.com/zeotap/wwl-XxoFg7U2kGQg/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_requested.png?fit=max&auto=format&n=wwl-XxoFg7U2kGQg&q=85&s=0021e23e0517193246c85399b9f81faa" width="1154" height="1230" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_requested.png" />
    </Frame>
  </Step>

  <Step>
    Navigate to and click **Debug**. The page appears where you can find the full information for the short-lived user access token. Note that the short-lived user access token expires after an hour.
  </Step>

  <Step>
    To extend the expiry date, click **Extend Access Token**. You get the long-lived access token.
  </Step>

  <Step>
    Copy this new long-lived access token to use in the next step. If you do not see **Extend Access Token** and your token expires within two months, then it indicates that you already have the long-lived access token. In that case, you can skip this step and go to the next step.

    <Frame>
      <img src="https://mintcdn.com/zeotap/puXmsvA7x0OblYvo/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_extnd_accsstoken.png?fit=max&auto=format&n=puXmsvA7x0OblYvo&q=85&s=aaa93501d777cfe61eabe899eba2e158" width="1600" height="909" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_extnd_accsstoken.png" />
    </Frame>
  </Step>

  <Step>
    Go to and paste the recently created long-lived user access token in the **Access Token** field. Perform the following steps:

    a. Change the API endpoint to access **/me/accounts** and click **Submit**. This displays the result with information about all the pages including the page access token, which is a never expiring token that is used to authenticate all the requests.

    b. Copy the access token of the relevant page and the API version used in the request to generate the token. This information is required when you set up a Destination within the Zeotap CDP App.

    <Frame>
      <img src="https://mintcdn.com/zeotap/wwl-XxoFg7U2kGQg/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_meaccount.png?fit=max&auto=format&n=wwl-XxoFg7U2kGQg&q=85&s=caefee150815b454dbbc9ac0965a5ef2" width="1600" height="781" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_meaccount.png" />
    </Frame>

    Alternatively, you can also go to Postman and import the following (In case you do not have Postman, set it up):

    ```bash Code theme={null}
    curl --location --request GET 'https://graph.facebook.com/v12.0/{your-user-id}/accounts?access_token={long-lived-access-token}
    ```

    * Replace **`{your-user-id}`** with **App-Scoped User ID**.
    * Replace **`{long-lived-access-token}`** with the long-lived access token that you have generated. Ensure to make these changes before importing this code in Postman. The below response is obtained.

    <Frame>
      <img src="https://mintcdn.com/zeotap/puXmsvA7x0OblYvo/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_accesstoken_postman.png?fit=max&auto=format&n=puXmsvA7x0OblYvo&q=85&s=3f5e2511525e9d4f3b4d74d0b505a1f6" width="1594" height="820" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_accesstoken_postman.png" />
    </Frame>
  </Step>

  <Step>
    Verify if the page access token is never expiring. Go to and paste the never-expiring access token that you have received and click **Debug.**

    <Frame>
      <img src="https://mintcdn.com/zeotap/puXmsvA7x0OblYvo/articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_accesstoken_debug.png?fit=max&auto=format&n=puXmsvA7x0OblYvo&q=85&s=8923d09e382dd9ceeed00f9d6d3acd19" width="1600" height="911" data-path="articles/integrate-customer/Storage/integrate-customer/project-destination-internal/fbk1p_accesstoken_debug.png" />
    </Frame>
  </Step>
</Steps>

### Obtain Your Facebook Graph API Version

This is the current version of your Facebook Graph API. You can find it while generating the access token as mentioned above. It appears on the left-hand side of the screen along with the other details about your access token.

<Note>
  **Note:**

  Enter only the numerical part of the version while creating a destination in Zeotap CDP. For example, if the version is `v17.0`, then enter only `17.0`
</Note>

## What Next?

Once you have completed the above mentioned prerequisites, perform the following steps to set up the integration between Zeotap CDP and Facebook 1P:

<Steps>
  <Step>
    Create a Destination for Facebook 1P in Zeotap CDP
  </Step>

  <Step>
    Link an Audience to the Facebook 1P Destination
  </Step>

  <Step>
    Find Your Zeotap CDP Audience on Facebook 1P
  </Step>
</Steps>

## 1. Create a Destination for Facebook 1P

Perform the following steps to create a Destination for Facebook 1P:

<Steps>
  <Step>
    Log into the Zeotap CDP App and go to the **DESTINATIONS** application.
  </Step>

  <Step>
    Click **+ Create Destination.**

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/ADOBE_DMP_3.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=faac0fd8ef98248ea3988b0b76d0f0c6" width="2870" height="796" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/ADOBE_DMP_3.png" />
    </Frame>
  </Step>

  <Step>
    Under **All Destinations**, search for **Facebook 1P**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/ADOBE_DMP_4.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=3ba5802e717bdad20433027c6d9f4eb7" width="2866" height="888" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/ADOBE_DMP_4.png" />
    </Frame>
  </Step>

  <Step>
    Click **Facebook 1P.** A screen appears displaying details about the particular destination towards the left. On the right-hand side of the screen find a list of fields that are required for the integration to be established. Enter the required details as mentioned in the following steps:
    a. Enter a name for the Destination.

    b. Enter the **Ad Account ID** number associated with Facebook Business Manager.

    c. Enter the **Access Token** that you have obtained as mentioned in the section [above](/articles/integrate-customer/facebook-1p#Facebook1P-AccessToken).

    d. Enter the **API Version**.

    <Note>
      **Note:**

      *Enter only the numerical part of the version while creating a destination in Zeotap CDP. For example, if the version is V17.0, then enter only 17.0*
    </Note>

    e. Review all the values entered above and then click **Next** to proceed.

    <Frame>
      <img src="https://mintcdn.com/zeotap/iO8h5JmzK8FO_MOm/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-22-2.png?fit=max&auto=format&n=iO8h5JmzK8FO_MOm&q=85&s=df90b3e724b1cb1d88d0411ec5202e95" width="1524" height="988" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2025-01-22-2.png" />
    </Frame>
  </Step>

  <Step>
    In the new screen that appears, choose the appropriate Action and mapping as explained below.

    a. Under **Choose your Action**, you can either choose **Send Identifiers to Facebook 1P** or **Send** **Multiple User Identifiers to Facebook 1P** as the action based on your use case.

    i. If you choose **Send Identifiers to Facebook 1P** as the action, then the output identifiers such as `MAIDs`, `email addresses`, `cellphone numbers` and [Facebook external ID](/articles/integrate-customer/facebook-1p#h3_1703970018) are populated. You can edit and remap the identifiers as required. Note that in this action, each identifier is sent as an individual user profile.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-02-06.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=44e008565c13cc7a87555fcf9b467b8e" width="3584" height="1810" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-02-06.png" />
    </Frame>

    ii. If you choose **Send Multiple User Identifiers to Facebook 1P** as the action, then the output identifiers such as [Facebook external ID](/articles/integrate-customer/facebook-1p#h3_1703970018), `email addresses`, `MAIDs`, `cellphone numbers`, `gender`, `date of birth`, `last name`, `first name`, `city`, `state`, `zip` and `country` are populated. Note that all the identifiers selected under the mapping screen are sent as a single user profile.

    <Note>
      **Note:**

      *To increase the match rate, we recommend that you use Send Multiple User Identifiers to Facebook 1P as the action.*
    </Note>

    <Frame>
      <img src="https://mintcdn.com/zeotap/xYI7J3lLAExguMI0/articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-02-06-1.png?fit=max&auto=format&n=xYI7J3lLAExguMI0&q=85&s=abde93581376607116e94a8033c0033f" width="3584" height="1810" data-path="articles/integrate-customer/Storage/integrate-customer/facebook-1p/facebook-1p-2024-02-06-1.png" />
    </Frame>

    The following table lists how Facebook prefers specific attributes to be formatted and activated through Zeotap.

    | **Attribute**            | **How Facebook wants the attribute**                                                                                                                                                                                                                                                                                                                         | **Transformation performed by Zeotap CDP**                                                                                                                                                                                             |
    | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | External ID              | **Hashing NOT required**                                                                                                                                                                                                                                                                                                                                     | Zeotap CDP sends it as it is                                                                                                                                                                                                           |
    | Email Address            | **Hashing required**Trim leading and trailing white space, and convert all characters to lowercase.                                                                                                                                                                                                                                                          | **Email SHA256 Lowercase** in Zeotap Catalogue can be mapped to this attribute.Consult your Zeotap POC to understand how to ingest this identifier                                                                                     |
    | Phone Number             | **Hashing required**Remove symbols, letters, and any leading zeroes.                                                                                                                                                                                                                                                                                         | **Cellphone Number Withcode Sha256** in Zeotap Catalogue can be mapped to this attribute.Consult your Zeotap POC to understand how to ingest this identifier                                                                           |
    | Gender                   | **Hashing required**m for male, f for female.                                                                                                                                                                                                                                                                                                                | <ol start="1" class="ak-ol"><li><p>Zeotap extracts first alphabet of the Gender value.</p></li><li><p>Lowercase and hash it automatically and sent it to Facebook</p></li></ol>                                                        |
    | Date of birth            | **Hashing required**Send YYYY, MM, DD separately to Facebook.                                                                                                                                                                                                                                                                                                | <ol start="1" class="ak-ol"><li><p>Make sure you onboard Date of birth as a timestamp field in Zeotap.</p></li><li><p>Zeotap takes care of the relevant transformation.</p></li></ol>                                                  |
    | First Name and Last Name | **Hashing required**Use a-z only. Lowercase only, no punctuation. Special characters in UTF-8 format.                                                                                                                                                                                                                                                        | Zeotap performs relevant transformation                                                                                                                                                                                                |
    | State                    | **Hashing required**Use the [2-character ANSI abbreviation code](https://en.wikipedia.org/wiki/Federal_Information_Processing_Standard_state_code), lowercase. Normalize states outside the US in lowercase, with no punctuation, no special characters, and no white space.                                                                                 | Zeotap hashes the State values ingested by the customer and send it to Facebook                                                                                                                                                        |
    | City                     | **Hashing required**Use a-z only. Lowercase only, with no punctuation, no special characters, and no white space.                                                                                                                                                                                                                                            | Zeotap hashes the State values ingested by the customer and send it to Facebook                                                                                                                                                        |
    | ZIP Code                 | **Hashing required**Use lowercase, and no white space. For the US, use only the first 5 digits. For the UK, use the Area/District/Sector format.                                                                                                                                                                                                             | <ol start="1" class="ak-ol"><li><p>Zeotap removes any white spaces in the ZIP code.</p></li><li><p>Hash it and send it to Facebook.</p></li></ol>Ex - Sample UK ZIP code SW1A 2AA will be sent as SHA256 converted(SW1A2AA)            |
    | Country Code             | **Hashing required**Use lowercase, 2-letter country codes in [ISO 3166-1 alpha-2](https://l.facebook.com/l.php?u=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FISO_3166-1_alpha-2\&h=AT2REaTRj74j0wCK5SjaTz0QZBTuCchiMCRJSskl-O07vrBMmmRUZdpGVoAvT-_rGuwyZSUbueaUVdI23oEVM00K2Lj0paq2UWFCByYKZznU0vvsTIEZir8w9wEkge7CNwL_dS7dm9Q3DLgAvKFoq6GtSxyls3ptgQC-1ediZZw). | **Country** in Zeotap Catalogue can be mapped to this attribute.If you are mapping any other attribute, make sure you are onboarding 3-letter country code. Zeotap will convert it into 2-letter country code and send it to Facebook. |
    | Mobile Advertising ID    | **Hashing NOT required**Use all lowercase, and keep hyphens.                                                                                                                                                                                                                                                                                                 | Zeotap CDP sends it as it is                                                                                                                                                                                                           |

    b. After reviewing the fields, click **Create Destination**. The created Destination gets listed in the *Audiences* application, which can be linked to an Audience/segment.

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/creating-salesforce-crm/1ed3e73c-019e-44df-aaee-7d8704cccb52.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=987ffbc3670aeb234416e1ca1ba67272" width="1984" height="978" data-path="articles/integrate-customer/Storage/integrate-customer/creating-salesforce-crm/1ed3e73c-019e-44df-aaee-7d8704cccb52.png" />
    </Frame>
  </Step>
</Steps>

## 2. Link an Audience to the Facebook 1P Destination

For information about how to link an Audience or segment to the created Destination in **Audiences**, refer [here](/articles/integrate-customer/link-an-audience-to-the-destination#h3_64671714). Note that the terms *Audiences* and *Segments* are used interchangeably to refer to customer cohorts belonging to a specific category. For example, an Audience or a segment can be a specific group of customers who are over 18 years of age and have performed an `addToCart` event within the last 30 days.

<Note>
  **Note:**

  The following are some useful information related to linking an audience to the Facebook 1P Destination:

  * It can take up to one business day for segments to be available at the Facebook seat.For more information about the SLA, [refer](https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences#external_identifiers)
  * We recommend that you directly create segments in the client’s account so that theyare not available under Zeotap’s Ad accounts, unlike the third-party setup.
  * The custom audience limit of 500 applies to each Ad account that the client usesbut not on the Zeotap account.Facebook compares the data uploaded by us against asegment with their encrypted user data. If they find a match, the IDs gets added to thecustom audience/segment and Ads gets delivered to them.
</Note>

## 3. Find Your Zeotap CDP Audience on Facebook 1P

Perform the following steps to find your new audience(s) on Facebook 1P:

<Steps>
  <Step>
    Log into [Facebook Ads Manager](https://adsmanager.facebook.com/) and select the business portfolio that contains the ad account used to set up your audience connection from the left-hand navigation.
  </Step>

  <Step>
    In the left navigation panel, click **Audiences**.
  </Step>

  <Step>
    After creating and activating your audience connection between Zeotap CDP and Facebook, you will see the custom audiences added to your Audience list in Facebook Ads Manager.

    <Note>
      **Note:**

      It can take up to 24 hours or one business day for a Zeotap CDP audience to fully sync with Facebook.
    </Note>
  </Step>
</Steps>

## Additional Information about the Integration

### User Disqualification from Audiences

This integration supports user disqualification from audiences. That is, a user can be disqualified from an audience (segment) for various reasons, such as not meeting audience criteria, consent requirements or other conditions set for a particular audience.

* When a user disqualifies from an audience, Zeotap CDP initiates a user deletion request in the next refresh cycle. These requests are sent to the audiences linked to the specific destination.
* The disqualified users are excluded from the audiences based on the configured refresh frequency for a particular audience.
* User disqualification is a programmatic process that works automatically. You do not need to specify anything to trigger the disqualification and exclusion of users from audiences.

### Sending/Capturing External IDs

The following steps summarise the process of sending or capturing the external IDs between a Brand and Facebook:

1. A Brand places the Facebook pixel on their websites and configures the tag to pass the Facebook cookie/any other custom identifier as an extern\_id to Facebook. Refer to the implementation guide [here](https://developers.facebook.com/docs/meta-pixel/get-started).

External ID is pushed as follows: Code

```js Code  theme={null}
fbq('init', '<YOUR_PIXEL_ID>', {
  'extern_id': <UNIQUE_ID_FOR_THE_CUSTOMER>
});
```

2. Facebook internally creates a mapping table that maps the extern\_ID (for example, Orange's cookie) to a standard Facebook ID (for example, Zeotap's UCID).
3. The Brand separately passes the Facebook cookie to Zeotap as id\_mid\_62, using the Google Tag Manager (GTM), JavaScript (JS) or any other tag implementation.
4. The Brand creates an audience within **Audiences** using the Facebook cookies.
5. Zeotap uploads the Facebook cookie as an extern ID to Facebook. Facebook then refers to the mapping table to target the user within their ecosystem.

<Note>
  **Note:**

  *Ensure to accept the terms of Custom Audience as mandated by Facebook from Sept 2021 by visiting the link mentioned [here](https://business.facebook.com/ads/manage/customaudiences/tos/?act=). This is a mandatory step. To accept the terms, go to the following link and click Accept in the left corner: [https://business.facebook.com/ads/manage/customaudiences/tos/?act=](https://business.facebook.com/ads/manage/customaudiences/tos/?act=)*
</Note>

## Troubleshooting

When setting up this destination, you might encounter the following error:

`{"message":"Facebook Error: Permission error","code":"400 BAD_REQUEST"}`.

This error typically happens when new accounts are being used and Facebook permissions are not yet active.

<Note>
  **Note:**

  Ensure you accept the Facebook Audiences Terms of Service as explained in the [Prerequisites](/articles/integrate-customer/facebook-1p#h3__93861049) section.
</Note>

If the 400 Bad Request error persists after completing the prerequisite steps, allow a few days for the Facebook permissions to take effect.
