En esta guía, se tratan los recursos para la solución de problemas de RTB, que permiten acceder mediante
métricas de campañas de ofertas en tiempo real que también se exponen a través del
Análisis de RTB que se encuentra en
IU de Authorized Buyers. Estos incluyen bidders.filterSets
, bidders.accounts.filterSets
y
todos los recursos debajo de ellos de manera jerárquica.
Mediante las métricas de los recursos de solución de problemas de RTB, puede obtener estadísticas sobre las oportunidades perdidas para obtener impresiones que pueden ayudarte a optimizar tu campaña de ofertas en tiempo real.
Ajustes en la estructura y el estilo de la API
Los recursos de solución de problemas de RTB introducen algunos cambios para indicar explícitamente la propiedad y de acceso, brindar un control más detallado sobre los datos que devuelve la API y alinearse mejor con Prácticas de diseño de las APIs de Google.
Recursos a nivel del ofertante y de la cuenta
Los recursos se estructuran en bidders
y bidders.accounts
. Estas te permiten especificar
si una llamada a la API está dirigida a un ofertante (también conocido como cuenta principal) y todos los
secundarias o cuentas individuales de Authorized Buyers. En el contexto de las RTB
Solución de problemas. Los recursos estructurados en bidders.filterSets
mostrarán métricas agregadas
para el ofertante especificado y todas las cuentas secundarias asociadas. Por el contrario, aquellos que están bajo
bidders.accounts.filterSets
solo mostrará las métricas de la cuenta especificada, independientemente de lo siguiente:
ya sea un ofertante o una cuenta secundaria.
Nota: Las cuentas que delegan sus ofertas a otro comprador no son cuentas de ofertantes.
por lo que no puede acceder
a los recursos a nivel del ofertante. Además, las cuentas que no son ofertantes no pueden
acceder a nivel de la cuenta impressionMetrics
, filteredBidResponses
, bidResponseErrors
y
bidResponsesWithoutBids
.
Presentación de nombres de recursos como identificadores únicos
Los nombres de recursos se usan como identificadores únicos en lugar de números enteros o IDs de cadena. Cuando se crea una instancia nueva de un de recurso, ahora debes especificar relativo resource name mediante la ruta del URI del recurso seguida del ID del recurso preferido. El Estos son ejemplos de nombres relevantes para los recursos de solución de problemas de RTB:
Recurso | Ejemplo de nombre |
---|---|
bidders.filterSets | bidders/12345678/filterSets/fset_1 |
bidders.accounts.filterSets | bidders/12345678/accounts/87654321/filterSets/fset_2 |
Nota: El ID de recurso especificado para bidders
en el nombre debe ser el del ofertante
ID de la cuenta de Authorized Buyers. Para accounts
, el ID de recurso debe ser un ID de cuenta de cualquiera de las siguientes opciones:
al ofertante o a una cuenta secundaria que este administre. Si no sabe qué compradores de Authorized Buyers
están asociadas a tu Cuenta de Google, puedes usar la
accounts.list para encontrarlas.
Conjuntos de filtros
Un conjunto de filtros es una representación de las opciones de filtrado disponibles y que se pueden crear a nivel del ofertante o de la cuenta. Se usa para filtrar los resultados de la lista de solución de problemas de RTB. que recuperan métricas para tus campañas de ofertas en tiempo real.
El filtro que se aplica al recuperar las métricas es la intersección de cada filtro del
conjunto de filtros. Los filtros de lista, como platforms
, se interpretan como la unión de cada elemento en la lista.
Los conjuntos de filtros a nivel de la cuenta y del ofertante son diferentes y solo se puede acceder a ellos desde el nivel en el que en los que se crearon, independientemente de la cuenta que se usó para crearlos. Un ofertante y un uso compartido de la cuenta secundaria los conjuntos de filtros creados a nivel de la cuenta, mientras que solo un ofertante puede acceder a los recursos en a nivel de ofertante. En la siguiente tabla, se resume cómo las cuentas secundarias y el ofertante pueden acceder a los recursos en ambos niveles:
bidders.filterSets | bidders.accounts.filterSets | |
---|---|---|
Cuenta del ofertante | Una llamada a la API que afecta solo a los conjuntos de filtros a nivel del ofertante | Una llamada a la API que afecta solo a los conjuntos de filtros a nivel de la cuenta |
Cuenta infantil | Esta llamada a la API devolverá una respuesta de error. | Una llamada a la API que afecta solo a los conjuntos de filtros a nivel de la cuenta |
Crear un conjunto de filtros
Cuando creas un conjunto de filtros, debes especificar un intervalo de tiempo como relativeDateRange
,
absoluteDateRange
o realtimeTimeRange
. Cuando se recuperan métricas, el
El comportamiento predeterminado es que se proporcionen todos los datos para todo el intervalo de tiempo. Si deseas recibir
un desglose de series temporales durante el período, puedes especificar timeSeriesGranularity
para indicar intervalos de HOURLY
o DAILY
.
Si solo necesitas establecer un filtro por un período breve, puedes configurar isTransient
el parámetro de consulta a true
. Esto indicará que el conjunto de filtros es transitorio, lo que significa que no se conservará indefinidamente. Los conjuntos de filtros transitorios estarán disponibles durante al menos una hora después de su creación, pero se borrarán con el tiempo. De forma predeterminada, los conjuntos de filtros no son transitorios.
Ejemplo a nivel del ofertante
Para crear un nuevo conjunto de filtros a nivel del ofertante, envía una solicitud POST
al URI de recurso bidders.filterSets
, que tiene el siguiente formato:
https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
Advertencia: Los conjuntos de filtros a nivel del ofertante no pueden filtrar por ID de acuerdo o creatividad. Si especifica estos filtros cuando crea un conjunto de filtros a nivel del ofertante, recibirá una respuesta de error.
SolicitudEste es un ejemplo de una solicitud POST
que crea un nuevo conjunto de filtros no transitorio a nivel del ofertante:
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" }
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 200 OK. El cuerpo de la respuesta incluirá el recurso del conjunto de filtros creado, que será idéntico al conjunto de filtros enviado en la solicitud.
Ejemplo a nivel de la cuenta
Para crear un nuevo conjunto de filtros a nivel de la cuenta, envía una solicitud POST
al
El URI de recurso bidders.accounts.filterSets
, que tiene el siguiente formato:
https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
Nota: El ID de recurso especificado para accounts
puede
Debe ser el ID de cualquier cuenta de Authorized Buyers a la que pueda acceder el ofertante
cuenta especificada en el URI, incluida la cuenta del ofertante.
Este es un ejemplo de una solicitud POST
que crea un nuevo conjunto de filtros no transitorios a nivel de la cuenta:
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" }
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 200 OK. El cuerpo de la respuesta incluir el recurso del conjunto de filtros creado, que será idéntico al conjunto de filtros enviado en la solicitud.
Obtener un conjunto de filtros
El método get solo puede obtener un conjunto de filtros en el mismo nivel en el que se creó. Por ejemplo, un ofertante
La cuenta debe usar bidders.accounts.filterSets.get
para recuperar un conjunto de filtros creado en la cuenta
en lugar del método bidders.filterSets.get
.
A nivel del ofertante
Para recuperar un filtro a nivel de ofertante establecido, envía una solicitud GET HTTP al URI de recurso bidders.filterSets
, que tiene el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
Por ejemplo:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
Si la solicitud se realiza correctamente, el servidor responde con un código de estado HTTP 200 OK
y el conjunto de filtros recuperado:
{ "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" }
Nivel de la cuenta
Para recuperar un filtro a nivel de la cuenta establecido, envía una solicitud HTTP GET
al URI de recurso bidders.accounts.filterSets
, que tiene el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
Por ejemplo:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs
Si la solicitud se realiza correctamente, el servidor responde con un código de estado HTTP 200 OK
y el conjunto de filtros recuperado:
{ "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" }
Enumerar conjuntos de filtros
El método de lista solo mostrará conjuntos de filtros accesibles desde el nivel al que se llama.
Por ejemplo, una cuenta de ofertante no verá conjuntos de filtros creados para sí misma a través de
bidders.accounts.filterSets.create
cuando se llama a bidders.filterSets.list
A nivel del ofertante
Puedes recuperar todos los conjuntos de filtros a nivel del ofertante para un ofertante determinado enviando un GET
HTTP.
al URI de recurso bidders.filtersets
, que tiene el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
A continuación, se incluye un ejemplo en el que se enumeran todos los conjuntos de filtros a nivel del ofertante para un ofertante con el ID de cuenta 12345678:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
{ "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" } ] }
Nivel de la cuenta
Puedes recuperar todos los conjuntos de filtros a nivel de la cuenta para una cuenta determinada si envías un GET
HTTP
al URI de recurso bidders.accounts.filtersets
, que tiene el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
A continuación, se incluye un ejemplo en el que se enumeran todos los conjuntos de filtros a nivel de la cuenta para una cuenta secundaria con el ID de cuenta 87654321:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
{ "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" } ] }
Cómo borrar un conjunto de filtros
Puedes usar el método delete
para quitar cualquier conjunto de filtros no transitorio que
más tiempo. Solo puede quitar conjuntos de filtros a los que se puede acceder desde el nivel al que se los llama.
Por ejemplo, una cuenta de ofertante no puede borrar un conjunto de filtros creado con bidders.accounts.filterSets.create
con bidders.filterSets.delete
.
A nivel del ofertante
Si deseas borrar un filtro a nivel del ofertante establecido para una cuenta determinada, envía una solicitud HTTP DELETE
al URI de recurso bidders.filtersets
, que tiene el siguiente formato:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
A continuación, se incluye un ejemplo de cómo borrar un conjunto de filtros a nivel del ofertante:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2
Si se ejecuta correctamente, el cuerpo de la solicitud estará vacío. Ya no se podrá acceder al conjunto de filtros especificado.
Nivel de la cuenta
Puedes borrar un conjunto de filtros a nivel de la cuenta para una cuenta determinada. Para ello, envía un DELETE
HTTP
al URI de recurso bidders.accounts.filtersets
, que tiene el siguiente formato:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
A continuación, se incluye un ejemplo de cómo borrar un conjunto de filtros a nivel de la cuenta:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1
Si se ejecuta correctamente, el cuerpo de la solicitud estará vacío. Ya no se podrá acceder al conjunto de filtros especificado.
Recupera métricas de solución de problemas de RTB.
Todos los recursos de solución de problemas de RTB que se utilizan para recibir las métricas funcionan de manera similar: tienen un
Método único para enumerar las métricas del conjunto de filtros especificado a través de una ruta de acceso filterSetName
parámetro. El conjunto de filtros especificado determinará qué filtros y parámetros de configuración se aplicarán cuando
consultar las métricas. Si llamas a estos recursos desde el nivel de ofertante, se mostrarán métricas agregadas
desde la cuenta del ofertante y todas las cuentas secundarias asociadas, mientras que una llamada
solo mostrará métricas para una cuenta individual.
Métricas de ofertas
El recurso bidMetrics
se usa para recuperar métricas que se miden en el
la cantidad de ofertas. Por ejemplo, puede utilizarlo para determinar el número total de ofertas en un
de un período determinado, y cuántas de ellas no se filtraron de la subasta, ganaron una impresión
etc. Al igual que todos los demás recursos de solución de problemas de RTB que se usan para recopilar métricas, solo tiene un método list
.
Enumera las métricas de ofertas a nivel del ofertante
Puedes enumerar las métricas de ofertas a nivel del ofertante para un conjunto de filtros determinado. Para ello, envía un GET
HTTP
al URI de recurso bidders.filtersets.bidMetrics
, que tiene el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetrics
A continuación, se incluye un ejemplo de las métricas de ofertas a nivel del ofertante:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetrics
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 200 OK
y un cuerpo que contiene filas de métricas para las dimensiones y el nivel de detalle especificados.
{ "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": {} } ] }
Nota: Los campos establecidos en 0 para una métrica determinada no aparecerán en la respuesta.
Las métricas billedImpressions
y measurableImpressions
vacías anteriores
indican que tanto el valor como la varianza de estos están establecidos en 0.
Advertencia: Para cualquier desglose de datos en la respuesta, la respuesta no
incluir filas si no contienen, al menos, una métrica distinta de cero. Por ejemplo, cuando un
si se especifica timeSeriesGranularity
, la respuesta no incluirá filas para ningún
timeInterval
durante el intervalo de tiempo especificado del conjunto de filtros en el que todas las métricas son cero.
Enumerar métricas de ofertas a nivel de la cuenta
Puedes enumerar las métricas de ofertas a nivel de la cuenta para un conjunto de filtros determinado. Para ello, envía un GET
HTTP
al URI del recurso bidders.accounts.filtersets.bidMetrics
, que tiene el elemento
con el siguiente formato:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetrics
A continuación, se incluye un ejemplo de una ficha de las métricas de oferta a nivel de la cuenta:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetrics
Si la solicitud se realiza correctamente, el servidor responde con un código de estado 200 OK
y un cuerpo que contiene filas de métricas para las dimensiones y el nivel de detalle especificados.
{ "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": {} } ] }
Nota: Los campos establecidos en 0 para una métrica determinada no aparecerán en la respuesta. El
Las métricas billedImpressions
y measurableImpressions
vacías anteriores indican
que tanto el valor como la varianza de estos se establezcan en 0.
Advertencia: Para cualquier desglose de datos en la respuesta, la respuesta no incluirá
filas si estas no contienen, al menos, una métrica distinta de cero. Por ejemplo, cuando un
si se especifica timeSeriesGranularity
, la respuesta no incluirá filas para ningún
timeInterval
durante el intervalo de tiempo especificado del conjunto de filtros en el que todas las métricas son cero.