Vue d’ensemble
Introduction
Cas d’usage
Les tests A/B sont le plus souvent utilisés pour (1) des cas d’usage d’optimisation pour les clients orientés performance qui souhaitent comprendre ce qui fonctionne le mieux sur X afin d’optimiser leur investissement, et (2) des cas d’usage d’apprentissage pour les annonceurs de marque qui souhaitent utiliser les enseignements tirés de ces tests pour orienter leur stratégie marketing. L’API prend en charge les tests A/B pour n’importe quelle variable de campagne, notamment :- Création publicitaire
- Ciblage
- Type d’enchère
- Unité d’enchère
Tests A/B
Cas d’utilisation
- Créatif
- Ciblage
- Type d’enchère
- Unité d’enchère
Attributs
- La durée du test, représentée par les champs start_time et end_time
- Le niveau auquel la répartition aura lieu, représenté par le champ entity_type
- Au moins deux (et au maximum 30) groupes d’utilisateurs, chacun représenté comme un objet dans le tableau user_groups
- Le pourcentage d’utilisateurs qui doivent être alloués au groupe d’utilisateurs donné, représenté par le champ size
- Les ID de campagne/ID de line item qui doivent constituer le pool d’utilisateurs pour le groupe d’utilisateurs donné, représentés par le tableau entity_ids
Utilisation
Création
-
Les valeurs start_time et end_time doivent
- Être dans le futur (par rapport au moment où le test A/B est créé)
- Chevaucher les dates de diffusion de la campagne/du line item
- Le test doit durer au moins un jour pour les campagnes qui ne sont pas basées sur une application et au moins cinq jours pour les campagnes basées sur une application
- La valeur entity_type peut être définie sur CAMPAIGN ou LINE_ITEM
-
Chaque groupe d’utilisateurs est représenté par un objet dans le tableau user_groups
- Un minimum de deux groupes d’utilisateurs est requis
- Un maximum de 30 groupes d’utilisateurs est autorisé
-
La taille de chaque groupe d’utilisateurs est définie à l’aide d’une représentation sous forme de chaîne d’une valeur numérique comprise entre 1.00 et 99.00
- Remarque : Les valeurs de taille entre les objets doivent avoir une somme égale à 100.00
- Les ID de campagne doivent être spécifiés dans le tableau entity_ids de chaque groupe d’utilisateurs
- Tous les éléments de campagne de la campagne de test A/B doivent être inclus dans le test de répartition.
- Seule une répartition égale est autorisée au niveau de l’élément de campagne.
- Le nombre d’éléments de campagne de groupes d’utilisateurs autorisés dans 1 test de répartition doit être inférieur ou égal à 5.
- Un seul élément de campagne par groupe d’utilisateurs.
Mise à jour
- Pour ajouter ou supprimer des objets ou des éléments, transmettez l’intégralité du tableau (et de ses sous-structures) ; il s’agit d’une opération de remplacement
-
Sinon, modifiez (ajoutez, changez, supprimez) les champs existants en faisant référence aux noms de clés ou aux IDs
- Pour supprimer un champ, définissez sa valeur sur null
- Les champs qui ne sont pas transmis ne sont pas modifiés
Exemples de requêtes
- Ajoute un troisième groupe d’utilisateurs sans nom ni description
- Modifie le pourcentage d’utilisateurs dans chaque groupe d’utilisateurs
- Supprime la description du test A/B
- Ajoute une description au premier groupe d’utilisateurs
- Ajoute un ID d’entité (f2syz) au deuxième groupe d’utilisateurs
id d’entité existants ainsi que le nouvel id. Notez qu’aucun changement n’a été apporté au troisième groupe d’utilisateurs.
Pour effectuer les modifications suivantes, la requête serait la suivante :
- Supprime le deuxième groupe d’utilisateurs
- Modifie le pourcentage d’utilisateurs dans chaque groupe d’utilisateurs
Référence de l’API
Tests A/B
GET accounts/:account_id/ab_tests
URL de la ressource
https://ads-api.x.com/12/accounts/:account_id/ab_tests
Paramètres
| Name | Description |
|---|---|
| account_id required | Identifiant du compte utilisé. Apparaît dans le chemin de la ressource et est généralement un paramètre obligatoire pour toutes les requêtes de l’API Advertiser, à l’exception de GET accounts. Le compte spécifié doit être associé à l’utilisateur authentifié. Type : string Exemple : 18ce54d4x5t |
| ab_test_ids optional | Filtre la réponse pour ne conserver que les tests A/B souhaités en spécifiant une liste d’identifiants séparés par des virgules. Jusqu’à 200 ID peuvent être fournis. Type : string Exemple : hr7l0 |
| count optional | Spécifie le nombre d’enregistrements à tenter de récupérer par requête distincte. Type : int Valeur par défaut : 200 Min, Max : 1, 1000 |
| cursor optional | Spécifie un curseur pour obtenir la page de résultats suivante. Voir Pagination pour plus d’informations. Type : string Exemple : 8x7v00oow |
| live_during optional | Filtre la réponse pour ne conserver que les tests A/B qui étaient ou seront en cours pendant l’intervalle de dates donné. Renvoie les tests A/B dont les heures de début et de fin se chevauchent — partiellement ou totalement — avec l’intervalle de dates fourni. Spécifiez les valeurs sous forme de dates séparées par des virgules, exprimées au format ISO 8601. La date la plus ancienne doit être spécifiée en premier. Type : string Exemple : 2020-11-01T08:00:00Z,2020-12-01T08:00:00Z |
| q optional | Requête optionnelle pour filtrer la ressource par name. Omettez ce paramètre pour tout récupérer.Type : string Longueur min, max : 1, 80 |
| sort_by optional | Trie selon un attribut pris en charge, dans l’ordre croissant ou décroissant. Voir Sorting pour plus d’informations. Type : string Exemple : created_at-asc |
| status optional | Filtre la réponse pour ne conserver que les tests A/B ayant l’état souhaité. Type : enum Valeurs possibles : COMPLETED, LIVE, SCHEDULED |
| user_id optional | Filtre la réponse pour ne conserver que les tests A/B créés par l’ID utilisateur spécifié. Remarque : ne peut pas être spécifié en même temps que username.Type : long Exemple : 756201191646691328 |
| username optional | Filtre la réponse pour ne conserver que les tests A/B créés par le nom d’utilisateur spécifié. N’incluez pas le symbole « @ » au début. Remarque : ne peut pas être spécifié en même temps que user_id.Type : string Exemple : apimctestface |
| with_deleted optional | Inclut les résultats supprimés dans votre requête. Type : boolean Valeur par défaut : false Valeurs possibles : true, false |
Exemple de requête
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests
Exemple de réponse
POST accounts/:account_id/ab_tests
Content-Type doit être défini sur application/json.
URL de la ressource
https://ads-api.x.com/12/accounts/:account_id/ab_tests
Paramètres
| Name | Description |
|---|---|
| account_id required | Identifiant du compte utilisé. Apparaît dans le chemin de la ressource et est généralement un paramètre obligatoire pour toutes les requêtes de l’API Advertiser, à l’exception de GET accounts. Le compte indiqué doit être associé à l’utilisateur authentifié. Type: string Example: 18ce54d4x5t |
| end_time required | Heure de fin du test A/B, exprimée au format ISO 8601. Type: string Example: 2020-10-02T00:00:00Z |
| entity_type required | Type d’entité à utiliser pour la segmentation en groupes d’utilisateurs. Type: enum Possible values: CAMPAIGN, LINE_ITEM |
| start_time required | Heure de début du test A/B, exprimée au format ISO 8601. Type: string Example: 2022-05-30T00:00:00Z |
| user_groups required | Décrit les groupes d’utilisateurs. Plus d’informations dans le tableau ci‑dessous. Entre 2 et 30 groupes d’utilisateurs peuvent être spécifiés. Type: array of objects |
| description optional | Description du test A/B. Longueur maximale : 1 024 caractères. Type: string Example: documentation example |
| name optional | Nom du test A/B. Longueur maximale : 255 caractères. Type: string Example: first AB test |
Groupes d’utilisateurs
| Name | Description |
|---|---|
| entity_ids required | Un tableau d’identifiants d’entités. Remarque : les entités ne peuvent être associées qu’à un seul test A/B. Type : array Exemple : ["dxi0l", "e66bl"] |
| size required | Le pourcentage d’utilisateurs à allouer à ce groupe d’utilisateurs. Il s’agit d’une valeur numérique représentée sous forme de chaîne de caractères avec au maximum deux chiffres après la virgule. Par exemple, représentez 40 % comme suit : 40, 40.0 ou 40.00. Remarque : les valeurs de size pour l’ensemble des objects doivent totaliser 100.00. Type : array Min, Max : 1.00, 99.00 |
| description optional | La description du groupe d’utilisateurs. Longueur maximale : 1 024 caractères. Type : string Exemple : second AB test group |
| name optional | Le nom du groupe d’utilisateurs. Longueur maximale : 255 caractères. Type : string Exemple : first group |
Exemple de requête
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests -d '{"end_time": "2022-05-30T01:00:00Z", "entity_type" : "CAMPAIGN", "start_time": "2022-05-25T01:00:00Z", "user_groups": [{"entity_ids": ["f2qcw", "f2tht"], "size": "50.00", "name": "first group"},{"entity_ids": ["f2rqi", "f2tws"], "size": "50.00", "name": "second group", "description": "second AB test group"}], "name": "first AB test", "description": "documentation example"}'
Exemple de réponse
PUT accounts/:account_id/ab_tests/:ab_test_id
Content-Type de application/json est requis.
Cet endpoint prend en charge le JSON partiel avec des id d’objet. Les principes suivants s’appliquent :
- Pour ajouter ou supprimer des objets ou des éléments, transmettez l’intégralité du tableau (et ses sous-structures) ; il s’agit d’une opération de remplacement
- Considérez cela comme le fait de recréer le tableau
- Sinon, modifiez (changez, ajoutez, supprimez) les champs existants en faisant référence aux noms de clés ou aux id
- Pour supprimer un champ, affectez-lui la valeur
null - Les champs qui ne sont pas transmis ne sont pas modifiés
- Pour supprimer un champ, affectez-lui la valeur
status est SCHEDULED. Il existe une exception : il est possible de mettre à jour le champ end_time du test A/B lorsqu’il est LIVE.
URL de la ressource
https://ads-api.x.com/12/accounts/18ce54d4x5t/:ab_test_id
Paramètres
| Name | Description |
|---|---|
| account_id required | L’identifiant du compte utilisé. Apparaît dans le chemin de la ressource et est généralement un paramètre requis pour toutes les requêtes de l’Advertiser API, à l’exception de GET accounts. Le compte spécifié doit être associé à l’utilisateur authentifié. Type : string Exemple : 18ce54d4x5t |
| ab_test_id required | Référence au test A/B utilisé dans la requête. Type : string Exemple : hr7l0 |
| description optional | La description du test A/B. Longueur maximale : 1 024 caractères. Remarque : ne peut être mise à jour que lorsque le status du test A/B est SCHEDULED.Type : string Exemple : documentation example |
| end_time optional | L’heure à laquelle le test A/B se termine, exprimée au format ISO 8601. Remarque : ne peut être mise à jour que lorsque le status du test A/B est SCHEDULED ou LIVE.Type : string Exemple : 2020-10-02T00:00:00Z |
| name optional | Le nom du test A/B. Longueur maximale : 255 caractères. Remarque : ne peut être mis à jour que lorsque le status du test A/B est SCHEDULED.Type : string Exemple : first AB test |
| start_time optional | L’heure à laquelle le test A/B commence, exprimée au format ISO 8601. Remarque : ne peut être mise à jour que lorsque le status du test A/B est SCHEDULED.Type : string Exemple : 2022-05-30T00:00:00Z |
| user_groups required | Description des groupes d’utilisateurs. Plus d’informations dans le tableau ci-dessous. Remarque : ne peut être mis à jour que lorsque le status du test A/B est SCHEDULED.Type : tableau d’objets |
Groupes d’utilisateurs
| Nom | Description |
|---|---|
| id parfois requis | Une référence à l’objet groupe d’utilisateurs utilisé dans la requête. Remarque : Obligatoire lors de la modification (changement, ajout ou suppression) des champs de l’objet groupe d’utilisateurs. Remarque : Ne spécifiez pas d’ID lors de l’ajout ou de la suppression de groupes d’utilisateurs entiers. Type : string Exemple : p1bcx |
| description optionnel | La description du groupe d’utilisateurs. Longueur maximale : 1 024 caractères. Remarque : Pour supprimer la valeur, indiquez le champ avec la valeur null.Type : string Exemple : second AB test group |
| entity_ids optionnel | Un tableau d’identifiants d’entité. Remarque : Il s’agit d’une opération de remplacement. Elle écrase toute valeur précédemment définie. Remarque : Les entités ne peuvent être associées qu’à un seul test A/B. Type : array Exemple : ["dxi0l", "e66bl"] |
| name optionnel | Le nom du groupe d’utilisateurs. Longueur maximale : 255 caractères. Remarque : Pour supprimer la valeur, indiquez le champ avec la valeur null.Type : string Exemple : first group |
| size optionnel | Le pourcentage d’utilisateurs à allouer à ce groupe d’utilisateurs. Il s’agit d’une valeur numérique représentée sous forme de chaîne avec au maximum deux chiffres après la virgule. Par exemple, représentez 40 % comme : 40, 40.0 ou 40.00. Remarque : Les valeurs de taille de l’ensemble des objets doivent totaliser 100.00. Type : string Min, Max : 1.00, 99.00 |
Exemple de requête
- Supprime la description du test A/B
- Modifie l’heure de fin
- Ajoute une description au premier groupe d’utilisateurs
- Modifie la proportion d’utilisateurs dans chaque groupe d’utilisateurs
- Ajoute un ID d’entité (
f2syz) au deuxième groupe d’utilisateurs
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0 -d '{"description": null, "end_time": "2022-06-01T01:00:00Z", "user_groups": [{"id": "p1bcx", "description": "first AB test group", "size": "60.00"},{"id": "p1bcy", "size": "40.00", "entity_ids": ["f2rqi", "f2tws", "f2syz"]}]}'
Exemple de réponse
DELETE accounts/:account_id/ab_tests/:ab_test_id
URL de ressource
https://ads-api.x.com/12/accounts/:account_id/ab_tests/:ab_test_id
Paramètres
| Name | Description |
|---|---|
| ab_test_id required | Une référence au test A/B que vous utilisez dans la requête. Type : string Exemple : hr7l0 |
Exemple de requête
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/ab_tests/hr7l0