Facebook Conversions API

Aka Facebook CAPI

Facebook est un service de médias sociaux et de réseautage social en ligne appartenant à Meta. Cette destination vous permet d'envoyer tout type d'événement directement à Facebook via l'API : en envoyant des conversions en ligne et hors ligne, vous pouvez augmenter la portée et la précision de vos campagnes.

Par exemple, vous pouvez ne pas envoyer de campagnes liées à un produit spécifique aux utilisateurs qui l'ont déjà acheté, ou bien envoyer des campagnes aux utilisateurs ayant acheté un produit spécifique dans une logique de cross-sell.

Comment envoyer des événements à Facebook ?

Facebook a développé une API appelée 'Facebook Conversions API' https://developers.facebook.com/docs/marketing-api/conversions-api

Vous avez besoin d'un compte Facebook Business Manager https://business.facebook.com/

Ensuite, dans le menu, cliquez sur 'Events Manager' :

Events Manager

Ici vous devez créer un nouveau Web Pixel :

Nouveau Web Pixel

Sélectionnez Conversions API et donnez un nom à votre connexion :

Votre pixel est maintenant créé et vous aurez accès aux IDs nécessaires dans notre connector.

Où trouver l'ID du Pixel ?

Vous devez remplir l'ID du pixel dans notre connector, c'est l'ID du pixel que vous venez de créer aux étapes ci-dessus.

Vous pouvez trouver cet ID lorsque vous cliquez sur le nom du pixel, à droite du graphique d'activités. Vous pouvez également le trouver dans l'onglet des paramètres.

Trouver l'ID du Pixel

Vous pouvez maintenant copier et coller cet ID dans notre connector.

Ensuite vous aurez besoin de l'Access Token

Où trouver l'access token ?

Vous pouvez définir votre access token de deux manières :

  1. Facebook Login For Business Authentication

  2. Générer un token longue durée

Si vous configurez les deux, "Facebook Login For Business Authentication" sera priorisé.

Facebook Login For Business Authentication

  1. Dans votre compte Commanders Act, accédez à (1) Administration(2) Connector Credentials ou cliquez sur le lien ajouter un nouveau compte dans les paramètres de la destination. \

  2. Cliquez (3) Add connector credentials en haut à droite : \

  3. Sélectionnez (4) Facebook Ads \

  4. Connectez-vous avec les identifiants de votre compte Facebook.

  5. Allez dans les paramètres de votre destination et sélectionnez les credentials ajoutés dans le menu déroulant sous (5) API Authentication(6) Credentials

  6. Enregistrez les paramètres de votre destination.

Générer un token longue durée

  1. Dans le menu de gauche, sélectionnez (1) Data sources .

  1. Localisez votre (2) dataset existant et sélectionnez-le ou créez un nouveau dataset.

  1. Cliquez sur l'onglet (3) Settings

  1. Localisez le lien (4) Generate access token et cliquez dessus pour générer un access token

  1. Copiez et collez votre access token dans le champ API Access Token de votre destination et enregistrez les paramètres de votre destination.

Comment gérer les consentements ?

  • Seuls les événements avec un consentement seront envoyés à Facebook

  • Seules les conversions contenant des informations personnelles (email et/ou numéro de téléphone...) seront envoyées à Facebook

Pour les clients utilisant notre produit TRUST Commander :

TRUST Commander est notre Consent Management Platform. (Plus d'informations : https://www.commandersact.com/en/solutions/trustcommander/)

Sur le connector, le consentement est géré avec le champ 'User Consent Category'. Vous devez entrer un ID de catégorie, celui correspondant à Facebook (advertising) dans les catégories de consentement Trust.

Pour les clients n'ayant pas notre produit TRUST Commander :

Nous devons distinguer 3 cas :

  • Vos événements en ligne sont collectés via notre tag d'événements Commanders Act : Vous devez fournir, dans les event tags, la liste des IDs de catégories consenties par l'utilisateur, via la consent_categories property.

  • Vous nous envoyez vos événements via API ou fichier CSV : un champ consent_categories doit être ajouté dans le JSON ou le CSV pour préciser les IDs de catégories de consentement de l'utilisateur. Ensuite, dans les paramètres du connector, utilisez le champ 'User Consent Category' pour entrer un ID de catégorie, celui correspondant à Facebook (advertising)

  • Vous gérez déjà les consentements de votre côté et vous ne nous envoyez, depuis votre serveur,

    des événements ayant obtenu le consentement pour la catégorie advertising. Dans ce cas, ne remplissez pas le champ ‘User Consent Category’ dans le connector.

Comment la déduplication entre le pixel et le serveur est-elle gérée ?

L'utilisation conjointe du pixel et du server est recommandée par Facebook car cela peut éviter la perte de données.

Pour que cela fonctionne, vous devez avoir la même configuration pour le pixel et le server, en utilisant les mêmes paramètres Facebook.

Sur le pixel, event_id est automatiquement généré par notre Commanders Act Tag et nous récupérons la même valeur pour le serveur sur integrations.facebook.event_id. En conséquence, ces 2 valeurs doivent être identiques. Event_name doit également être identique.

Fbp le paramètre est automatiquement récupéré pour conserver la même valeur entre le pixel et le server.

La déduplication fonctionne lorsque le même événement est envoyé d'abord depuis le navigateur et puis depuis le serveur, sinon cela crée un doublon. Les événements sont envoyés en temps réel.

Exemples

Sur le pixel :

eventID: tC.uniqueEventId est généré automatiquement.

Sur le serveur :

integrations.facebook.event_id récupère automatiquement la valeur eventID provenant du pixel (eventID: tC.uniqueEventId) pour les événements standard.

Mappings vers les Facebook Standard Events

Le Facebook CAPI Destination transformera l' Commanders Act event comme...

...dans Facebook CAPI des événements tels que :

Les mappings suivants sont entièrement automatisés et ne nécessitent par défaut aucune configuration supplémentaire. Vous pouvez toujours personnaliser chacun comme suit.

Mapping : (root)

La plupart des propriétés peuvent être remappées en utilisant notre fonctionnalité "Smart Mapping".

Propriétés Commanders Act
Propriétés Facebook

event_id [2][3]

event_id [1]

event_name

event_name [4]

context.event_timestamp

event_time [5]

context.page.url

event_source_url

context.page.referrer

referrer_url

Activer le suivi App

type

action_source [6]

opt_out [3]

opt_out [7]

data_processing_options [3]

data_processing_options [7]

data_processing_options_country [3]

data_processing_options_country [7]

data_processing_options_state [3]

data_processing_options_state [7]

[1] Défini en fonction des propriétés disponibles, dans l'ordre indiqué à gauche. Par défaut, une valeur aléatoire générée à partir du timestamp est utilisée. &#xNAN;[2] Dans le chemin de base/root de votre événement. &#xNAN;[3] Dans integrations.facebook de votre événement. &#xNAN;[4] Voir Mapping : event_name pour plus de détails. &#xNAN;[5] Si aucune valeur n'est fournie, le timestamp actuel est utilisé. &#xNAN;[6] Voir Mapping : action_source pour plus de détails. &#xNAN;[7] Voir plus de détails en suivant ce LINK.

Mapping : event_name

Le Facebook Pixel spécifie Standard Events dont la sémantique correspond aux événements dans le Commanders Act Standard

Si la destination reçoit un Commanders Act Event avec event_name correspondant à la liste, il sera automatiquement envoyé sous le nom d’événement Facebook Standard Sinon, il sera envoyé sans aucune transformation

Commanders Act Events
Facebook Events

begin_checkout

InitiateCheckout

purchase

Purchase

add_to_cart

AddToCart

view_item

ViewContent

view_item_list

ViewContent

search

Search

add_payment_info

AddPaymentInfo

add_to_wishlist

AddToWishlist

generate_lead

Lead

page_view

PageView

sign_up

CompleteRegistration

contact

Contact

customize_product

CustomizeProduct

donate

Donate

find_location

FindLocation

schedule

Schedule

search

Search

start_trial

StartTrial

submit_application

SubmitApplication

subscribe

Subscribe

Exemples :

  • Si la destination voit un add_to_cart événement (DANS la liste), elle enverra un AddToCart à Facebook CAPI

  • Si la destination voit un custom_name événement (PAS DANS la liste), elle enverra un custom_name à Facebook CAPI (sans transformation)

Remarque : Vous pouvez personnaliser le event_name en utilisant Properties Transformations dans les paramètres de la Destination.

Mapping : action_source

Par défaut, action_source sera défini sur 'website' (la plupart des événements concernent l'activité en ligne). SI Activer le suivi App est coché ALORS action_source='app'

Spécificité des conversions hors ligne :

  • SI votre événement a la propriété type='offline'

  • ALORS le Facebook Event aura action_source='physical_store'

  • SINON le Facebook Event aura action_source='website'

Exemple :

Si vous avez besoin d'écraser cette valeur, vous pouvez actuellement utiliser Properties Transformation pour définir le integrations.facebook.action_source.

Mapping : user_data

La plupart des propriétés peuvent être remappées en utilisant notre fonctionnalité "Smart Mapping".

Propriétés Commanders Act
Propriétés Facebook

user.id (haché) context.device.sdk_id user.tcId , user.tcid ou user.tc_id

user_data.external_id [1]

user.email

user_data.em (email, haché)

user.phone

user_data.ph (téléphone, haché)

user.gender

user_data.ge (genre, haché)

user.birthdate

user_data.db (date de naissance, hachée)

user.lastname

user_data.ln (nom de famille, haché)

user.firstname

user_data.fn (prénom, haché)

user.city

user_data.ct (ville, hachée)

user.state

user_data.st (état/région, haché)

user.zipcode

user_data.zp (code postal, haché)

user.country

user_data.country (haché)

ip [3][4]

user_data.client_ip_address

user_agent [3][4]

user_data.client_user_agent

fbc [2] Le cookie "_fbc" [5]

user_data.fbc (Click ID)

fbp [2] Le cookie "_fbp" [5]

user_data.fbp (Browser ID)

advertising_id [3]

user_data.anon_id [6] user_data.madid [6]

user_data[Property Name] [7]

user_data[Property Name]

[1] Chaîne séparée par des virgules : valeurs dans l'ordre indiqué à gauche. [2] Dans integrations.facebook ou à la racine de vos événements avec la première ayant la priorité. [3] Dans context.device de votre événement. [4] Défini automatiquement si généré par Commanders Act OneTag. [5] Créé automatiquement par le tag client-side Facebook Pixel. [6] Uniquement pour les événements d'app. [7] Dans integrations.facebook de votre événement.

Chaque propriété peut être remplacée en utilisant integrations.facebook.user_data.<property>

Informations minimales requises

Les événements ne peuvent être utilisés que s'il y a suffisamment d'informations pour associer un utilisateur. Facebook attend au minimum une user_data propriété, mais recommande fortement d'envoyer autant de propriétés que possible.

Voici nos conditions pour envoyer les événements :

  • au moins 1 de ces champs : em, ph, external_id, fbp, fbc

  • au moins 3 des autres champs

Remarque : external_id, fbp, fbc permettront de faire correspondre un événement avec d'autres événements. Mais pour identifier un utilisateur, l'un de ces événements doit contenir des informations supplémentaires (em et ph sont les mieux adaptés pour le matching)

Mapping : custom_data

La plupart des propriétés peuvent être remappées en utilisant notre fonctionnalité "Smart Mapping". Les champs custom_data.contents et custom_data.content_ids sont mutuellement exclusifs, ce qui signifie qu'un seul d'entre eux peut être présent selon cette logique :

  • Si toutes ces propriétés sont présentes et définies dans items : product.id , quantity , et product.price , alors custom_data.contents est défini avec toutes les informations produit.

  • sinon, custom_data.content_ids est défini avec toutes les product.id .

Propriétés Commanders Act
Propriétés Facebook

valeurs

custom_data.value

currency

items.0.currency

custom_data.currency

id

custom_data.order_id

search_term

custom_data.search_string

items.X.id

custom_data.contents.X.id [1]

items.X.quantity

custom_data.contents.X.quantity [1]

items.X.product.price

custom_data.contents.X.item_price [1]

items.0.product.name

custom_data.content_name

items.0.product.category_1

custom_data.content_category

items.X.id

custom_data.content_ids [2]

Valeur du type de contenu

custom_data.content_type [3]

status

custom_data.status

items.length

custom_data.num_items

Envoyez toutes les propriétés de votre événement en tant que custom data

custom_data[Property Name] [4]

custom_data[Propery Name] [5]

custom_data[Property Name]

[1] Mutuellement exclusif avec custom_data.content_ids . [2] Tableau contenant tous les identifiants de produits. Mutuellement exclusif avec custom_data.contents. [3] Selon la valeur sélectionnée pour Valeur du type de contenu , qui se trouve sous Advanced Settings , il s'agit soit de product ou non défini. [4] Lorsque Envoyez toutes les propriétés de votre événement en tant que custom data est coché, toutes les propriétés de votre événement de type "string", "number" et "boolean" seront incluses dans custom_data avec le même nom de propriété. [5] Dans integrations.facebook dans votre événement.

Comportement par défaut

Facebook précise des règles pour standard properties. Le reste est complètement libre.

Par défaut, nous remplissons custom_data comme suit :

  1. Nous copions tous les CommandersAct Event properties into custom_data (à l'exception de certains champs de contexte comme source_key)

  2. Ensuite, nous mappont les propriétés standard selon le tableau ci‑dessus (peut écraser 1. valeurs)

  3. Enfin, nous écrasons avec integrations.facebook.custom_data.<property> si existe

Écraser custom_data

Le meilleur choix serait d'utiliser Properties Transformation pour modifier vos propriétés d'événement qui seront copiées dans custom_data.

Mais vous pouvez remplacer la valeur finale en utilisant integrations.facebook.custom_data.<property>.

Exemple :

Mapping : app_data

La plupart des propriétés peuvent être remappées en utilisant notre fonctionnalité "Smart Mapping".

Propriétés Commanders Act
Propriétés Facebook

ad_tracking_enabled [1]

advertiser_tracking_enabled [*]

application_tracking_enabled [1]

application_tracking_enabled [*]

context.campaign.name

campaign_ids

install_referrer [2]

install_referrer

installer_package [2]

installer_package

url_schemes [2]

url_schemes

windows_attribution_id [2]

windows_attribution_id

type [1]

extinfo[0] [3]

app.namespace [1]

extinfo[1]

app.build [1]

extinfo[2]

app.version [1]

extinfo[3]

os.version [1]

extinfo[4]

model [1]

extinfo[5]

language [1]

extinfo[6]

[No default field] [4]

extinfo[7]

network.carrier [1]

extinfo[8]

screen.width [1]

extinfo[9]

screen.height [1]

extinfo[10]

screen.density [1]

extinfo[11]

[No default field] [5]

extinfo[12]

[No default field] [6]

extinfo[13]

[No default field] [7]

extinfo[14]

timezone [1]

extinfo[15]

[*] Propriété obligatoire. [1] Dans context.device de votre événement. [2] Dans integrations.facebook ou à la racine de vos événements avec la première ayant la priorité. [3] Lorsque context.device.type est défini avec Android ou iOS (insensible à la casse), ceci est défini avec a2 ou i2 respectivement. [4] Peut être défini dans Smart MappingApp DataDevice Abbreviated Timezone . [5] Peut être défini dans Smart MappingApp DataCPU Cores . [6] Peut être défini dans Smart MappingApp DataExternal Storage Size . [7] Peut être défini dans Smart MappingApp DataAvailable Storage Size .

integrations.facebook.* deprecation

Vérifier les résultats sur l'interface Facebook

Pour voir la qualité du matching sur l'interface Facebook, allez ici : Events manager > sélectionnez l'événement > View Details > Event Matching > Rating Background

Comment envoyer des conversions hors ligne

La façon recommandée est d'utiliser le HTTP Tracking API source pour envoyer vos événements hors ligne depuis vos serveurs (ou tout autre émetteur). Vous devez simplement envoyer un purchase event avec le type property equals to offline Plus de détails sur le mappage automatique ici : Mapping action_source

Mis à jour

Ce contenu vous a-t-il été utile ?