Ce document a été mis à jour.
La traduction en Français (France) n’est pas encore terminée.
Anglais mis à jour : Hier

API App Events

Nous ne recommandons plus l'API App Events pour les nouvelles intégrations. L’API Conversions prend désormais en charge les évènements Web, d’application et hors ligne. Aussi, nous recommandons aux annonceurs d’utiliser cette API plutôt que l'API App Events. Les utilisateur·ices existant·es de l'API App Events peuvent continuer à l'utiliser, mais nous ne poursuivrons pas son développement. L’innovation future se fera avec l’API Conversions. En savoir plus sur l’API Conversions pour les évènements d’application.


L'API App Events vous permet d'effectuer un suivi des actions qui se produisent sur votre application mobile ou votre page Web, telles que les installations d'application ou les achats. En suivant ces évènements, vous pouvez mesurer les performances des publicités et créer des audiences pour le ciblage publicitaire.

Pour plus d’informations sur le suivi des évènements d’application liés aux messages envoyés aux entreprises, veuillez consulter la page API App Events pour l’envoi de messages aux entreprises de notre documentation de la plateforme Messenger.

Fonctionnement

Il existe trois types d’App Events :

  • Évènements automatiquement consignés : le SDK Facebook consigne automatiquement les installations d'app, les sessions d'application et les achats intégrés.
  • Évènements standards : évènements populaires créés pour vous par Facebook.
  • Évènements personnalisés : évènements spécifiques à votre application, que vous créez.

Un App Event comporte trois parties :

  1. name : chaîne obligatoire décrivant l’évènement. Le nom apparaît dans le journal des évènements lorsque l’App Event est envoyé à Analytics.
  2. valueToSum : valeur facultative que Analytics ajoute à d’autres valeurs Value To Sum issues d’évènements d’application portant le même nom.
  3. parameters : valeurs facultatives incluses dans votre évènement d’application.

Vous pouvez utiliser jusqu’à 1 000 noms d’évènements différents. Remarque : aucun nouveau type d’évènement ne peut être enregistré une fois cette limite atteinte. Si vous la dépassez, une erreur 100 Invalid parameter s’affichera lors de l’enregistrement. Il est toutefois possible de désactiver les évènements obsolètes. Pour en savoir plus sur les limites des évènements, consultez les Questions/réponses.

Avant de commencer

Vous aurez besoin des éléments suivants :

  • Votre ID d'annonceur, l'ID publicitaire d'un appareil Android ou l'identifiant publicitaire d'un appareil Apple (IDFA)
  • Un token d’accès d’application pour l'authentification Facebook Ne stockez pas votre token d’accès d’application sur le client.

Installations d’applications

Envoyez une demande POST depuis votre serveur à destination du point de terminaison /{app-id}/activities avec les paramètres application_tracking_enabled et advertiser_tracking_enabled :

Formaté pour plus de lisibilité.
curl -i -X POST "https://graph.facebook.com/{app-id}/activities
   ?event=MOBILE_APP_INSTALL
   &application_tracking_enabled=0      
   &advertiser_tracking_enabled=0       
   &advertiser_id={advertiser-tracking-id}
   &{app-access-token}"

En cas de réussite, votre application reçoit la réponse suivante :

{
  "success": true
}

Avertissements

  • Vous ne devez signaler qu’une seule installation par utilisateur·ice. Dédupliquez les ID au niveau des ID et des utilisateur·ices, si possible.

Consultez notre guide de référence des activités d’application pour obtenir la liste des paramètres disponibles.

Activer le suivi publicitaire

Le champ advertiser_tracking_enabled indique si une personne a activé le suivi publicitaire sur son appareil. « 0 » signifie qu’il est désactivé, « 1 » qu’il est activé. Vous devez récupérer cette donnée et la renvoyer à Facebook pour déterminer si le suivi publicitaire peut être utilisé pour l’optimisation ou les conversions. Meta utilisera les données d’évènement (fournies par ses partenaires au sujet des activités réalisées par les utilisateur·ices via Meta) conformément à sa Politique d’utilisation des données, notamment pour les rapports de publicités et la détection des fraudes, et pour créer et améliorer ses produits (y compris ses produits de diffusion des publicités), mais limitera son utilisation des données d’un·e utilisateur·ice à la personnalisation des publicités diffusées après de cet·te utilisateur·ice. Pour les appareils exécutant une version antérieure à iOS 6, ce paramètre devrait être défini sur 1 par défaut.

Consultez la référence sur AdSupport du site d’Apple pour obtenir le statut du suivi publicitaire des utilisateur·ices.

L’extrait de code suivant illustre la façon de récupérer la valeur associée à l’indicateur d’activation du suivi.

Vous pouvez récupérer le paramètre actuel de l’indicateur d’activation du suivi à partir de la propriété Settings.shared.isAdvertiserTrackingEnabled.

print("isAdvertiserTrackingEnabled: \(Settings.shared.isAdvertiserTrackingEnabled)")

Désactiver le suivi publicitaire

N’importe quelle application peut choisir d’inclure un paramètre pour permettre aux utilisateur·ices de désactiver le suivi publicitaire au sein de cette application. Facebook demande aux partenaires d’inclure cette option dans leur SDK et de signaler le choix des utilisateur·ices à Facebook en même temps que l’évènement d’installation ou de conversion. Facebook utilise l’évènement d’installation ou de conversion pour la génération de rapports publicitaires, mais empêche son utilisation dans l’optimisation des publicités. Le paramètre de l’utilisateur·ice doit être maintenu d’un lancement de l’application à l’autre.

Évènements de conversion

Envoyez une demande POST au point de terminaison /{app-id}/activities avec event défini sur CUSTOM_APP_EVENTS et définissez advertiser_tracking_enabled pour chaque évènement. Le paramètre advertiser_id ou attribution est obligatoire.

Formaté pour plus de lisibilité.
curl -i -X POST "https://graph.facebook.com/{app-id}/activities
   ?event=CUSTOM_APP_EVENTS" 
   &advertiser_id={advertiser-tracking-id}
   &advertiser_tracking_enabled=1 
   &application_tracking_enabled=1
   &custom_events=[
      {"_eventName":"fb_mobile_purchase",
       "event_id":"123456",
       "fb_content":"[
            {"id": "1234", "quantity": 2,}, 
            {"id": "5678", "quantity": 1,}
        ]",
       "fb_content_type":"product",
       "_valueToSum":21.97,
       "fb_currency":"GBP",
      }
    ]
   &{app-access-token}" 

En cas de réussite, votre application reçoit la réponse suivante :

{
  "success": true
}

Attribution

Le point de terminaison attribution renvoie les installations et les conversions en fonction des clics qui se sont produits sur une publicité pendant 28 jours. Le Gestionnaire de publicités utilise un modèle d’attribution d’un jour après consultation et de 28 jours après clic et les Insights sont affichées en fonction de l’heure d’impression ou de clic, et non de l’heure d’installation ou de conversion. Il est important d’en tenir compte lorsque vous comparez vos rapports aux rapports du Gestionnaire de publicités Facebook. Outre les demandes d’App Events standard de clics sur une publicité, vous devez également garder les scénarios suivants à l’esprit :

  • Demandes d’attribution de vues : le paramètre consider_views=TRUE renvoie les données d’attribution pour les installations qui ont eu lieu dans un délai d'un jour après une impression publicitaire, à condition que l’utilisateur·ice du compte Espace Comptes n'ait pas cliqué sur une publicité dans les 28 jours. La réponse renvoyée sera is_view_through=TRUE et view_time remplacera click_time. Toutes les autres attributions sont les mêmes que pour les données d’attribution de clics sur les publicités.

  • Demandes sur plusieurs campagnes : les annonceurs peuvent suivre les performances de toutes les publicités qui ont généré un évènement d’application. Facebook envoie des demandes pour les évènements issus de campagnes publicitaires dans la mesure où l’objectif de la campagne n’est pas défini sur l’installation d’app mobile ou l’interaction avec une application mobile. Ces données sont affichées uniquement si l’annonceur a ajouté l’application au champ « Suivi des App Events mobiles » de sa publicité.

  • Cas d’utilisateur : si votre client souhaite suivre les installations générées par des clics sur une publicité de publication de Page ou sur une publicité de site Web qui redirige les utilisateur·ices vers un site mobile, il peut le faire dans le Gestionnaire de publicités et Facebook demandera les installations d’app correspondantes.

  • Demandes multi-appareil : les annonceurs ayant des applications sur plusieurs plateformes peuvent voir les données des installations d’app générées par les publicités diffusées sur ces plateformes.

  • Cas d’utilisation : un·e utilisateur·ice clique sur une publicité pour une application sur un iPhone et installe cette même application sur son iPad. Nous pouvons alors attribuer l’installation d’application sur l’iPad à la publicité sur iPhone, quel que soit le ciblage publicitaire.

Correspondance avancée

La correspondance avancée vous permet d'envoyer des données clientèle à Facebook, qui les utilise ensuite pour déterminer avec plus de précision quels sont les comptes Espace Comptes qui ont réagi face à votre publicité. Grâce à ces données, Facebook peut faire correspondre les évènements de conversion avec vos client·es en vue d'optimiser vos annonces et de redéfinir des audiences plus larges.

Envoyez une demande POST au point de terminaison /{app-id}/activities avec le paramètre ud défini sur un paramètre qui permettra de suivre votre client·e, tel que l’adresse e-mail ou le numéro de téléphone du client ou de la cliente. Toutes les données clientèle doivent faire l’objet d’un hashage. À défaut, Facebook ne les prendra pas en compte. Assurez-vous de définir advertiser_tracking_enabled pour chaque évènement.

Formaté pour plus de lisibilité.
curl -i -X POST "https://graph.facebook.com/{app-id}/activities
   ?event=CUSTOM_APP_EVENTS
   &advertiser_id={advertiser-tracking-id}
   &advertiser_tracking_enabled=1 
   &application_tracking_enabled=1
   &custom_events=[
      {"_eventName":"fb_mobile_purchase",
      "event_id":"123456",
       "fb_content":"[
            {"id": "1234", "quantity": 2,}, 
            {"id": "5678", "quantity": 1,}
        ]",
       "fb_content_type":"product",
       "_valueToSum":21.97,
       "fb_currency":"GBP",
      }
    ]
   &ud[em]={sha256-hashed-email}
   &{app-access-token}"

En cas de réussite, votre application reçoit la réponse suivante :

{
  "success": true
}

Toutes les données de l’utilisateur·ice doivent être hachées au format SHA256 avant d’être envoyées à Facebook. Facebook ignorera les données qui ne sont pas hachées.

Déduplication

Pour les évènements d’application, nous appliquons la même fonctionnalité de déduplication que pour les évènements Web. La logique utilise une déduplication basée sur les champs event_id et event_name Le paramètre event_id est un identifiant permettant de distinguer des évènements similaires. Les ID d’évènement inexacts peuvent entraîner une déduplication incorrecte de votre conversion, qui aura un impact sur les rapports de conversion et les performances de campagne.

Informations exhaustives sur l'appareil

Envoyez les informations sur l’appareil, telles que la largeur et la hauteur de l’écran, dans votre appel évènement d’application avec /{app-id}/activities?extinfo. Les valeurs sont séparées par des virgules et elles doivent être dans l’ordre indexé dans le guide de référence /application/activites. Lors de l’utilisation de extinfo, toutes les valeurs sont obligatoires.

  • La version doit être a2 pour Android.
  • La version doit être i2 pour iOS.

Référence

Obtenir des cookies mobiles

Nous vous incitons à associer les évènements d’application à un advertiser_id. Toutefois, pour les appareils Android et les appareils iOS antérieurs à iOS 6, vous pouvez également utiliser le paramètre attribution défini sur le cookie mobile de l’appareil.

Remarque : les cookies mobiles ne sont pas dérivés d’un attribut utilisateur ou d’appareil. Non permanents, ils sont conçus de manière à être fréquemment actualisés. N’utilisez pas de cookies mobiles pour recibler des publicités.

Android

Le cookie est une chaîne alphanumérique aléatoire composée de 22 caractères.

Utilisez ContentProvider pour obtenir l’ID d’attribution Facebook :

public static final Uri ATTRIBUTION_ID_CONTENT_URI = Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider");

public static final String ATTRIBUTION_ID_COLUMN_NAME = "aid";

public static String getAttributionId(ContentResolver contentResolver) {
        String [] projection = {ATTRIBUTION_ID_COLUMN_NAME};
        Cursor c = contentResolver.query(ATTRIBUTION_ID_CONTENT_URI, projection, null, null, null);
        if (c == null || !c.moveToFirst()) {
            return null;
        }
        String attributionId = c.getString(c.getColumnIndex(ATTRIBUTION_ID_COLUMN_NAME));
        c.close();
        return attributionId;
    }

Vous devez également récupérer l’ID publicitaire de votre application Android.

iOS

Le cookie mobile est créé par les applications iOS Facebook avec CFUUIDCreateString et représente une chaîne UUID de 128 bits.

Récupérez l’ID de cookie et l’IDFA, puis envoyez-les à Facebook en tant qu’identifiant :

ASIdentifierManager *manager = [ASIdentifierManager sharedManager];
NSString *advertiserID = [[manager advertisingIdentifier] UUIDString];

if (advertiserID) {
  // do stuff
}

En-tête HTTP X-Forwarded-For

Si les demandes POST sont effectuées depuis un lieu centralisé tel un serveur ou un proxy (c’est-à-dire un appel serveur à serveur), alors l’en-tête HTTP X-Forwarded-For est obligatoire pour assurer la précision des informations sur le lieu et l’appareil. Envoyez l’adresse IP de l’appareil, au format IPv4 ou IPv6, par l’intermédiaire du paramètre d’en-tête HTTP X-Forwarded-For dans chacune des demandes d’évènement d’application que vous envoyez. Ainsi, cela nous permet d’appairer le advertiser_id avec l’adresse IP correcte, que nous pourrons alors utiliser dans notre plateforme.

Exemple IPv6

curl ...
  -H "X-Forwarded-For: fd45:f238:3b40:23b1:ffff:ffff:ffff:abcd" \
  https://graph.facebook.com/<APP_ID>/activities/

Exemple IPv4

curl ...
  -H "X-Forwarded-For: 192.168.0.99" \
  https://graph.facebook.com/<APP_ID>/activities

Tests

  1. Accédez au Gestionnaire d’évènements.
  2. Cliquez sur l’icône Sources de données à gauche de la page.
  3. Sélectionnez le nom et l’ID de vos données.
  4. Cliquez sur Évènements de test et sélectionnez le canal comme Application.
  5. Envoyez une requête API App Events avec l’outil API Graph.
  6. Vos interactions apparaîtront ensuite dans l’onglet Évènements de test.

Différences

Dans l’éventualité où le client compare les rapports d’un partenaire de mesure mobile et les rapports Facebook et constate des différences, voici les points à vérifier :

Si Facebook signale moins d’installations que le MMP :

  • Le SDK Facebook est-il correctement intégré ?
  • Le client utilise-t-il le mauvais ID d’app ?

Si Facebook signale plus d’installations que le MMP :

  • Les fenêtres d’attribution sont-elles les mêmes ? Facebook comporte généralement une fenêtre d’attribution plus large que la plupart des partenaires de mesure mobile.
  • Le SDK du MMP est-il correctement intégré ?
  • Le client utilise-t-il le mauvais ID d’application ?
  • L’écart concerne-t-il uniquement iOS7 ? Le MMP reçoit-il l’identifiant publicitaire Apple (IDFA) de la part de l’appareil et le transmet-il correctement à Facebook ?

Référence

Activités d’application Extinfo

Consultez le guide de référence/application/activites pour obtenir des informations détaillées sur les applications.

Paramètres de données utilisateur

Veuillez télécharger ce fichier CSV

pour voir des exemples de données correctement normalisées et hachées concernant les paramètres ci-dessous.



Télécharger (Clic droit > Enregistrer le lien sous)
User DataParameterFormatExample

Email

em

jsmith@example.com

First Name

fn

Lowercase letters

john

Last Name

ln

Lowercase letters

smith

Phone

ph

Digits only including country code and area code

16505554444

External ID

external_id

Any unique ID from the advertiser, such as loyalty membership ID, user ID, and external cookie ID.

a@example.com

Gender

ge

Single lowercase letter, f or m, if unknown, leave blank

f

Birthdate

db

Digits only with birth year, month, then day

19910526 for May 26, 1991.

City

ct

Lowercase with any spaces removed

menlopark

State or Province

st

Lowercase two-letter state or province code

ca

Zip or Postal Code

zp

Digits only

94025

Country

cn

Lowercase two-letter country code

us

Noms d’évènements standards

Event Name Event Parameters _valueToSum

AdClick

fb_ad_type

AdImpression

fb_ad_type

Contact

CustomizeProduct

Donate

fb_mobile_achievement_unlocked

fb_description

fb_mobile_activate_app *

fb_mobile_add_payment_info

fb_success

fb_mobile_add_to_cart

fb_content_type, fb_content_id and fb_currency

Price of item added

fb_mobile_add_to_wishlist

fb_content_type, fb_content_id and fb_currency

Price of item added

fb_mobile_complete_registration

fb_registration_method

fb_mobile_content_view

fb_content_type, fb_content_id and fb_currency

Price of item viewed (if applicable)

fb_mobile_initiated_checkout

fb_content_type, fb_content_id, fb_num_items, fb_payment_info_available and fb_currency

Total price of items in cart

fb_mobile_level_achieved

fb_level

fb_mobile_purchase

fb_num_items, fb_content_type, fb_content_id and fb_currency

Purchase price

fb_mobile_rate

fb_content_type, fb_content_id and fb_max_rating_value

Rating given

fb_mobile_search

fb_content_type, fb_search_string and fb_success

fb_mobile_spent_credits

fb_content_type and fb_content_id

Total value of credits spent

fb_mobile_tutorial_completion

fb_success and fb_content_id

FindLocation

Schedule

StartTrial

fb_order_id and fb_currency

Price of subscription

SubmitApplication

Subscribe

fb_order_id and fb_currency

Price of subscription

*Use fb_mobile_activate_app event in addition to install reporting to exclude users from seeing ads for this app. Do not use this event if you have automatic event logging enabled.

Paramètres des évènements standards

Nom du paramètre d'évènement Valeur Description

_logTime

entier

Paramètre recommandé pour préciser l’heure de l’évènement, indiquée en heure Unix

_valueToSum

virgule flottante

Valeur numérique de l’évènement individuel à additionner dans les rapports ; consultez ci-dessus les évènements recommandés à associer

fb_content_id

chaîne

Numéro d’article international (EAN), le cas échéant, ou tout autre identifiant de produit ou de contenu Pour les identifiants de produits multiples : par exemple, "[\"1234\",\"5678\"]"

fb_content

chaîne

Une liste d’objets JSON contenant le numéro d’article international (EAN), le cas échéant, ou tout autre identifiant de produit ou de contenu, ainsi que les quantités et les prix des produits. Obligatoire :id, quantity. par ex. "[{\"id\": \"1234\", \"quantity\": 2,}, {\"id\": \"5678\", \"quantity\": 1,}]".

fb_content_type

chaîne

Le product ou product_group

fb_currency

chaîne

Code ISO 4217 (par exemple, « EUR », « USD », « JPY »). Obligatoire lors du transfert de _valueToSum comme prix ou montant d’achat.

fb_description

chaîne

Une description de la chaîne

fb_level

chaîne

Niveau d’un jeu

fb_max_rating_value

entier

Niveau supérieur d’une échelle d’évaluation (par exemple, 5 étoiles sur 5)

fb_num_items

entier

Nombre d’articles

fb_payment_info_available

booléen

1 pour oui, 0 pour non

fb_registration_method

chaîne

Facebook, adresse e-mail, Twitter, etc.

fb_search_string

chaîne

La chaîne textuelle qui a fait l’objet d’une recherche

fb_success

booléen

1 pour oui,0 pour non