Introduction
Les indicateurs analytiques aident les partenaires et les annonceurs à comprendre les performances du contenu qu’ils diffusent sur X. Cela inclut des informations telles que les impressions, les clics, les vues vidéo et les dépenses. De plus, les partenaires et les annonceurs peuvent obtenir des métriques détaillées pour différents segments des audiences qu’ils atteignent. L’Ads API prend en charge deux façons de récupérer des métriques détaillées de performance de campagne : de manière synchrone et asynchrone. Avec les appels d’analytics synchrones, les métriques demandées sont renvoyées dans la réponse. Avec les endpoints d’analytics asynchrones, les métriques demandées sont disponibles dans un fichier de résultats téléchargeable une fois que la tâche associée a terminé son traitement. L’endpoint synchrone prend en charge de courtes plages temporelles et est idéal pour l’optimisation en temps réel des campagnes. Les endpoints asynchrones prennent en charge des plages temporelles beaucoup plus longues et sont donc conçus pour récupérer un volume de données bien plus important, idéal pour générer des rapports ou reconstituer l’historique.Détails
Synchrone vs asynchrone
- Cela fait référence au nombre maximal de jobs pouvant être dans un état de traitement à un moment donné.
Cas d’utilisation
- Optimisation en temps réel : utiliser les métriques de performance pour mettre à jour les campagnes actives
- Synchronisation : synchronisations planifiées en arrière-plan
- Intégration d’un nouveau compte : reconstitution des données historiques
Options de requête
- Entités : le type d’entité ainsi que jusqu’à 20 id d’entité pour lesquelles vous souhaitez obtenir des analytics
- Plage temporelle : les heures de début et de fin, exprimées au format ISO 8601
- Remarque : elles doivent être exprimées en heures pleines
- Groupes de métriques : un ou plusieurs ensembles de métriques associées (voir Metrics and Segmentation pour la liste des métriques dans chaque groupe de métriques)
- Granularité : spécifie le niveau d’agrégation auquel les métriques doivent être renvoyées
- Emplacement : détermine si les métriques sont récupérées pour des publicités diffusées sur X ou en dehors de X
- Remarque : une seule valeur d’emplacement peut être spécifiée par requête
start_time et end_time pour spécifier une plage temporelle. Ces valeurs doivent être alignées avec la granularité spécifiée de la manière suivante.
TOTAL: spécifiez n’importe quelle plage temporelle (dans les limites du point de terminaison)DAY: les valeurs d’heure de début et de fin doivent toutes deux être alignées sur minuit dans le fuseau horaire du compteHOUR: spécifiez n’importe quelle plage temporelle (dans les limites du point de terminaison)
start_time=2019-01-01T00:00:00Z et end_time=2019-01-02T00:00:00Z renverra une seule journée de métriques analytiques (et non deux), car cette plage temporelle ne couvre qu’une période de 24 heures.
Segmentation
Disponible uniquement via nos points de terminaison d’analytics asynchrones, la segmentation permet aux partenaires et aux annonceurs de récupérer des métriques ventilées selon certaines valeurs de ciblage spécifiques. Pour demander des métriques segmentées, utilisez le paramètre de requête segmentation_type. Pour plus de détails sur les options de segmentation, voir Metrics and Segmentation.
FAQ
- Assurez-vous d’avoir demandé des données pour les deux emplacements :
ALL_ON_TWITTERetPUBLISHER_NETWORK,SPOTLIGHTetTREND. - N’oubliez pas que les heures de fin dans l’Ads API sont exclusives ; elles sont inclusives dans l’interface Ads.
- Dès que les métriques de reporting sont disponibles, vous pouvez les récupérer. Elles sont disponibles en quasi temps réel. Cependant, ces premiers résultats sont des estimations et sont donc susceptibles d’évoluer. Les métriques sont finalisées après 24 heures, à l’exception des données de dépenses.
- Les métriques de dépenses sont généralement définitives dans les 3 jours suivant l’événement. Toutefois, nous traitons les données de facturation jusqu’à 14 jours après la date de l’événement (pour le filtrage du spam, par exemple).
- Utilisez l’endpoint Active Entities
null ?
- Il est probable que la campagne n’ait pas été diffusée pendant la période demandée.
- Utilisez l’endpoint Active Entities pour déterminer pour quelles entités et pour quelle période récupérer des données analytics.
null alors que l’interface affiche des 0 ?
- L’interface choisit d’afficher ces valeurs sous forme de 0, mais les valeurs sont équivalentes.
- Nous prenons en charge les valeurs d’emplacement suivantes dans analytics :
ALL_ON_TWITTERetPUBLISHER_NETWORK,SPOTLIGHTetTREND(c’est-à-dire la X Audience Platform).
- Oui. Le statut de l’entité n’a pas d’impact sur la disponibilité des métriques analytics.
- Il n’est pas attendu que les données segmentées se totalisent à 100 % par rapport aux données non segmentées, en raison de la manière dont ces informations sont dérivées.
- Nous ne prenons pas en charge la segmentation multiple.
Bonnes pratiques
Limitation du débit et réessais
- Pour les requêtes soumises à une limitation de débit (celles qui renvoient un code d’état
HTTP 429), vous devez consulter l’en-têtex-rate-limit-resetet réessayer uniquement au moment indiqué ou après. - Pour les requêtes qui aboutissent à un code d’état HTTP 503 Service Unavailable, vous devez consulter l’en-tête
retry-afteret réessayer uniquement après le moment indiqué. - Les applications qui ne respectent pas les délais indiqués pour les réessais peuvent se voir retirer leur accès à l’Ads API ou faire l’objet d’une réduction de débit sans préavis.
Les métriques Analytics en bref
- Toutes les métriques Analytics sont figées et ne changeront plus après 24 heures, à l’exception de
billed_charge_local_micro. - La métrique
billed_charge_local_microest une estimation pendant une période pouvant aller jusqu’à 3 jours après la mise à disposition des données. - Après 24 heures, cette métrique peut diminuer en raison de crédits pour surdépenses (publicités diffusées après le
end_timeindiqué) et pour des événements facturables considérés comme non valides. Cette métrique ne change que très légèrement après 24 heures. - Veuillez consulter la page Analytics pour plus d’informations.
Récupération de données non segmentées en temps réel
- Fournissez toujours à la fois un
start_timeet unend_time. - Ne récupérez pas de données pour des entités de plus de 7 jours.
- Demandez idéalement des données avec une granularité
HOUR, car vous pouvez toujours agréger et consolider les métriques pour obtenir une granularitéDAYetTOTAL. - Demandez idéalement des données au niveau des
line_itemset despromoted_tweets, car vous pouvez toujours agréger et consolider ces métriques pour obtenir des totaux sur l’ensemble de la hiérarchie des entités publicitaires (c.-à-d. aux niveaux campagne, instrument de financement ou compte). - Enregistrez et stockez les valeurs des métriques analytiques de votre côté (localement).
- Ne redemandez pas de données âgées de plus de 30 jours. Ces données ne changeront pas et doivent être stockées localement.
- Toutes les données non segmentées sont en temps réel et doivent être disponibles en quelques secondes après la survenue d’un événement.
- Regroupez les métriques de conversion et les métriques non liées aux conversions dans des requêtes séparées.
Récupération de données segmentées
- Reportez-vous aux consignes fournies ci-dessus pour la section « Fetching Real-time, Non-segmented Data ». Des conseils supplémentaires sont fournis ci-dessous.
- Pour la plupart des types de données segmentées, il est possible que les données ne soient pas complètes pendant une période pouvant aller jusqu’à 1 heure. Les données segmentées par
INTERESTSpeuvent être retardées jusqu’à 12 heures. - Il est normal que les données segmentées ne totalisent pas 100 % des données non segmentées, en raison de la manière dont ces informations sont dérivées.
Récupération de données historiques
- Lors du complément rétroactif de données (c’est‑à‑dire l’ajout d’un nouveau compte annonceur), vous devrez peut‑être effectuer plusieurs requêtes en utilisant des intervalles
start_timeetend_timeplus courts. - Limitez vos extractions à des fenêtres de 30 jours.
- Limitez la fréquence de ces requêtes et répartissez‑les dans le temps afin de ne pas épuiser vos limites de taux pour ces extractions.
Exemple
fetch_stats) sur notre dépôt GitHub ads-platform-tools.
Indicateurs par objectif
ENGAGEMENTS
ENGAGEMENT et BILLING. MEDIA est également applicable si des médias sont utilisés dans les éléments créatifs.
WEBSITE_CLICKS et WEBSITE_CONVERSIONS
ENGAGEMENT, BILLING et WEB_CONVERSION. MEDIA est également applicable si un média est utilisé dans les créations publicitaires.
APP_INSTALLS et APP_ENGAGEMENTS
ENGAGEMENT, BILLING, MOBILE_CONVERSION et LIFE_TIME_VALUE_MOBILE_CONVERSION. MEDIA et VIDEO sont également applicables si une carte d’App mobile média ou vidéo est utilisée dans les créations.
FOLLOWERS
ENGAGEMENT et BILLING. MEDIA est également applicable si des médias sont utilisés dans les créatifs.
LEAD_GENERATION
ENGAGEMENT et BILLING. MEDIA est également applicable si des médias sont utilisés dans les créations publicitaires.
VIDEO_VIEWS
ENGAGEMENT, BILLING et VIDEO.
VIDEO_VIEWS_PREROLL
ENGAGEMENT, BILLING et VIDEO.
Métriques et segmentation
*Certaines métriques de la famille de métriques
ENGAGEMENT ne sont pas disponibles au niveau du compte et de l’instrument de financement. Voir la section ENGAGEMENT pour plus de détails.
Métriques disponibles par groupe
ENGAGEMENT
BILLING
VIDEO
video_total_views au sein du groupe de métriques VIDEO prendra en compte toutes les vues pour lesquelles la vidéo est au moins à 50 % visible pendant 2 secondes, conformément au standard MRC.
Notre définition d’origine d’une vue vidéo, à savoir une vidéo visible à 100 % à l’écran pendant au moins 3 secondes, restera disponible sous la forme d’une nouvelle métrique video_3s100pct_views dans le groupe de métriques VIDEO. Pour continuer à enchérir et à être facturé sur la base de la définition d’origine de la vue, utilisez l’unité d’enchère nouvellement disponible VIEW_3S_100PCT.
MEDIA
WEB_CONVERSION
MOBILE_CONVERSION
LIFE_TIME_VALUE_MOBILE_CONVERSION
Segmentation
MEDIA_CREATIVE ou ORGANIC_TWEET.
Certains types de segmentation nécessitent que des paramètres supplémentaires soient transmis. Ils sont documentés ci-dessous.
Lors de la segmentation par CITIES ou POSTAL_CODES, l’API ne renverra que les emplacements ciblés. La segmentation par régions et par zones métropolitaines renverra à la fois les emplacements ciblés et non ciblés.
Indicateurs dérivés
metric sans accolades correspond à un indicateur renvoyé par les endpoints analytics de l’Ads API. Tout nom entouré de {accolades} indique un indicateur dérivé pour cette catégorie.
ENGAGEMENTS
WEBSITE_CLICKS
APP_INSTALLS et APP_ENGAGEMENTS
ABONNÉS
LEAD_GENERATION
VIDEO_VIEWS
QUALIFIED_IMPRESSIONS
PERSONNALISÉ
placement_type égal à PROMOTED_ACCOUNT, voir l’objectif FOLLOWERS ci-dessus. Pour tous les autres emplacements utilisant cet objectif, voir ENGAGEMENTS pour les métriques dérivées correspondantes.
Guides
Entités actives
Introduction
Données
Endpoint
Request
entity, start_time et end_time.
twurl -H ads-api.x.com "/11/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-03-05T00:00:00Z&end_time=2019-03-06T00:00:00Z"
Les valeurs suivantes pour entity sont prises en charge : CAMPAIGN, FUNDING_INSTRUMENT, LINE_ITEM, MEDIA_CREATIVE, PROMOTED_ACCOUNT et PROMOTED_TWEET. Cela reflète les types d’entités que nos endpoints d’analyse prennent en charge.
Les valeurs start_time et end_time doivent être exprimées au format ISO 8601 et indiquer quelles tranches horaires interroger. Elles doivent être exprimées en heures pleines.
Cet endpoint prend également en charge trois paramètres optionnels qui peuvent être utilisés pour filtrer les résultats : funding_instrument_ids, campaign_ids et line_item_ids. Ceux-ci fonctionnent à tous les niveaux de la hiérarchie publicitaire et avec n’importe quelle valeur entity spécifiée.
Réponse
data contient un objet pour chaque entité devant être incluse dans une requête d’analytics ultérieure. Vous ne devez pas demander des analytics pour des identifiants en dehors de cet ensemble.
Chaque objet comporte quatre champs : entity_id, activity_start_time, activity_end_time et placements. Les heures de début et de fin d’activité représentent l’intervalle de temps auquel s’appliquent les événements de modification de l’entité associée et déterminent donc les dates qui doivent être spécifiées dans les requêtes d’analytics ultérieures. Le tableau placements peut contenir les valeurs suivantes : ALL_ON_TWITTER, PUBLISHER_NETWORK, SPOTLIGHT et TREND. Il indique quels emplacements doivent être demandés pour l’identifiant d’entité donné.
Utilisation
- À quelle fréquence demander des informations sur les entités actives et, par conséquent, à quelle fréquence récupérer les analytics.
- Comment utiliser les heures de début et de fin d’activité pour déterminer les valeurs
start_timeetend_timede la requête d’analytics.
Résumé
- Effectuez la requête Active Entities.
- Divisez la réponse par placement. Un groupe pour
ALL_ON_TWITTER, un pourPUBLISHER_NETWORK, un pourSPOTLIGHTet un pourTREND. - Pour chaque groupe de placement, procédez comme suit.
- Extrayez les id d’entité.
- Déterminez les valeurs
start_timeetend_timepour l’analytics.- Trouvez la valeur minimale de
activity_start_time. Arrondissez cette valeur à la valeur inférieure la plus proche. - Trouvez la valeur maximale de
activity_end_time. Arrondissez cette valeur à la valeur supérieure la plus proche.
- Trouvez la valeur minimale de
- Effectuez la ou les requêtes d’analytics.
- Regroupez les id d’entité par lots de 20.
- Utilisez les valeurs
start_timeetend_timede l’étape 3b. - Indiquez la valeur de
placementappropriée.
- Écrivez dans votre stockage de données.
Fréquence
start_time de la requête actuelle soit égal au end_time de la requête précédente.
Remarque : Une fenêtre temporelle ne doit être demandée qu’une seule fois. Demander une fenêtre temporelle plus d’une fois entraînera des requêtes d’analyse inutiles. (Exception ci‑dessous.)
Étant donné la manière dont les événements de modification sont stockés, les quatre requêtes Active Entities ci‑dessus interrogent toutes le même bucket horaire, ce qui est nécessaire pour ce cas d’utilisation. Cependant, après l’heure en cours, ce bucket horaire ne doit plus être interrogé.
Heures d’activité
activity_start_time et la valeur maximale de activity_end_time. Modifiez ces valeurs en arrondissant l’heure minimale de début d’activité à l’inférieur et l’heure maximale de fin d’activité au supérieur. Plus précisément, définissez les horodatages avec les heures, les minutes et les secondes à zéro pour les deux, puis ajoutez un jour à l’heure de fin, comme illustré dans le tableau suivant. Ce sont ces heures de début et de fin qui doivent être spécifiées dans les requêtes d’analytics ultérieures.
Remarque : Il est important d’inclure les horodatages avec les heures, les minutes et les secondes définies à zéro. Sinon, si seule la date est transmise, nous supposerons que vous demandez des analytics commençant et se terminant à minuit dans le fuseau horaire du compte publicitaire, ce qui peut ne pas être souhaitable. Par exemple, si l’heure minimale de début d’activité est 2019-02-28T01:30:07Z et que l’horodatage est omis pour un compte publicitaire avec un décalage horaire de -08:00:00, la requête d’analytics ne prendra pas en compte les changements intervenus entre 01:30 et 08:00.
Autrement, si vous préférez demander des analytics uniquement pour la fenêtre temporelle d’activité renvoyée, sans l’étendre à des jours complets, vous pouvez le faire. En suivant cette approche, les heures de début et de fin dérivées seraient respectivement 2019-03-04T20:00:00Z et 2019-03-05T15:00:00Z. (Notez que de tels intervalles ne sont pas acceptés si vous spécifiez une granularité
DAY dans la requête d’analytics.)
Exemple
start_time et end_time pour l’analytics sont définies respectivement sur 2019-02-11T00:00:00Z et 2019-02-12T00:00:00Z. Nous constatons que le troisième élément de chacun des tableaux de métriques ci-dessous est non nul, comme nous nous y attendions d’après les informations sur les entités actives.
Guide asynchrone
Référence de l’API
Analytique asynchrone
Introduction
Utilisation
- Créez le job à l’aide de l’endpoint POST stats/jobs/accounts/:account_id.
- Effectuez des requêtes à intervalles réguliers vers l’endpoint GET stats/jobs/accounts/:account_id pour déterminer si le job a terminé son traitement.
- Une fois que le job a terminé son traitement, téléchargez le fichier de données.
- Décompressez le fichier de données.
segmentation_type lors de la création du job.
Exemple
id et id_str.
Ensuite, vous devez vérifier si le job que vous avez créé en utilisant l’id_str de la réponse précédente a terminé son traitement, comme indiqué par "status": "SUCCESS" dans la réponse. Cela signifie que les données sont prêtes à être téléchargées. Le champ url contient le lien de téléchargement.
job_ids pour vérifier l’état de plusieurs tâches à la fois en spécifiant jusqu’à 200 identifiants de tâche.
Ensuite, téléchargez le fichier de données en utilisant la valeur url indiquée.
Portée et fréquence moyenne
https://ads-api.x.com/stats/accounts/:account_id/reach/campaigns
GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/reach/campaigns?campaign_ids=8fgzf&start_time=2017-05-19&end_time=2017-05-26
URL de la ressource
https://ads-api.x.com/stats/accounts/:account_id/reach/funding_instruments
Analyses synchrones
end_time - start_time) est autorisé.
https://ads-api.x.com/12/stats/accounts/:account_id
Entités actives
- Les valeurs
start_timeetend_timeindiquent quelles tranches horaires interroger. - Le tableau
datarenvoyé contiendra un objet pour chaque entité devant être incluse dans les requêtes d’analytics suivantes. - IMPORTANT : les dates à spécifier dans les requêtes d’analytics suivantes doivent être déterminées à partir des valeurs
activity_start_timeetactivity_end_time.- Ces valeurs représentent les plages horaires auxquelles les événements de modification stockés s’appliquent. Elles sont renvoyées pour chaque entité.
end_time - start_time) de 90 jours est autorisée.
https://ads-api.x.com/12/stats/accounts/:account_id/active_entities
GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-02-28&end_time=2019-03-01