Risoluzione dei problemi relativi alle offerte in tempo reale

Questa guida illustra le risorse per la risoluzione dei problemi relativi alle offerte in tempo reale, che ti consentono di accedere in modo programmatico le metriche delle campagne con offerte in tempo reale che sono inoltre esposte tramite Segmentazione delle offerte in tempo reale disponibile nella UI di Authorized Buyers. Sono inclusi bidders.filterSets, bidders.accounts.filterSets e di tutte le risorse al di sotto di questi in modo gerarchico.

Utilizzando le metriche disponibili nelle risorse per la risoluzione dei problemi relativi alle offerte in tempo reale, puoi ottenere informazioni sulle opportunità mancate per ricevere impressioni che ti aiuteranno a ottimizzare la tua campagna con offerte in tempo reale.

Modifiche alla struttura e allo stile dell'API

Le risorse per la risoluzione dei problemi relativi alle offerte in tempo reale introducono alcune modifiche per indicare esplicitamente la proprietà e l'accesso, fornire un controllo più granulare sui dati restituiti dall'API ed allinearsi meglio Pratiche di progettazione delle API di Google.

Risorse a livello di offerente e di account

Le risorse sono strutturate sia in bidders che in bidders.accounts. che ti consentono di specificare indica se una chiamata API ha come target un offerente (noto anche come account principale) e tutte le account secondari o singoli account Authorized Buyers. Nel contesto delle offerte in tempo reale Risoluzione dei problemi, le risorse strutturate in bidders.filterSets restituiranno metriche aggregate per l'offerente in questione e per tutti gli account secondari associati. Al contrario, quelli al di sotto bidders.accounts.filterSets restituirà le metriche solo per l'account specificato, indipendentemente da che si tratti di un offerente o di un account secondario.

Nota: gli account che delegano le offerte a un altro acquirente non sono account offerente. di conseguenza non possono accedere alle risorse a livello di offerente. Inoltre, gli account non offerente non possono accedono a impressionMetrics, filteredBidResponses, bidResponseErrors e a livello di account bidResponsesWithoutBids risorse.

Introduzione ai nomi delle risorse come identificatori univoci

I nomi delle risorse vengono utilizzati come identificatori univoci anziché numeri interi o stringhe. Quando crei una nuova istanza di un determinato di risorsa, ora devi specificare relativo resource name utilizzando il percorso URI seguito dall'ID risorsa preferito. La Di seguito sono riportati alcuni esempi di nomi pertinenti per le risorse della risoluzione dei problemi RTB:

Risorsa Esempio di nome
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

Nota: l'ID risorsa specificato per bidders nel nome deve corrispondere a quello di un offerente ID account Authorized Buyers. Per accounts, l'ID risorsa deve essere un ID account di l'offerente o un account secondario gestito da quest'ultimo. Se non sai quali acquirenti Authorized Buyers associati al tuo Account Google, puoi utilizzare accounts.list per trovarli.

Set di filtri

Un insieme di filtri è una rappresentazione delle opzioni di filtro disponibili e che è possibile creare a livello di offerente o di account. Viene utilizzato per filtrare i risultati dell'elenco della risoluzione dei problemi relativi alle offerte in tempo reale. risorse che recuperano le metriche per le campagne con offerte in tempo reale.

Il filtro applicato durante il recupero delle metriche è l'intersezione di ciascun filtro nella insieme di filtri. I filtri di elenco, come platforms, vengono interpretati come l'unione di ogni elemento dell'elenco.

Gli insiemi di filtri a livello di offerente e di account sono distinti e accessibili solo dal livello in cui indipendentemente dall'account utilizzato per crearle. Condivisione di uno strumento di offerta e di un account secondario insiemi di filtri creati a livello di account, mentre solo un offerente può accedere alle risorse a A livello di offerente. La tabella seguente riassume il modo in cui gli account offerente e secondari possono accedere alle risorse a entrambi i livelli:

  bidders.filterSets bidders.accounts.filterSets
Account offerente Una chiamata API che interessa solo gli insiemi di filtri a livello di offerente. Una chiamata API che interessa solo gli insiemi di filtri a livello di account.
Account bambino/a Questa chiamata API restituirà una risposta di errore. Una chiamata API che interessa solo gli insiemi di filtri a livello di account.

Creare un insieme di filtri

Quando crei un set di filtri, devi specificare un intervallo di tempo come relativeDateRange, absoluteDateRange o realtimeTimeRange. Quando recuperi le metriche, Il comportamento predefinito prevede che tutti i dati vengano forniti per l'intero intervallo di tempo. Se vuoi ricevere un'analisi delle serie temporali nell'intervallo di tempo, puoi specificare timeSeriesGranularity per indicare intervalli HOURLY o DAILY.

Se vuoi impostare un filtro solo per un breve periodo di tempo, puoi impostare isTransient parametro di query su true. Questo indica che l'insieme di filtri è temporaneo, il che significa che non sarà mantenuto in modo permanente. I set di filtri temporanei saranno disponibili per almeno un'ora dopo la loro creazione, ma verranno eliminati. Per impostazione predefinita, gli insiemi di filtri non sono temporanei.

Esempio a livello di offerente

Per creare un nuovo set di filtri a livello di offerente, invia una richiesta POST all'URI della risorsa bidders.filterSets, che ha il seguente formato:

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

Avviso: i set di filtri a livello di offerente non sono in grado di filtrare per ID creatività o deal. Se specifichi questi filtri durante la creazione di un insieme di filtri a livello di offerente, riceverai una risposta di errore.

Richiedi

Di seguito è riportato un esempio di richiesta POST che crea un nuovo insieme di filtri a livello di offerente non temporaneo:

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"
}

Risposta

Se la richiesta ha esito positivo, il server risponde con un codice di stato 200 OK. Il corpo della risposta includerà la risorsa del set di filtri creato, che sarà identica al set di filtri inviato nella richiesta.

Esempio a livello di account

Per creare un nuovo insieme di filtri a livello di account, invia una richiesta POST all'indirizzo URI risorsa bidders.accounts.filterSets, che ha il seguente formato:

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

Nota: l'ID risorsa specificato per accounts può essere l'ID di qualsiasi account Authorized Buyers accessibile all'offerente specificato nell'URI, incluso l'account dell'offerente stesso.

Richiedi

Ecco un esempio di richiesta POST che crea un nuovo insieme di filtri non temporaneo a livello di account:

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"
}
Risposta

Se la richiesta ha esito positivo, il server risponde con un codice di stato 200 OK. Il corpo della risposta includere la risorsa del set di filtri creata, che sarà identica all'insieme di filtri inviato in la richiesta.

Ottieni un insieme di filtri

Il metodo get può ottenere solo un filtro impostato allo stesso livello in cui è stato creato. Ad esempio, un offerente l'account deve utilizzare bidders.accounts.filterSets.get per recuperare un insieme di filtri creato a livello di account anziché il metodo bidders.filterSets.get.

A livello di offerente

Puoi recuperare un set di filtri a livello di offerente inviando una richiesta GET HTTP all'URI della risorsa bidders.filterSets, che ha il seguente formato:

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

Ecco un esempio:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
Risposta

Se la richiesta ha esito positivo, il server risponde con un codice di stato HTTP 200 OK e il filtro recuperato impostato:

{
  "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"
}

A livello di account

Puoi recuperare un set di filtri a livello di account inviando una richiesta HTTP GET all'URI della risorsa bidders.accounts.filterSets, che ha il seguente formato:

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

Ecco un esempio:

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

Se la richiesta ha esito positivo, il server risponde con un codice di stato HTTP 200 OK e il filtro recuperato impostato:

{
  "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"
}

Elenca insiemi di filtri

Il metodo list restituisce solo insiemi di filtri accessibili dal livello in cui viene chiamato. Ad esempio, un account offerente non vedrà gli insiemi di filtri creati per se stesso tramite bidders.accounts.filterSets.create durante la chiamata al numero bidders.filterSets.list.

A livello di offerente

Puoi recuperare tutti i set di filtri a livello di offerente per un determinato offerente inviando un GET HTTP all'URI della risorsa bidders.filtersets, che ha il seguente formato:

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

Di seguito è riportato un esempio che elenca tutti gli insiemi di filtri a livello di offerente per un offerente con l'ID account 12345678:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Risposta
{
  "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"
    }
  ]
}

A livello di account

Puoi recuperare tutti gli insiemi di filtri a livello di account per un determinato account inviando un GET HTTP all'URI della risorsa bidders.accounts.filtersets, che ha il seguente formato:

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

Di seguito è riportato un esempio che elenca tutti gli insiemi di filtri a livello di account per un account secondario con ID account 87654321:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Risposta
{
  "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"
    }
  ]
}

Eliminare un insieme di filtri

Puoi utilizzare il metodo delete per rimuovere tutti gli insiemi di filtri non temporanei che non sono necessario più tempo. Può solo rimuovere i set di filtri accessibili dal livello in cui viene chiamato. ad esempio, un account offerente non può eliminare un insieme di filtri creato con bidders.accounts.filterSets.create con bidders.filterSets.delete.

A livello di offerente

Puoi eliminare un insieme di filtri a livello di offerente per un determinato account inviando una richiesta DELETE HTTP all'URI della risorsa bidders.filtersets, che ha il seguente formato:

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

Di seguito è riportato un esempio di eliminazione di un insieme di filtri a livello di offerente:

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

In caso di esito positivo, il corpo della richiesta sarà vuoto. Il set di filtri specificato non sarà più accessibile.

A livello di account

Puoi eliminare un set di filtri a livello di account per un determinato account inviando un DELETE HTTP all'URI della risorsa bidders.accounts.filtersets, che ha il seguente formato:

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

Di seguito è riportato un esempio di eliminazione di un insieme di filtri a livello di account:

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

In caso di esito positivo, il corpo della richiesta sarà vuoto. Il set di filtri specificato non sarà più accessibile.

Recuperare le metriche di risoluzione dei problemi RTB

Tutte le risorse per la risoluzione dei problemi RTB utilizzate per ricevere le metriche funzionano in modo simile: hanno un singolo metodo per elencare le metriche per il set di filtri specificato tramite un percorso filterSetName . L'insieme di filtri specificato determinerà quali filtri e impostazioni saranno applicati quando a eseguire query sulle metriche. La chiamata di queste risorse dal livello di offerta restituirà metriche aggregate dall'account dell'offerente e da tutti gli account secondari associati, mentre una chiamata dal livello di account restituirà solo le metriche relative a un account individuale.

Metriche offerta

La risorsa bidMetrics viene utilizzata per recuperare le metriche misurate nel di offerte. Ad esempio, puoi utilizzarlo per determinare il numero totale di offerte rispetto a una in un determinato intervallo di tempo e quanti non sono stati filtrati dall'asta e hanno vinto un'impressione; e così via. Come tutte le altre risorse per la risoluzione dei problemi RTB utilizzate per raccogliere metriche, anche questo metodo prevede solo un list.

Elenca metriche delle offerte a livello di offerente

Puoi elencare le metriche delle offerte a livello di offerente per un determinato insieme di filtri inviando un'istruzione GET HTTP all'URI della risorsa bidders.filtersets.bidMetrics, che ha il seguente formato:

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

Di seguito è riportato un esempio di metriche relative alle offerte a livello di offerente:

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

Se la richiesta ha esito positivo, il server risponde con un codice di stato 200 OK e un corpo contenente righe di metriche per le dimensioni e la granularità specificate.

{
  "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: tutti i campi impostati su 0 per una determinata metrica non verranno visualizzati nella risposta. Le metriche billedImpressions e measurableImpressions vuote sopra riportate indicano che il valore e la varianza di entrambi sono impostati su 0.

Avviso: per qualsiasi suddivisione dei dati nella risposta, la risposta non verrà includi righe se non contengono almeno una metrica diversa da zero. Ad esempio, quando timeSeriesGranularity è specificato, la risposta non includerà righe per nessun timeInterval durante l'intervallo di tempo specificato dell'insieme di filtri in cui tutte le metriche sono pari a zero.

Elenca le metriche delle offerte a livello di account

Puoi elencare le metriche delle offerte a livello di account per un determinato insieme di filtri inviando un'istruzione GET HTTP all'URI della risorsa bidders.accounts.filtersets.bidMetrics, che contiene seguente formato:

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

Di seguito è riportato un esempio di metriche relative alle offerte a livello di account:

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

Se la richiesta ha esito positivo, il server risponde con un codice di stato 200 OK e un corpo contenente righe di metriche per le dimensioni e la granularità specificate.

{
  "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: tutti i campi impostati su 0 per una determinata metrica non verranno visualizzati nella risposta. La le metriche billedImpressions e measurableImpressions vuote sopra riportate indicano che il valore e la varianza siano impostati su 0.

Avviso: per qualsiasi suddivisione dei dati nella risposta, la risposta non includerà righe se non contengono almeno una metrica diversa da zero. Ad esempio, quando timeSeriesGranularity è specificato, la risposta non includerà righe per nessun timeInterval durante l'intervallo di tempo specificato dell'insieme di filtri in cui tutte le metriche sono pari a zero.