Partager via


API de plateforme numérique - Service de rapports

Le service de rapports est utilisé pour fournir l’accès à de nombreux types de rapports différents. Il garantit également que chaque type d’utilisateur peut uniquement accéder aux rapports appropriés pour ce type. Par exemple, les utilisateurs réseau ont accès à tous les types de rapports, tandis que les utilisateurs annonceurs et éditeurs n’ont accès qu’à quelques-uns.

Les métriques disponibles varient en fonction du type de rapport, mais peuvent inclure le montant dépensé pour l’inventaire, le nombre d’impressions vues et/ou vendues, les revenus gagnés, etc. Ce document explique comment demander et télécharger des données à partir du service de rapports. Il explique également comment obtenir plus d’informations sur chacun des types de rapports pris en charge, ainsi que des liens vers une documentation supplémentaire sur chaque type de rapport.

Remarque

  • Pour plus d’informations sur la synchronisation des données Xandr avec votre base de données de rapports, consultez Flux de création de rapports en bloc.
  • Il s’agit d’un service en lecture seule ; vous allez demander POST un rapport au format JSON, mais cela ne modifiera aucune des données stockées sur nos serveurs.

Types de rapports

Type de rapport Type d’utilisateur Description Conservation des données
Analyse réseau
network_analytics
Réseau Vue d’ensemble générale de ce qui se passe. Ce qui sert, ce qui se passe bien, à la fois côté achat et vente. Durée de vie : certaines données à granularité réduite après 100 jours.
Facturation réseau
network_billing
Réseau Ce dont vous pourriez avoir besoin pour facturer les annonceurs, ce qui peut vous être facturé par les éditeurs ou Xandr. Durée de vie : certaines données à granularité réduite après 100 jours.
Rapport de facturation d’achat
buyer_invoice_report
Réseau Rapports pour le rapprochement financier avec les frais liés à l’achat. 1095 jours
Rapport de facturation de vente
seller_invoice_report
Réseau Rapports pour le rapprochement financier avec les frais liés à la vente. 1095 jours
Network Advertiser Analytics
network_advertiser_analytics
Réseau Rapports réseau sur les annonceurs. Durée de vie : certaines données à granularité réduite après 100 jours.
Network Publisher Analytics
network_publisher_analytics
Réseau Rapports réseau sur les éditeurs. Durée de vie : certaines données à granularité réduite après 100 jours.
Publisher Analytics
publisher_analytics
Réseau, Serveur de publication Création de rapports sur ce qu’un éditeur doit voir. Durée de vie : certaines données à granularité réduite après 100 jours.
Analyse des annonceurs
advertiser_analytics
Réseau, Annonceur Création de rapports sur ce qu’un annonceur doit voir. Durée de vie : certaines données à granularité réduite après 100 jours.
Network Video Analytics
video_analytics_network
Réseau Rapports d’événements vidéo entre les annonceurs et les éditeurs. 420 jours
Network Advertiser Video Analytics
video_analytics_network_advertiser
Réseau Rapports d’événements vidéo pour un seul annonceur. 420 jours
Network Publisher Video Analytics
video_analytics_network_publisher
Réseau Rapports d’événements vidéo pour un seul éditeur. 420 jours
Rapport sur les performances du segment acheteur
buyer_segment_performance
Réseau Création de rapports sur les performances des segments entre les campagnes et plusieurs annonceurs. 45 jours
Rapport d’évaluation de la marque du vendeur
seller_brand_review
Réseau Création de rapports sur les performances de la marque dans l’ensemble de l’inventaire du réseau. 428 jours
Rapport d’évaluation de la marque de l’éditeur
publisher_brand_review
Éditeur Création de rapports sur les performances de la marque dans l’ensemble de l’inventaire de l’éditeur. 428 jours
Fréquence de création réseau & récurrence
network_advertiser_frequency_recency
Réseau Rapports réseau sur la fréquence de création et la récence pour un seul annonceur. 120 jours
Fréquence créative de l’annonceur & Récence
advertiser_frequency_recency
Réseau, Annonceur Création de rapports sur ce qu’un annonceur doit voir sur sa fréquence de création et sa récurrence. 120 jours
Performances du domaine de site réseau
network_site_domain_performance
Réseau Rapports réseau sur les performances du domaine entre les annonceurs. 45 jours
Rapport sur les performances du domaine de site
site_domain_performance
Réseau, Annonceur Création de rapports sur les performances du domaine pour un seul annonceur. 45 jours
Domaine du site vendeur
seller_site_domain
Réseau Création de rapports sur l’inventaire provenant d’un éditeur. 60 jours
Rapport de chargement de segments
segment_load
Réseau Création de rapports réseau sur les segments. 30 jours
Conversions attributs de l’annonceur
attributed_conversions
Réseau Rapports réseau sur les conversions attributées des annonceurs. 90 jours
Rapport d’analyse géographique
geo_analytics
Réseau Décomposez la livraison et les performances des campagnes par zone géographique. 45 jours
Analyse de l’opérateur réseau
network_carrier_analytics
Réseau Générer des rapports sur les données de performances côté achat et côté vente en fonction des opérateurs d’appareils mobiles. 46 jours
Network Device Analytics
network_device_analytics
Réseau Rapportez les données de performances côté achat et côté vente en fonction des appareils où les impressions ont été servies. 428 jours
Dernier feu du pixel de conversion
pixel_fired
Réseau Rapports réseau sur la date et l’heure du dernier incendie des pixels de conversion des annonceurs. Vie
Rapport d’audits créatifs terminé
completed_creative_audits
Réseau Rapport réseau conçu pour vous donner des informations sur la façon dont vos créatifs passent par le processus d’audit 365 jours
Flux de création de rapports en bloc
network_analytics_feed
clicktrackers
Réseau La possibilité de synchroniser nos rapports agrégés avec votre base de données de rapports. 30 jours
Rapport d’utilisation des données
buyer_data_usage_analytics
Réseau Rapport réseau qui fournit des détails sur votre utilisation des données fournies par des tiers (par exemple, les fournisseurs de segments d’utilisateurs), les coûts de cette utilisation des données et les éléments de ligne/campagnes dans lesquels ces données ont été utilisées pour cibler les utilisateurs. 60 jours
Rapport d’utilisation du fournisseur
buyer_vendor_usage_analytics
Réseau Rapport réseau qui fournit des détails sur votre utilisation des données ou de la plateforme alimentée par des fournisseurs tiers (par exemple, des fournisseurs de segments d’utilisateurs), les coûts de l’utilisation de ces données ou fonctionnalités et les éléments/campagnes de ligne où les coûts du fournisseur étaient applicables. 60 jours
Rapport d’engagement de l’acheteur
buyer_engagement_report
Annonceur Fournit des informations sur la durée d’affichage de vos créations vidéo et d’affichage. Cinq dernières semaines
Métriques des transactions d’acheteur
buyer_deal_metrics
Annonceur, Réseau Informations clés sur les métriques de transaction, les performances et les raisons de rejet pertinentes pour les acheteurs. 30 jours
Métriques des transactions de vendeur
seller_deal_metrics
Serveur de publication, réseau Informations clés sur les métriques de transaction, les performances et les raisons de rejet pertinentes pour les vendeurs. 30 jours
Métriques des transactions des vendeurs multi-acheteurs
multi_buyer_seller_deal_metrics
Serveur de publication, réseau Informations clés sur les métriques de transaction, les performances et les raisons de rejet pertinentes pour le vendeur. 30 jours
Analyse des valeurs clés
key_value_analytics
Réseau Création de rapports réseau sur les informations associées aux valeurs et clés de ciblage définies de votre réseau. Les impressions avec ciblage clé/valeur serviront et seront signalées uniquement pour les impressions qui ont été enregistrées par une balise de placement contenant le préfixe kw_ sur le nom de clé. 428 jours
Rapport d’analyse des conservateurs
curator_analytics
Conservateur Fournit aux conservateurs des informations sur la façon dont l’argent circule de la demande à l’offre au sein de leur place de marché organisée. 14 mois
Rapport sur les performances des segments de conservateur
curator_segment_performance
Conservateur Fournit aux conservateurs des insights sur la façon dont leurs segments ciblés contribuent aux performances globales de leurs transactions organisées. 14 mois
Rapport de fréquence et de portée de l’acheteur
buyer_approximate_unique_users_hourly
Réseau Fournit les informations associées à « reach », c’est-à-dire le nombre d’appareils ou de personnes uniques exposés à des publicités et la « fréquence », qui est le nombre moyen de fois que chaque appareil ou personne unique a été exposé à des publicités. 90 jours
Rapport d’attribution hors connexion
offline_attribution
Annonceur Fournit des informations sur les performances de votre élément de ligne en ce qui a trait à l’influence des achats en magasin auprès de vos publics cibles. Le rapport Attribution hors connexion n’est accessible qu’aux clients dont l’attribution des ventes hors connexion est activée pour leurs éléments de ligne. 120 jours
Rapport d’analyse CMP vendeur
cmp_analytics
Réseau Fournit des informations sur le nombre, la validité et le contenu des chaînes IAB Transparency & Consent Framework (IAB TCF) sur les demandes d’annonces des vendeurs adressées à nos points de terminaison. 30 jours
Rapport d’analytique vendeur Prebid Server Premium
prebid_server_analytics
Réseau Le rapport Analyse vendeur Prebid Server Premium contient des informations sur les performances des partenaires à la demande Prebid Server Premium (PSP) configurés. Utilisez pour la livraison et les performances finales. 30 jours
Rapport Prebid Server Premium Health Analytics
psp_health_analytics
Réseau Données relatives aux demandes et transactions d’enchères Prebid Server Premium . Utile pour la résolution des problèmes et l’optimisation. Le rapport est basé sur des exemples de données multipliées pour estimer le volume complet de l’activité PSP. Utilisez prebid Server Premium Analytics Report et d’autres rapports Microsoft Monetize à ces fins. 99 jours
Rapport de disponibilité de l’inventaire
platform_inventory_availability
Annonceur, Éditeur Les rapports de disponibilité d’inventaire fournissent des informations sur les types d’inventaire disponibles sur la plateforme. 30 jours

API REST pour l’affichage des métadonnées

HTTP, méthode Endpoint Description
GET https://api.appnexus.com/report?meta Retourne des métadonnées pour tous les rapports.
GET https://api.appnexus.com/report?meta=REPORT_TYPE Retourne des métadonnées pour un type de rapport particulier.

Champs JSON pour l’affichage des métadonnées

Le meta array comprend les champs suivants :

Champ Description
time_granularity Granularité de la durée pendant laquelle le rapport peut fournir des données.
Valeurs possibles :
- "hourly"
- "daily"
- "monthly"
- "yearly"
- "lifetime"

Si "hourly" ou "lifetime", les données sont disponibles pour l’année, le mois, le jour et l’heure.
Si "daily", "monthly"ou "yearly", les données sont disponibles uniquement pour l’année, le mois et le jour.
columns Colonnes qui peuvent être demandées. Pour chaque colonne, le nom et le type sont répertoriés dans la réponse JSON.
filters Colonnes qui peuvent être utilisées comme filtres. Pour chaque colonne, le nom et le type sont répertoriés dans la réponse JSON.
time_intervals Intervalles de temps pendant lesquels le rapport peut être exécuté.

Remarque

Certains types de rapports vous permettent d’exécuter un rapport pour une période personnalisée. Pour ce faire, définissez les start_date champs et end_date dans votre demande de rapport.

Exemple de réponse aux métadonnées (à l’aide du network_analytics rapport)

$ curl -b cookies -c cookies 'https://api.appnexus.com/report?meta=network_analytics'

{
    "response": {
        "status": "OK",
        "meta": {
            "time_granularity": "hourly",
            "columns": [
                {
                    "column": "month",
                    "type": "date"
                },
                {
                    "column": "day",
                    "type": "date"
                },
                {
                    "column": "hour",
                    "type": "date"
                },
                {
                    "column": "buyer_member_id",
                    "type": "int"
                },
                {
                    "column": "seller_member_id",
                    "type": "int"
                },
                {
                    "column": "seller_member_name",
                    "type": "string"
                },
                {
                    "column": "seller_member",
                    "type": "string"
                },
                {
                    "column": "advertiser_id",
                    "type": "int"
                },
                ...
            ],
            "filters": [
                {
                    "column": "hour",
                    "type": "date"
                },
                {
                    "column": "day",
                    "type": "date"
                },
                {
                    "column": "month",
                    "type": "date"
                },
                {
                    "column": "buyer_member_id",
                    "type": "int"
                },
                {
                    "column": "seller_member_id",
                    "type": "int"
                },
                ...
            ],
            "havings": [
                {
                    "column": "imps"
                },
                {
                    "column": "clicks"
                },
                {
                    "column": "cost"
                },
                {
                    "column": "revenue"
                },
                {
                    "column": "booked_revenue"
                },
                {
                    "column": "reseller_revenue"
                },
                {
                    "column": "profit"
                },
                ...
            ],
            "time_intervals": [
                "current_hour",
                "last_hour",
                "last_48_hours",
                "today",
                "yesterday",
                "last_7_days",
                "month_to_date",
                "quarter_to_date",
                "last_month",
                "lifetime",
                "mtd"
            ]
        }
    }
}

API REST pour la récupération de données

HTTP, méthode Endpoint Description
POST https://api.appnexus.com/report
(rapport JSON)
Demander un rapport.
GET https://api.appnexus.com/report?id=REPORT_ID Demandez la status d’un rapport.
GET https://api.appnexus.com/report-download?id=REPORT_ID Récupérer des données de rapport.

Remarque

Les utilisateurs réseau peuvent exécuter des rapports au niveau de l’annonceur et de l’éditeur en ajoutant advertiser_id=ADVERTISER_ID ou publisher_id=PUBLISHER_ID à la chaîne de requête.

Champs JSON pour la récupération des données

Champ Obligatoire le POST Type Description
report_type oui enum Cela détermine les informations qui seront retournées.
Valeurs possibles :
- "network_analytics"
- "network_billing"
- "buyer_invoice_report"
- "seller_invoice_report"
- "network_advertiser_analytics"
- "network_publisher_analytics"
- "network_site_domain_performance"
- "advertiser_analytics"
- "video_analytics_network"
- "video_analytics_network_advertiser"
- "video_analytics_network_publisher"
- "buyer_segment_performance"
- "seller_brand_review"
- "publisher_brand_review"
- "publisher_analytics"
- "network_creative_search"
- "publisher_creative_search"
- "network_advertiser_frequency_recency"
- "advertiser_frequency_recency"
- "site_domain_performance"
- "seller_site_domain"
- "inventory_domain_analytics"
- "inventory_source_analytics"
- "inventory_daily_uniques"
- "segment_load"
- "attributed_conversions"
- "pixel_fired"
- "network_analytics_feed"
- "clicktrackers"
- "key_value_analytics"
- "prebid_server_analytics"
- "psp_health_analytics"
timezone Non string (50) Cela détermine le fuseau horaire dans lequel les données seront signalées. Pour obtenir la liste des valeurs de fuseau horaire possibles, consultez Fuseaux horaires d’API.

Note: Pour les network_billingtypes de rapports , network_analyticsnetwork_advertiser_analytics, network_publisher_analytics, advertiser_analytics, et publisher_analytics , les données antérieures à 100 jours sont signalées au format UTC. En outre, les types de rapports qui n’offrent pas de données horaires, tels que network_site_domain_performance, site_domain_performanceet seller_site_domain seront signalés au format UTC.
filters Non tableau Liste des objets de filtre à appliquer au rapport. Consultez l’étape 1 de la section Comment exécuter un rapport ci-dessous.
group_filters Non tableau d’objets Vous permet de spécifier une opération à effectuer sur un ou plusieurs filtres. Par exemple, si vous sélectionnez le nombre total d’impressions regroupées par campagne, vous pouvez utiliser ce champ pour filtrer les campagnes qui n’ont pas au moins 10 000 impressions.
columns oui tableau de chaînes Liste des colonnes à inclure dans le rapport. Consultez Create une demande de rapport au format JSON ci-dessous. Au moins une colonne doit être spécifiée.
row_per OU groups Non tableau Remarque :Déconseillé. Par défaut, les résultats des rapports sont automatiquement regroupés par dimensions dans columns. La transmission de ces champs n’a aucun effet.

Pour la plupart des rapports, les dimensions sélectionnées sont regroupées automatiquement. Par exemple, si vous incluez les colonnes "advertiser_id", "campaign_id", "creative_id"et "imps", chaque ligne de données de rapport affiche les impressions par annonceur, campagne et combinaison créative.
start_date Non chaîne Date de début du rapport.
- Pour les types de rapports qui offrent des données horaires, il doit être au "YYYY-MM-DD HH:MM:SS"format .

Note:MM:SS doit être 00:00, car les données ne sont pas disponibles pendant des minutes et des secondes.

- Pour les types de rapports qui n’offrent pas de données horaires, il doit être mis en forme comme "YYYY-MM-DD".
end_date Non string Date de fin du rapport.

Note: n’est end_date pas inclusif. Par exemple, si vous commencez un rapport à "2017-07-01 00:00:00" et terminez le rapport à "2017-07-01 23:00:00", votre rapport n’inclut pas les données de la dernière heure de la journée. La façon correcte de récupérer ces données consiste à terminer le rapport à l’adresse "2017-07-02 00:00:00".

- Pour les types de rapports qui offrent des données horaires, il doit être au "YYYY-MM-DD HH:MM:SS"format . Toutefois, MM:SS doit être 00:00, car les données ne sont pas disponibles pendant les minutes et les secondes. Par exemple, "2017-07-01 00:00:00" pour "2017-07-02 00:00:00" récupérer les données d’une journée entière.
- Pour les rapports agrégés sur des intervalles plus longs que toutes les heures (par exemple, quotidien, hebdomadaire, etc.), le format doit être "YYYY-MM-DD". Par exemple, "2017-07-01" pour "2017-07-02" récupérer les données d’une journée entière.
report_interval Non enum Intervalle de temps pour le rapport. Tous les rapports n’acceptent pas tous les intervalles. Pour plus d’informations, consultez la documentation et les métadonnées de chaque rapport.
Valeurs possibles :
- current_hour
- last_hour
- today
- yesterday
- last_48_hours
- last_2_days
- last_7_days
- last_14_days
- month_to_yesterday
- month_to_date
- quarter_to_date
- last_month
- lifetime
- 30_days
orders Non tableau d’objets Liste des colonnes à trier. Consultez Comment exécuter un rapport ci-dessous.
format Non enum Format dans lequel les données du rapport seront retournées. Si ce champ n’est pas spécifié, la valeur par défaut "csv"est .
Valeurs possibles :
- "csv": valeurs séparées par des virgules
- "excel": valeurs séparées par des tabulations
- "html"
reporting_decimal_type Non enum Marque décimale utilisée dans le rapport.
Valeurs possibles :
- "comma"
- "decimal" (point)
Si ce champ est transmis, il remplace les préférences décimales de création de rapports définies au niveau de l’utilisateur et du membre.
emails Non tableau Liste des adresses e-mail auxquelles les données de rapport seront envoyées. Les données de rapport sont envoyées sous forme de pièce jointe, et le corps de l’e-mail contient les informations ci-dessous.
- Type de rapport
- Nom et ID du membre, de l’annonceur ou de l’éditeur
- Date d’exécution
- Date de début
- Date de fin
-Timezone
- Utilisateur qui a généré le rapport.

Note: Les résultats de rapport d’une taille supérieure à 15 Mo ne seront pas envoyées par e-mail. Pour savoir comment empêcher les résultats d’être trop volumineux, consultez Meilleures pratiques en matière de création de rapports.
escape_fields Non valeur booléenne Quand truela valeur est , elle ajoute des guillemets autour de chaque champ dans la sortie du rapport pour permettre une importation plus sûre dans Excel. Cela s’applique uniquement aux rapports CSV et délimités par des tabulations.

group_filters Exemple

{
"group_filters": [
{
"imps": {
"value": 10000,
"operator": ">="
}
}
]
}

Comment exécuter un rapport ?

Étape 1 : Create une demande de rapport au format JSON

Le fichier JSON doit inclure le spécifique report_type que vous souhaitez exécuter, ainsi que les columns (dimensions et métriques) et report_interval ("today", , "yesterday""month_to_date", etc.) que vous souhaitez récupérer. Vous pouvez également inclure pour les filters dimensions, définir la granularité (year, month, day) et spécifier le format dans lequel les données doivent être retournées. Les format options sont les suivantes :

  • "csv" - Fichier séparé par des virgules
  • "excel" - Fichier séparé par des tabulations
  • "xlsx" - Format Excel compatible XML moderne (compressé)

Remarque

Pour filtrer une dimension par plusieurs valeurs, utilisez un tableau. Par exemple :

Correcte:

"filters": [{"bid_type": ["learn","optimized"]}, {"geo_country":"US"}]

Incorrect:

"filters": [{"bid_type":"learn"}, {"bid_type":"optimized"},`` {"geo_country":"US"}]

Pour plus d’informations sur les champs qui peuvent être inclus dans la demande, consultez champs JSON ci-dessus. Pour obtenir la liste complète des dimensions et métriques disponibles, consultez la documentation relative au type de rapport spécifique que vous souhaitez exécuter, ou extrayez les métadonnées de ce rapport, comme décrit dans API REST pour l’affichage des métadonnées.

$ cat report_request

{
    "report": {
        "report_type": "network_analytics",
        "report_interval": "last_48_hours",
        "columns": ["day","imps","clicks"],
        "filters": [{"geo_country":"US"}],
        "orders": [{"order_by":"day", "direction":"ASC"},{"order_by":"imps", "direction":"DESC"}],
        "format": "csv"
    }
}

Étape 2 : POST la demande au service de rapports

Vous POST la demande JSON et récupérez un ID de rapport.

$ curl -b cookies -c cookies -X POST -d @report_request 'https://api.appnexus.com/report'

{
    "response": {
        "status": "OK",
        "report_id": "ca9955709eade9a0e89f5cda5345c12r"
    }
}

Vous pouvez également obtenir un ID de rapport via une POST requête à l’aide d’un ID de rapport enregistré. Pour plus d’informations, consultez Le service de rapports enregistrés :

curl -c cookies -b cookies -X POST 'https://api.appnexus.com/report?saved_report_id=30'

Étape 3 : GET le rapport status à partir du service De rapport

Effectuez un GET appel avec l’ID de rapport pour récupérer les status du rapport. Continuez à effectuer cet appel jusqu’à ce que soit execution_status"ready". Utilisez ensuite le report-download service pour enregistrer les données de création de rapports dans un fichier. (Ceci est décrit à l’étape suivante.)

$ curl -b cookies -c cookies 'https://api.appnexus.com/report?id=ca9955709eade9a0e89f5cda5345c12r'

{
    "response": {
        "status": "OK",
        "report": {
            "name": null,
            "created_on": "2017-03-13 18:15:48",
            "cache_hit": false,
            "fact_cache_hit": false,
            "json_request": "{\"report\":{\"report_type\":\"network_analytics\",\"report_interval\":
                \"last_48_hours\",\"columns\":[\"day\",\"imps\",\"clicks\"],\"filters\":[{\"geo_country\":
                \"US\"},{\"entity_member_id\":\"514\"},{\"entity_member_id\":null}],\"orders\":
                [{\"order_by\":\"day\",\"direction\":\"ASC\"},{\"order_by\":\"imps\",\"direction\":
                \"DESC\"}]}}",
            "header_info": "Report type:,network_analytics\r\n,\r\nRun at:,2017-03-13 18:15:48\r\nStart date:,
                \r\nEnd date:,\r\nTimezone:,\r\nUser:,John Smith (9385)\r\n",
            "report_size": "10",
            "row_count": "35",
            "url": "report-download?id=ca9955709eade9a0e89f5cda5345c12r"
        },
        "execution_status": "ready"
    }
}

Étape 4 : GET les données de rapport du service de téléchargement de rapports

Pour télécharger les données du rapport dans un fichier, effectuez un autre GET appel avec l’ID de rapport, mais cette fois au report-download service. Vous trouverez le service et l’ID de rapport dans le champ URL de la réponse précédente GET . Lorsque vous identifiez le fichier dans lequel vous souhaitez enregistrer, veillez à utiliser l’extension de fichier du "format" que vous avez spécifié dans votre initial POST.

Remarque

Si une erreur se produit pendant le téléchargement, l’en-tête de réponse inclut un code d’erreur HTTP et un message. Utilisez -i ou -v dans votre demande pour exposer l’en-tête de réponse.

curl -i -b cookies -c cookies 'https://api.appnexus.com/report-download?id=ca9955709eade9a0e89f5cda5345c12r' > /tmp/network_analytics.csv

Vous pouvez ensuite ouvrir le fichier csv à l’aide de Microsoft Excel ou d’un logiciel similaire.

Limitations de la taille des données de rapport

Les résultats de rapport supérieurs à 15 Mo ne seront pas envoyé par e-mail aux destinataires spécifiés dans la requête JSON.

Les rapports dont le traitement prend plus de 15 minutes expirent et retournent une erreur status. Cette durée de traitement correspond approximativement à 1MM lignes de données. Si vos rapports expirent régulièrement, envisagez l’une des options suivantes :

  • Vérifiez que vous avez vraiment besoin de toutes ces données. Si ce n’est pas le cas, mettez à jour vos demandes de rapport avec un intervalle de temps plus court ou moins de dimensions. Pour obtenir des conseils sur la façon d’empêcher les rapports d’être inutilement volumineux ou trop longs à traiter, consultez Meilleures pratiques de création de rapports ci-dessous.
  • Si vous avez vraiment besoin de toutes ces données, suivez les instructions fournies dans Pagination de rapports.

Limitation des rapports

Afin de garantir que nos systèmes fonctionnent aussi bien que possible pour tous les utilisateurs, le service de rapports limite les demandes de rapport au niveau des membres et des utilisateurs. Cette page décrit comment les limites sont déterminées et comment nous gérons les demandes qui dépassent les limites définies pour chaque membre et chaque utilisateur.

Limites de l’utilisateur

Lorsqu’un rapport est soumis par l’utilisateur A, une case activée est effectuée pour voir si l’utilisateur A a envoyé 5 demandes de rapport au cours des 15 dernières minutes qui sont en attente de status ou en cours de traitement. Si c’est le cas, une erreur est signalée.

Limites des membres

Un membre donné est limité à n demandes de rapport en cours de traitement en même temps, où n est déterminé par le contrat du membre (il est spécifié en interne par le max_concurrent_reports_processing champ de la table api.member.) Toutes les demandes de rapport envoyées une fois la limite atteinte sont placées dans une file d’attente. Aucun avertissement ou alerte n’est fourni.

Exemple

Les limitations au niveau de l’utilisateur et des membres interagissent entre elles, comme illustré dans l’exemple suivant. Supposons que l’utilisateur A et l’utilisateur B sont associés au même membre ; ce membre a une limite de 5 demandes de rapport simultanées. Pour cet exemple, nous supposons que les demandes de rapport suivantes sont toutes envoyées dans un intervalle de temps de 15 minutes :

Demande de rapport Utilisateur Résultat
1 Utilisateur A Traitement
2 Utilisateur A Traitement
3 Utilisateur B Traitement
4 Utilisateur B Traitement
5 Utilisateur B Traitement
6 Utilisateur A Mis en file d’attente
7 Utilisateur A Mis en file d’attente
8 Utilisateur A Mis en file d’attente
9 Utilisateur A Erreur

La demande de rapport n° 6 est placée dans la file d’attente, car 5 demandes de rapport sont déjà traitées pour ce membre. Pour la même raison, les demandes 6 à 8 sont également placées dans la file d’attente. Enfin, nous pouvons voir que la requête n° 9 provoque un signal d’erreur, car l’utilisateur A a envoyé sa 6e demande de rapport dans un délai de 15 minutes.

Données de conversion

Les conversions (et les données associées) dans les rapports sont traitées de manière asynchrone. Par conséquent, les rapports sont disponibles plus rapidement, tandis que certaines données liées à la conversion sont toujours traitées en arrière-plan. Pour plus d’informations, consultez « Attribution de conversion asynchrone » dans la page Disponibilité des données de création de rapports .

Meilleures pratiques en matière de création de rapports

Voici quelques conseils pour éviter que vos rapports soient inutilement volumineux ou qu’ils prennent beaucoup de temps à traiter :

  • Raccourcissez le report_interval (par exemple, de "lifetime" à "last_48_hours").
  • Ajoutez d’autres filtres de niveau supérieur (par exemple, pour un éditeur, un annonceur, une campagne, etc.).
  • Évitez de combiner des dimensions granulaires côté achat et côté vente (par exemple, créatif et placement), car cela augmente le nombre de lignes de façon exponentielle. Si vous avez besoin de créer des rapports sur ces combinaisons, envisagez d’utiliser des flux de création de rapports en bloc ou desflux de données au niveau du journal (LLD).

Si vous devez extraire des rapports volumineux dont le traitement prend beaucoup de temps, suivez les instructions fournies dans Pagination de rapports.

Pour déterminer quand un rapport a été mis à jour pour la dernière fois, utilisez le service d’état du rapport.