Skip to main content

Mise en place de l’API de conversion

Prérequis

Accès à l’Ads API - Nouvelles applications

Étape 1 : compte développeur
  • Lors de votre demande de compte développeur, souscrivez à l’un de nos plans d’abonnement pour une approbation immédiate. 
  • Remarque : À titre de bonne pratique, nous recommandons fortement d’utiliser le handle X officiel de votre entreprise pour créer un compte développeur et demander l’accès à l’Ads API. Si le compte développeur est associé à un handle développeur, il n’existe aucun moyen de transférer ces identifiants, le cas échéant. Il est préférable de l’associer à un compte d’entreprise pour une gestion continue et d’utiliser la connexion multi-utilisateur, selon les besoins. Sinon, au minimum, le compte doit être configuré avec des paramètres personnalisés (image d’en-tête, avatar, bio et URL de la bio) et utiliser l’authentification à deux facteurs.
Étape 2 : demande d’accès à l’Ads API
  • Assurez-vous de disposer du bon App ID pour votre demande d’accès à l’Ads API. L’App ID se trouve dans la Console de développement, sous Projects & Apps. Exemple : 16489123
  • Demandez l’accès à l’Ads API en contactant votre représentant X.

Accès à l’Ads API - Applications existantes

  • Si vous disposez déjà d’une application Ads API déjà utilisée activement, vous pouvez réutiliser cette application ainsi que les jetons d’accès existants pour la Conversion API.

Jetons d’accès

  • Les jetons d’accès utilisateur pour le handle utilisateur qui possède l’App Ads API peuvent être générés et récupérés directement à partir de la Console de développement. On parle de « jeton d’accès personnel » car il est destiné à être utilisé pour votre propre handle X. Des informations générales sur l’authentification et la Console de développement sont disponibles ici.
  • Les jetons d’accès utilisateur pour des handles autres que celui possédant l’App Ads API doivent être générés avec un flux OAuth à 3 étapes. Les options pour générer le jeton d’accès avec OAuth à 3 étapes incluent :
  • Tous les jetons d’accès utilisateur utilisés avec la Conversion API doivent appartenir à des utilisateurs ayant un niveau d’accès AD_MANAGER ou ACCOUNT_ADMIN, ce qui peut être vérifié via le point de terminaison authenticated_user_access.
  • Remarque : les jetons eux-mêmes (après leur création comme indiqué ci-dessus) peuvent être partagés avec des utilisateurs n’ayant pas le niveau d’accès AD_MANAGER ou ACCOUNT_ADMIN pour être utilisés.

Étapes

Création de l’événement Conversion API

Pour utiliser la Conversion API, vous devez créer un nouvel événement de conversion dans Ads Manager ou utiliser un événement existant déjà créé et utilisé avec le pixel X. Si vous souhaitez effectuer une déduplication entre les événements du pixel et ceux de la Conversion API, vous devez utiliser l’événement existant que vous avez créé pour le pixel. 
Option 1 : Utiliser un événement de conversion existant dans Ads Manager
Si vous souhaitez utiliser un événement existant que vous utilisez déjà avec le pixel X, vous pouvez le faire et devrez récupérer l’ID de l’événement à partir de cet événement. Si vous utilisez à la fois le pixel et Conversion API pour le même événement, veillez à utiliser la clé de déduplication dans l’extrait de code du pixel et dans la requête Conversion API (en tant que conversion_id) afin d’éliminer les doublons d’événements entre le pixel et Conversion API pour ce même événement. Voir la section d. « Test des événements et déduplication » pour plus d’informations. 
Option 2 : création d’un nouvel événement de conversion dans Ads Manager :
Il est important de disposer d’une source d’événement créée dans Events Manager avant de créer un événement. Pour vérifier si vous avez une source d’événement (X Pixel) ajoutée à votre compte, allez dans Events Manager et vérifiez si X Pixel apparaît dans votre menu de gauche.  Si vous n’avez pas encore ajouté de source d’événement, suivez les étapes ci-dessous pour en créer une.
  1. Allez sur ads.x.com
  2. Accédez à la section Tools en haut à gauche et cliquez sur Events Manager
  3. Sélectionnez Add event source en haut à droite pour ajouter une source d’événement si vous n’avez pas encore de source d’événement X Pixel dans votre barre latérale gauche
    1. L’ID de la source d’événement X Pixel est votre Pixel ID
Vous avez maintenant une source d’événement et un Pixel ID. Vous devez créer un événement à l’intérieur de cette source d’événement pour les événements de conversion que vous souhaitez suivre :
  1. Dans la source d’événement X Pixel, sélectionnez Add events sur le côté droit
  2. Sélectionnez Install with Conversion API
  3. Vous verrez le Pixel ID et l’Event ID de cet événement, qui seront utilisés dans l’API
    1. L’ID de l’événement est votre Event ID
  4. Cliquez sur Save et votre événement de conversion sera créé et prêt à être utilisé

Préparation des identifiants pour les événements de conversion

Vous devez actuellement transmettre au moins un identifiant, par exemple Click ID (twclid), adresse e‑mail ou numéro de téléphone. Si vous utilisez l’adresse IP ou le user agent, un deuxième identifiant doit être envoyé pour assurer une correspondance correcte des conversions. Transmettre davantage d’identifiants permettra d’obtenir un taux de correspondance des conversions plus élevé.

1. Préparer l’identifiant X Click ID

Il est recommandé d’inclure systématiquement le Click ID dans chaque requête de conversion. Le Click ID doit être extrait du paramètre de chaîne de requête twclid lorsqu’il est disponible, après que l’utilisateur a accédé au site web de destination.  Exemple de code JavaScript simple :
Il est recommandé de : 
  1. Toujours analyser la valeur twclid lorsqu’elle est présente dans les paramètres de requête de l’URL.
  2. Stocker les données avec les champs de formulaire pertinents ou les informations relatives à l’événement de conversion.
Associer le Click ID (identifiant de clic) aux événements de conversion et aux informations de workflow permet des scénarios tels que le traitement par lots, l’utilisation d’algorithmes pour analyser et créer des événements de conversion à partir de plusieurs parcours de navigation sur le site web, ainsi que des importations en masse. L’URL de la source de l’événement doit être encodée en URL et est censée représenter la page web qui a déclenché l’événement.

2. Préparer l’identifiant d’e-mail

Les champs de mise en correspondance client pris en charge peuvent être envoyés, mais doivent être normalisés et, lorsque cela est requis, hachés pour protéger la confidentialité. Les informations doivent être hachées avec SHA-256, sans sel.  Par exemple, pour l’adresse e-mail test@x.com, elle doit être envoyée au format haché : d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62.

3. Préparer l’identifiant de téléphone

Le numéro de téléphone doit être transmis au format E.164 et les informations doivent être hachées à l’aide de SHA-256, sans sel.  Par exemple, pour un numéro de téléphone américain : +11234567890, il doit nous être envoyé sous forme hachée : 1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231.

4. Préparer l’identifiant d’adresse IP

L’adresse IP doit être transmise conjointement avec un autre identifiant (twclid, adresse e-mail, numéro de téléphone ou user agent). Aucun hachage n’est requis pour cet identifiant. Cette valeur est écrite en notation décimale pointée, avec quatre nombres séparés par des points. Par exemple, l’adresse IP d’un utilisateur peut être 8.25.197.25.

5. Préparer l’identifiant User Agent

Le User Agent doit être transmis conjointement avec un autre identifiant (twclid, adresse e‑mail, numéro de téléphone ou adresse IP). Aucun hachage n’est nécessaire pour cet identifiant. Cet identifiant permet au serveur de reconnaître l’application, le système d’exploitation, le fournisseur et/ou la version du User Agent à l’origine de la requête. Par exemple, cette valeur peut être transmise sous la forme Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36.

Construction de la requête d’événement de conversion

POST: version/measurement/conversions/:pixel_id Envoyez des événements de conversion pour un compte publicitaire donné. Le code de réponse doit être vérifié pour confirmer la réussite (HTTP 200 OK). Il est recommandé de mettre en place un mécanisme de réessai et une journalisation simple au cas où des codes d’erreur seraient renvoyés. Pour des informations détaillées sur l’URL du point de terminaison et les paramètres du corps de la requête POST, veuillez consulter la section Référence de l’API

Exemple de requête (formaté pour plus de lisibilité)

Exemple de réponse

Limite de débit

La limite de débit sera de 60 000 événements par compte, par intervalle de 15 minutes. Notez que le code de votre serveur peut être amené à implémenter une logique en dehors de cet appel, notamment :
  1. Instrumenter les actions des utilisateurs (journalisation) afin de pouvoir envoyer des données de conversion correctes pour chaque événement
  2. Toute logique nécessaire pour filtrer les événements de conversion des utilisateurs qui ont exercé des choix de confidentialité pertinents – par exemple, s’ils ont refusé le suivi ou la vente de leurs informations personnelles sur le site de l’annonceur
  3. L’intégration avec les déclencheurs d’événements et les pages afin de capturer les événements et d’envoyer les conversions

Test des événements et déduplication

Test des événements

Une fois que votre événement a commencé à recevoir des conversions, dans un délai de 12 à 24 heures, le statut de la « Single event web tag » doit afficher TRACKING sur la page Conversion Tracking d’Ads Manager. L’envoi de conversions via la Conversion API n’aura aucun impact sur les campagnes en cours. Vous pouvez également consulter les résultats d’analyse de votre événement de conversion par ID de balise en :

Déduplication entre Pixel et Conversion API

Si vous souhaitez dédupliquer les conversions entre les requêtes Pixel et Conversion API, le champ conversion_id sert de clé de déduplication. La déduplication a uniquement lieu au niveau de l’événement. En d’autres termes, pour dédupliquer entre les requêtes Pixel et CAPI, un annonceur doit utiliser le même événement dans les requêtes Pixel et CAPI, en plus d’utiliser le même conversion_id. La déduplication ne peut s’appliquer qu’aux événements reçus dans un délai de 48 heures.

Suivi des conversions (Vue d’ensemble)

Résumé

Le suivi des conversions vous permet de mesurer le nombre d’utilisateurs de X qui effectuent une action souhaitée après avoir vu et interagi avec vos publicités sur X. Il vous donne la possibilité de mesurer quelles campagnes génèrent des actions telles que des visites de site web, des inscriptions et des achats. Cela fournit aux annonceurs des capacités de mesure en dehors de X pour comprendre la performance de leurs publicités à réponse directe, afin qu’ils puissent acquérir des clients de manière rentable. En utilisant une balise de conversion, les annonceurs peuvent suivre les conversions des utilisateurs et les relier à des campagnes publicitaires sur X. Cela leur donne la visibilité nécessaire pour optimiser leurs campagnes afin d’atteindre leurs objectifs de coût par acquisition (CPA). Il existe une variété d’actions sur un site web qu’un annonceur peut mesurer avec le suivi des conversions. Il peut en sélectionner une ou plusieurs, en fonction de l’action ou des actions qu’il souhaite générer avec sa campagne publicitaire :
  • Visite de site : l’utilisateur visite une page de destination sur le site de l’annonceur
  • Achat : l’utilisateur finalise l’achat d’un produit ou d’un service sur le site de l’annonceur
  • Téléchargement : l’utilisateur télécharge un fichier, comme un livre blanc ou un package logiciel, depuis le site de l’annonceur
  • Inscription : l’utilisateur s’inscrit au service, à la newsletter ou aux communications par e‑mail de l’annonceur
  • Personnalisé : catégorie générique pour une action personnalisée qui n’entre dans aucune des catégories ci-dessus
Le suivi des conversions de X offre aux annonceurs une vue complète de l’attribution des conversions. Comparée aux systèmes de mesure tiers que les clients pouvaient utiliser à la place de la fonctionnalité de suivi des conversions propre à X, tels que des URL de clic uniques associées à des balises de suivi tierces, la balise de conversion de X permet à l’annonceur de suivre les conversions attribuées aux interactions de milieu et de haut de l’entonnoir de conversion, comme les développements de Tweets, les Retweets, les favoris, les réponses et les abonnements, ainsi que les impressions.

FAQ

Tout d’abord, un annonceur crée une balise de conversion, qui est un extrait de code fourni par X, et la place sur son site web. La balise est alors prête à mesurer la conversion lorsqu’un utilisateur réalise l’action définie.Les utilisateurs sont ensuite exposés à la publicité de l’annonceur sur le client X, ce qui les conduit vers le site web de l’annonceur et vers l’action qui a été balisée. Si l’utilisateur réalise cette action pendant la ou les fenêtres d’attribution spécifiées par les annonceurs lors de la configuration de la balise, la balise reconnaît que l’utilisateur a déjà interagi avec une publicité X. La balise se « déclenche » alors, c’est‑à‑dire qu’elle envoie une notification aux serveurs de X afin que la conversion puisse être attribuée à la publicité qui a généré la conversion.
Non, notre produit n’est pas conçu pour associer des balises de conversion spécifiques à des campagnes spécifiques. Une fois qu’une balise est configurée, le système suit automatiquement quelles publicités ont généré des conversions sur une balise donnée.
Fenêtre d’attribution par défaut post‑vue : 1 jourAttribution par défaut post‑engagement : 14 joursCes valeurs par défaut peuvent être modifiées lors de la configuration de la balise de conversion ou à tout moment après la création de la balise. Les options de fenêtres d’attribution post‑engagement sont 1, 7, 14, 30, 60 et 90 jours. Les options de fenêtres d’attribution post‑vue sont aucune, 1, 7, 14, 30, 60 et 90 jours.
Bien que les objectifs, la situation et les stratégies de chaque client soient différents, voici quelques idées qui ont fonctionné pour des clients ayant participé aux programmes alpha ou bêta de suivi des conversions :Création :
  • Offres : Associer une remise, une promotion ou une offre de livraison gratuite au Tweet sponsorisé pour susciter davantage d’intérêt pour l’action
  • Jeux‑concours et concours : En particulier pour les marques bien connues, les jeux‑concours et concours ont généré des conversions
  • Expérimentation sur le texte du Tweet : Tester les majuscules par rapport aux minuscules (FREE vs free ou NOW vs now)
  • Dates limites : Proposer une date limite pour encourager les personnes à agir immédiatement (Offre valable jusqu’au 12 décembre !)
  • Ajout de photos percutantes : Il est utile de tester si des photos visuellement percutantes ajoutées à la création du Tweet sont efficaces pour générer des conversions ; les résultats peuvent varier ou être propres à l’offre du client.
Ciblage :
  • Ciblage par @handle et par catégorie d’intérêt : Un alignement étroit entre le texte du Tweet et les @handles et le public visé par le Tweet a généré des conversions
  • Utilisation de mots‑clés de niche mais à fort volume : Dans le domaine des concerts, l’utilisation de mots‑clés liés à l’artiste/musicien (par exemple son nom) s’est révélée efficace.
  • Audiences personnalisées : Les clients utilisant TA web et le suivi des conversions ensemble ont obtenu des CPA plus bas que les groupes de contrôle utilisant d’autres ciblages
Plus votre segmentation de campagne est fine, plus les résultats de conversion que vous rapportez seront exploitables. Par exemple, il est beaucoup plus facile d’optimiser une campagne avec 4 mots‑clés qu’une campagne avec 50.

Dépannage et assistance pour l’API Conversion

Pour toute question concernant les codes d’erreur suite à l’appel de l’API, veuillez consulter la section ci‑dessous. Pour toutes les autres questions, n’hésitez pas à contacter votre représentant Twitter et nous ferons le nécessaire pour les résoudre dans les meilleurs délais. 

Gestion des erreurs et explications

Une requête n’est considérée comme réussie que si aucune des conversions qu’elle contient ne comporte d’erreur. Si une conversion donnée comporte une erreur, le point de terminaison renverra la liste de toutes les erreurs applicables.

Vue d’ensemble des codes d’erreur de l’API X Ads

Voici une liste exhaustive des codes d’erreur de l’API X Ads : https://developer.x.com/en/docs/twitter-ads-api/response-codes Les réponses réussies de Conversion API sont indiquées par un code HTTP de la série 200 et un payload au format JSON contenant l’objet demandé.

Lorsqu’il y a un code HTTP de la série 400, les cas les plus courants sont

  • 400 Bad Request (la requête ne respecte pas les normes)
  • 401 Unauthorized (problèmes d’authentification)
  • 403 Forbidden (problèmes d’accès à l’API associés à ce compte développeur)
  • 404 Not Found (l’URL ou les paramètres peuvent être incorrects pour cet endpoint)

Codes d’erreur de l’API Conversion

Scénarios d’erreur 400 Bad Request

Exemple de code d’erreur JSON

Requête :
POST '/11/measurement/conversions/o6dkt' --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dkt", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json

Message d’erreur :

{"errors":[{"code":"INVALID_PARAMETER","message":"event_id (o6dkt) is not a single event tag (SET)","parameter":"event_id"}],"request":{"params":{"account_id":"18ce552mlaq"}}}

Requête :

twurl_ads -X POST '/11/measurement/conversions/o6dkt' --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dl3", "identifiers": [{"twclid": ""}]}]}' --header 'Content-Type: application/json'

Message d’erreur :

{"errors":[{"code":"INVALID_PARAMETER","message":"At least one user identifier must be provided","parameter":""}],"request":{"params":{"account_id":"18ce552mlaq"}}}

Requête :

twurl_ads -X POST '/11/measurement/conversions/o6dkt' --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dl3", "identifiers": [{"hashed_email": "abc"}]}]}' --header 'Content-Type: application/json'

Message d’erreur :

{"errors":[{"code":"INVALID_PARAMETER","message":"hashed_email (abc) is not a valid SHA-256 hash","parameter":"hashed_email"}],"request":{"params":{"account_id":"18ce552mlaq"}}}

Requête :

twurl_ads -X POST '/11/measurement/conversions/o6dkt' --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603", "event_id":"o6dl3", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json'

Message d’erreur :

{"errors":[{"code":"INVALID_PARAMETER","message":"Expected Time in yyyy-MM-ddTHH:mm:ss.SSSZ, got \"2022-06-16T01:14:00.603\" for conversion_time","parameter":"conversion_time"}],"request":{"params":{"account_id":"18ce552mlaq"}}}

401 Non autorisé

Raison : informations d’authentification manquantes ou incorrectes  Solution : suivez les étapes d’authentification dans la documentation de configuration en utilisant l’une des 3 méthodes d’authentification : Les User Access Tokens pour des handles autres que le handle propriétaire de l’App Ads API doivent être générés avec un flux OAuth à 3 volets (3-legged OAuth). Les options pour générer un Access Token avec un OAuth à 3 volets incluent : Tous les jetons utilisateur utilisés avec la Conversion API doivent être associés à des utilisateurs disposant d’un niveau d’accès AD_MANAGER ou ACCOUNT_ADMIN*, qui peut être vérifié via l’endpoint authenticated_user_access.

403 Accès interdit

404 Not Found

Exemple de code d’erreur au format JSON

Requête :

twurl_ads -X POST '/11/measurement/conversions/o8z6j' --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"abc", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json' Message d’erreur : {"errors":[{"code":"NOT_FOUND","message":"event_id (abc) does not belong to provided account","parameter":"event_id"},{"code":"INVALID_PARAMETER","message":"event_id (abc) is not a single event tag (SET)","parameter":"event_id"}],"request":{"params":{"account_id":"18ce55gze09"}}}

Index de la référence de l’API

Pour consulter la référence complète de l’API, sélectionnez un endpoint dans la liste :

Conversions Web

Conversions web

POST version/measurement/conversions/:pixel_id Envoyer des événements de conversion de site web pour un seul ID de balise d’événement. Le code de réponse doit être vérifié pour confirmer la réussite (HTTP 200 OK). Il est recommandé de mettre en place un mécanisme de réessai et une journalisation minimale au cas où des codes d’erreur seraient renvoyés. La limite de débit est de 100 000 requêtes par intervalle de 15 minutes et par compte (chaque requête peut contenir jusqu’à 500 événements).
URL de la ressource
https://ads-api.x.com/12/measurement/conversions/:pixel_id
Paramètres d’URL de requête
objet conversions
identifiers object
objet contents
Paramètres de réponse
Exemple de requête
Exemple de requête

Balises d’événement web

GET accounts/:account_id/web_event_tags Récupérer les détails de certaines balises d’événement web ou de toutes celles associées au compte actuel.

URL de la ressource

https://ads-api.x.com/12/accounts/:account_id/web_event_tags

Paramètres

Exemple de requête

GET https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags?web_event_tag_ids=o3bk1

Exemple de réponse

GET accounts/:account_id/web_event_tags/:web_event_tag_id

Récupère une balise d’événement Web spécifique associée au compte en cours.
URL de la ressource
https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id
Paramètres
Exemple de requête
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1
Exemple de réponse

POST accounts/:account_id/web_event_tags

Crée une nouvelle balise d’événement web associée au compte actuel.

URL de la ressource

https://ads-api.x.com/12/accounts/:account_id/web_event_tags

Paramètres

Exemple de requête
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags?click_window=7&name=web event tag&retargeting_enabled=false&type=SITE_VISIT&view_through_window=7

Exemple de réponse

PUT accounts/:account_id/web_event_tags/:web_event_tag_id

Met à jour une balise d’événement Web associée au compte actuel.
URL de la ressource
https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id

Paramètres

Exemple de requête

PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1?type=DOWNLOAD

Exemple de réponse

DELETE accounts/:account_id/web_event_tags/:web_event_tag_id

Supprime une balise d’événement web spécifique associée au compte en cours.

URL de la ressource

https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id
Parameters
Exemple de requête
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1
Exemple de réponse