Résoudre les problèmes liés aux enchères en temps réel

Ce guide présente les ressources de dépannage du système d'enchères en temps réel, qui vous permettent d'accéder les métriques des campagnes avec enchères en temps réel, également accessibles via le l'outil de répartition RTB disponible dans la Interface utilisateur d'Authorized Buyers Il s'agit entre autres de bidders.filterSets, bidders.accounts.filterSets et toutes les ressources sous-jacentes de manière hiérarchique.

En utilisant les métriques des ressources de dépannage RTB, vous pouvez obtenir des informations sur les opportunités manquées pour remporter des impressions, ce qui peut vous aider à optimiser votre campagne d'enchères en temps réel.

Modifications apportées à la structure et au style de l'API

Les ressources de dépannage du système d'enchères en temps réel introduisent quelques modifications pour indiquer explicitement que vous êtes propriétaire vous pouvez contrôler plus précisément les données renvoyées par l'API et vous aligner sur Pratiques de conception d'API Google.

Ressources au niveau de l'enchérisseur et du compte

Les ressources sont structurées sous bidders et bidders.accounts. Ceux-ci vous permettent de spécifier si un appel d'API cible un enchérisseur (également appelé compte parent) et tous les comptes des comptes enfants ou des comptes Authorized Buyers individuels. Dans le contexte des enchères en temps réel Dépannage : les ressources structurées sous bidders.filterSets renverront des métriques agrégées pour l'enchérisseur donné et tous les comptes enfants associés. En revanche, ceux sous bidders.accounts.filterSets ne renverra que les métriques du compte spécifié, quel que soit le qu'il s'agisse d'un enchérisseur ou d'un compte enfant.

Remarque: Les comptes qui délèguent leurs enchères à un autre acheteur ne sont pas des comptes d'enchérisseur. ne peut donc pas accéder aux ressources au niveau de l'enchérisseur. De plus, les comptes non-enchérisseurs accéder aux niveaux impressionMetrics, filteredBidResponses, bidResponseErrors et bidResponsesWithoutBids ressources.

Présentation des noms de ressources en tant qu'identifiants uniques

Les noms de ressources servent à des identifiants uniques plutôt que des identifiants sous forme d'entiers ou de chaînes. Lors de la création d'une instance type de ressource, vous devez maintenant spécifier relative nom de ressource à l'aide du chemin d'URI de la ressource suivi de l'ID de ressource souhaité. La Voici des exemples de noms pertinents pour les ressources de dépannage RTB:

Ressource Exemple de nom
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

Remarque: L'ID de ressource spécifié pour bidders dans le nom doit être l'identifiant de l'enchérisseur ID de compte Authorized Buyers. Pour accounts, l'ID de ressource doit correspondre à l'un des ID de compte l'enchérisseur ou un compte enfant qu'il gère. Si vous ne savez pas quels acheteurs Authorized Buyers sont associés à votre compte Google, vous pouvez utiliser le accounts.list pour les trouver.

Ensembles de filtres

Un ensemble de filtres est une représentation des options de filtrage disponibles et peut être créé au niveau de l'enchérisseur ou du compte. Il est utilisé pour filtrer les résultats de la liste de dépannage du système d'enchères en temps réel. qui récupèrent des métriques pour vos campagnes avec enchères en temps réel.

Le filtre appliqué lors de la récupération des métriques correspond à l'intersection de chaque filtre dans les d'un ensemble de filtres. Les filtres de liste, tels que platforms, sont interprétés comme l'union de chaque élément de la liste.

Les ensembles de filtres définis au niveau du compte et de l'enchérisseur sont différents et ne sont accessibles qu'au niveau quel que soit le compte utilisé pour les créer. Un enchérisseur et un compte enfant partagent de filtres créés au niveau du compte, alors que seul un enchérisseur peut accéder aux ressources au niveau du compte au niveau de l'enchérisseur. Le tableau suivant récapitule comment les enchérisseurs et les comptes enfants peuvent accéder aux ressources au niveau de l'un ou l'autre:

  bidders.filterSets bidders.accounts.filterSets
Compte d'enchérisseur Un appel d'API n'affecte que les ensembles de filtres au niveau de l'enchérisseur. Un appel d'API n'affecte que les ensembles de filtres au niveau du compte.
Compte enfant Cet appel d'API renvoie une erreur. Un appel d'API n'affecte que les ensembles de filtres au niveau du compte.

Créer un ensemble de filtres

Lorsque vous créez un ensemble de filtres, vous devez spécifier une période en tant que relativeDateRange, absoluteDateRange ou realtimeTimeRange. Lors de la récupération des métriques, le comportement par défaut consiste à fournir toutes les données pour l'ensemble de la période. Si vous souhaitez recevoir une répartition de série temporelle sur la période, vous pouvez spécifier timeSeriesGranularity pour indiquer des intervalles de HOURLY ou DAILY.

Si vous n'avez besoin d'un ensemble de filtres que pendant une courte période, vous pouvez définir le isTransient le paramètre de requête sur true. Cela indique que l'ensemble de filtres est temporaire, ce qui signifie qu'il ne sera pas conservé indéfiniment. Les ensembles de filtres temporaires sont disponibles pendant au moins une heure après leur création, mais finissent par être supprimés. Par défaut, les ensembles de filtres ne sont pas temporaires.

Exemple au niveau de l'enchérisseur

Pour créer un ensemble de filtres au niveau de l'enchérisseur, envoyez une requête POST à l'URI de la ressource bidders.filterSets, au format suivant:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets

Avertissement: Les ensembles de filtres au niveau de l'enchérisseur ne permettent pas de filtrer par ID de création ou d'accord. Si vous spécifiez ces filtres lors de la création d'un ensemble de filtres au niveau de l'enchérisseur, vous recevrez un message d'erreur.

Requête

Voici un exemple de requête POST qui crée un ensemble de filtres non temporaires au niveau de l'enchérisseur:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Réponse

Lorsque la requête aboutit, le serveur affiche un code d'état 200 OK. Le corps de la réponse inclura la ressource d'ensemble de filtres créée, qui sera identique à l'ensemble de filtres envoyé dans la requête.

Exemple au niveau du compte

Pour créer un ensemble de filtres au niveau du compte, envoyez une demande POST au L'URI de la ressource bidders.accounts.filterSets, qui a le format suivant:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets

Remarque: L'ID de ressource spécifié pour accounts peut correspond à l'ID de tout compte Authorized Buyers auquel l'enchérisseur a accès spécifié dans l'URI, y compris le compte du système d'enchères lui-même.

Requête

Voici un exemple de requête POST qui crée un ensemble de filtres non temporaire au niveau du compte:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}
Réponse

Lorsque la requête aboutit, le serveur affiche un code d'état 200 OK. Le corps de la réponse inclure la ressource d'ensemble de filtres créée, qui sera identique à celle envoyée dans la demande.

Obtenir un ensemble de filtres

La méthode get ne peut obtenir qu'un ensemble de filtres au niveau auquel il a été créé. Par exemple, un enchérisseur le compte doit utiliser bidders.accounts.filterSets.get pour récupérer un ensemble de filtres créé au niveau du compte plutôt que la méthode bidders.filterSets.get.

Au niveau de l'enchérisseur

Pour récupérer un ensemble de filtres défini au niveau de l'enchérisseur, envoyez une requête HTTP GET à l'URI de la ressource bidders.filterSets, au format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
Demander

Exemple :

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
Réponse

Si la requête aboutit, le serveur affiche un code d'état HTTP 200 OK et l'ensemble de filtres récupéré:

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Au niveau du compte

Pour récupérer un ensemble de filtres au niveau du compte, envoyez une requête HTTP GET à l'URI de la ressource bidders.accounts.filterSets, au format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
Demander

Exemple :

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs
Réponse

Si la requête aboutit, le serveur affiche un code d'état HTTP 200 OK et l'ensemble de filtres récupéré:

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Répertorier les ensembles de filtres

La méthode "list" ne renvoie que les ensembles de filtres accessibles à partir du niveau où elle est appelée. Par exemple, un compte d'enchérisseur ne peut pas voir les ensembles de filtres créés pour lui-même via bidders.accounts.filterSets.create lors de l'appel de bidders.filterSets.list.

Au niveau de l'enchérisseur

Vous pouvez récupérer tous les ensembles de filtres définis au niveau de l'enchérisseur pour un enchérisseur donné en envoyant une requête HTTP GET à l'URI de la ressource bidders.filtersets, au format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
Demander

Voici un exemple listant tous les ensembles de filtres définis au niveau de l'enchérisseur pour un enchérisseur dont le numéro de compte est 12345678:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Réponse
{
  "filterSets": [{
      "filterSetId": "99994",
      "name": "bidders/12345678/filterSets/test-b-1",
      "relativeDateRange": {
        "durationDays": 30
      }
    },
    {
      "realtimeTimeRange": {
        "startTimeStamp": "2017-11-15T12:30:30.072831583Z"
      },
      "filterSetId": "99995",
      "name": "bidders/12345678/filterSets/test-b-2",
      "timeSeriesGranularity": "HOURLY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 12,
          "month": 3,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99996",
      "name": "bidders/12345678/filterSets/bidder-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["TABLET", "MOBILE"],
      "environment": "APP",
      "format": "DISPLAY"
    }
  ]
}

Au niveau du compte

Vous pouvez récupérer tous les ensembles de filtres au niveau d'un compte donné en envoyant une requête HTTP GET à l'URI de la ressource bidders.accounts.filtersets, au format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
Demander

Voici un exemple listant tous les ensembles de filtres au niveau du compte pour un compte enfant dont l'ID de compte est 87654321:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Réponse
{
  "filterSets": [{
        "realtimeTimeRange": {
        "startTimeStamp": "2017-11-19T04:24:43.252893487Z"
      },
      "filterSetId": "99997",
      "name": "bidders/12345678/accounts/87654321/filterSets/test-a-1",
      "timeSeriesGranularity": "DAILY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 3,
          "month": 12,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99998",
      "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["DESKTOP"],
      "environment": "WEB",
      "format": "VIDEO"
    }
  ]
}

Supprimer un ensemble de filtres

Vous pouvez utiliser la méthode delete pour supprimer tous les ensembles de filtres non temporaires qui ne sont pas n'en a plus besoin. Elle ne peut supprimer des ensembles de filtres accessibles qu'à partir du niveau où il est appelé. Par exemple, un compte d'enchérisseur ne peut pas supprimer un ensemble de filtres créé avec bidders.accounts.filterSets.create. avec bidders.filterSets.delete.

Au niveau de l'enchérisseur

Vous pouvez supprimer un ensemble de filtres au niveau de l'enchérisseur pour un compte donné en envoyant une requête HTTP DELETE. à l'URI de la ressource bidders.filtersets, au format suivant:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
Demander

Voici un exemple de suppression d'un ensemble de filtres au niveau de l'enchérisseur:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2
Réponse

Si la requête aboutit, le corps de la requête sera vide. L'ensemble de filtres spécifié ne sera plus accessible.

Au niveau du compte

Vous pouvez supprimer un ensemble de filtres au niveau d'un compte donné en envoyant un DELETE HTTP à l'URI de la ressource bidders.accounts.filtersets, au format suivant:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
Demander

Voici un exemple de suppression d'un ensemble de filtres au niveau du compte:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1
Réponse

Si la requête aboutit, le corps de la requête sera vide. L'ensemble de filtres spécifié ne sera plus accessible.

Récupérer les métriques de dépannage du système d'enchères en temps réel

Toutes les ressources de dépannage du système d'enchères en temps réel utilisées pour recevoir des métriques fonctionnent de la même manière : elles ont un Méthode unique pour répertorier les métriques de l'ensemble de filtres spécifié via un chemin d'accès filterSetName . L'ensemble de filtres spécifié déterminera quels filtres et paramètres seront appliqués lorsque à interroger les métriques. Le fait d'appeler ces ressources depuis le niveau de l'enchérisseur renverra des métriques agrégées. provenant du compte d'enchérisseur et de tous les comptes enfants associés, tandis qu'un appel au niveau du compte ne renverra que les métriques d'un compte individuel.

Métriques d'enchères

La ressource bidMetrics permet de récupérer les métriques mesurées dans le le nombre d'enchères. Vous pouvez, par exemple, l'utiliser pour déterminer le nombre total d'enchères une période donnée, et combien d'entre elles n'ont pas été exclues de la mise en concurrence et ont remporté une impression, Comme toutes les autres ressources de dépannage RTB permettant de collecter des métriques, elle ne dispose que d'une méthode list.

Lister les métriques d'enchères au niveau de l'enchérisseur

Vous pouvez lister les métriques d'enchères au niveau de l'enchérisseur pour un ensemble de filtres donné en envoyant une requête HTTP GET à l'URI de la ressource bidders.filtersets.bidMetrics, au format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetrics
Demander

Voici un exemple listant les métriques d'enchère au niveau de l'enchérisseur:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetrics
Réponse

Si la requête aboutit, le serveur affiche un code d'état 200 OK et un corps contenant des lignes de métriques pour les dimensions et la précision spécifiées.

{
  "bidMetricsRows": [{
        "bids": {
        "value": "6160"
      },
      "bidsInAuction": {
        "value": "5698"
      },
      "billedImpressions": {
        "value": "1196"
      },
      "impressionsWon": {
        "value": "2920"
      },
      "measurableImpressions": {
        "value": "1160"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-29T08:00:00Z",
          "startTime": "2017-11-28T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "683"
      }
    },
    {
      "bids": {
        "value": "104288"
      },
      "bidsInAuction": {
        "value": "94016"
      },
      "billedImpressions": {
        "value": "99"
      },
      "impressionsWon": {
        "value": "125"
      },
      "measurableImpressions": {
        "value": "94"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-30T08:00:00Z",
          "startTime": "2017-11-29T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "87"
      }
    },
    {
      "bids": {
        "value": "3999"
      },
      "bidsInAuction": {
        "value": "3631"
      },
      "billedImpressions": {
        "value": "618"
      },
      "impressionsWon": {
        "value": "1819"
      },
      "measurableImpressions": {
        "value": "604"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "369"
      }
    },
    {
      "bids": {
        "value": "15"
      },
      "bidsInAuction": {
        "value": "3"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "3"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

Remarque: Les champs définis sur 0 pour une métrique donnée n'apparaissent pas dans la réponse. Les métriques billedImpressions et measurableImpressions vides ci-dessus indiquer que la valeur et la variance de ces valeurs sont toutes deux définies sur 0.

Avertissement: Pour toute répartition des données dans la réponse, la réponse ne inclure les lignes si elles ne contiennent pas au moins une métrique non nulle. Par exemple, lorsqu'un timeSeriesGranularity est spécifié, la réponse n'inclura pas de lignes pour les timeInterval sur la période spécifiée de l'ensemble de filtres où toutes les métriques sont égales à zéro.

Lister les métriques d'enchères au niveau du compte

Vous pouvez répertorier les métriques d'enchères au niveau du compte pour un ensemble de filtres donné en envoyant une requête HTTP GET. à l'URI de la ressource bidders.accounts.filtersets.bidMetrics, qui contient le le format suivant:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetrics
Demander

Voici un exemple listant les métriques d'enchères au niveau du compte:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetrics
Réponse

Si la requête aboutit, le serveur affiche un code d'état 200 OK et un corps contenant des lignes de métriques pour les dimensions et la précision spécifiées.

{
  "bidMetricsRows": [{
      "bids": {
        "value": "1748"
      },
      "bidsInAuction": {
        "value": "1421"
      },
      "billedImpressions": {
        "value": "301"
      },
      "impressionsWon": {
        "value": "915"
      },
      "measurableImpressions": {
        "value": "298"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "172"
      }
    },
    {
      "bids": {
        "value": "6"
      },
      "bidsInAuction": {
        "value": "2"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "1"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

Remarque: Les champs définis sur 0 pour une métrique donnée n'apparaissent pas dans la réponse. La Les métriques billedImpressions et measurableImpressions vides ci-dessus indiquent que leur valeur et leur variance sont toutes les deux définies sur 0.

Avertissement: Pour toute répartition des données dans la réponse, la réponse n'inclura pas lignes si elles ne contiennent pas au moins une métrique non nulle. Par exemple, lorsqu'un timeSeriesGranularity est spécifié, la réponse n'inclura pas de lignes pour les timeInterval sur la période spécifiée de l'ensemble de filtres où toutes les métriques sont égales à zéro.