RTB-Fehlerbehebung

In diesem Leitfaden werden Ressourcen zur Fehlerbehebung bei Echtzeitgeboten behandelt, mit denen Sie programmatisch auf Kampagnenmesswerte für Echtzeitgebote, die auch im Das Tool Aufschlüsselung von Echtzeitgeboten finden Sie auf der auf der Authorized Buyers-Benutzeroberfläche. Dazu gehören bidders.filterSets, bidders.accounts.filterSets und alle untergeordneten Ressourcen hierarchisch sortiert werden.

Anhand der Messwerte aus den Ressourcen zur Fehlerbehebung bei Echtzeitgeboten erhalten Sie Informationen zu verpassten Chancen. um Impressionen zu gewinnen, mit denen Sie Ihre Kampagne mit Echtzeitgeboten optimieren können.

Anpassungen an API-Struktur und -Stil

In den Ressourcen zur Fehlerbehebung bei Echtzeitgeboten wurden einige Änderungen eingeführt, die explizit auf Eigentumsrechte und eine detailliertere Kontrolle über die von der API zurückgegebenen Daten und Google API-Designpraktiken

Ressourcen auf Bieter- und Kontoebene

Ressourcen werden sowohl unter bidders als auch unter bidders.accounts strukturiert. Damit können Sie angeben, ob ein API-Aufruf auf einen Bieter (auch als übergeordnetes Konto bezeichnet) und alle zugehörigen untergeordnete Konten oder einzelne Authorized Buyers-Konten. Im Zusammenhang mit RTB Fehlerbehebung: Für Ressourcen, die unter bidders.filterSets strukturiert sind, werden zusammengefasste Messwerte zurückgegeben für den angegebenen Bieter und alle zugehörigen untergeordneten Konten. Diejenigen unter bidders.accounts.filterSets gibt nur Messwerte für das angegebene Konto zurück, unabhängig von unabhängig davon, ob es sich um ein Bieterkonto oder ein untergeordnetes Konto handelt.

Hinweis: Konten, die ihre Gebote an einen anderen Käufer delegieren, sind keine Bieterkonten. kann folglich nicht auf Ressourcen auf Bieterebene zugreifen. Außerdem können Konten, die keine Bieter sind, Auf impressionMetrics, filteredBidResponses, bidResponseErrors und auf Kontoebene zugreifen bidResponsesWithoutBids Ressourcen.

Neu: Ressourcennamen als eindeutige Kennzeichnungen

Ressourcennamen werden verwendet als eindeutige IDs anstelle von Ganzzahl- oder String-IDs. Beim Erstellen einer neuen Instanz einer bestimmten Ressourcentyp, müssen Sie jetzt einen relativ Ressourcenname durch Angabe des URI-Pfads der Ressource gefolgt von der bevorzugten Ressourcen-ID. Die Im Folgenden finden Sie Beispiele für Namen, die für Ressourcen zur Fehlerbehebung bei Echtzeitgeboten relevant sind:

Ressource Namensbeispiel
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

Hinweis: Bei der für bidders im Namen angegebenen Ressourcen-ID muss es sich um die eines Bieters handeln. Die Authorized Buyers-Konto-ID. Für accounts muss die Ressourcen-ID eine Konto-ID von des Bieters oder eines untergeordneten Kontos, das von ihm verwaltet wird. Wenn Sie nicht wissen, welche Authorized Buyers-Nutzer mit Ihrem Google-Konto verknüpft sind, können Sie das accounts.list.

Filterkombinationen

Eine Filtergruppe stellt die verfügbaren Filteroptionen dar und kann erstellt werden auf Gebots- oder Kontoebene. Sie wird verwendet, um die Ergebnisse der RTB-Fehlerbehebung zu filtern Ressourcen, die Messwerte für Ihre Kampagnen mit Echtzeitgeboten abrufen.

Der beim Abrufen von Messwerten angewendete Filter ist die Schnittmenge der einzelnen Filter im angegebenen Filtersatz. Listenfilter wie platforms werden als Kombination der einzelnen Elemente in der Liste interpretiert.

Filtergruppen auf Gebots- und Kontoebene unterscheiden sich voneinander und sind nur auf der Ebene zugänglich, auf der sie erstellt wurden, unabhängig davon, über welches Konto sie erstellt wurden. Bieter- und untergeordnetes Konto werden gemeinsam genutzt Filtergruppen, die auf Kontoebene erstellt wurden. auf der Ebene des Bieters. In der folgenden Tabelle wird zusammengefasst, wie Bieter- und untergeordnete Konten auf Ressourcen zugreifen können auf jeder Ebene:

  bidders.filterSets bidders.accounts.filterSets
Bieterkonto Ein API-Aufruf, der nur Filtergruppen auf Bieterebene betrifft. Ein API-Aufruf, der nur Filtergruppen auf Kontoebene betrifft.
Kinderkonto Dieser API-Aufruf gibt eine Fehlerantwort zurück. Ein API-Aufruf, der nur Filtergruppen auf Kontoebene betrifft.

Filtergruppe erstellen

Beim Erstellen einer Filtergruppe müssen Sie einen Zeitraum als relativeDateRange, absoluteDateRange oder realtimeTimeRange. Beim Abrufen von Messwerten Standardmäßig werden alle Daten für den gesamten Zeitraum bereitgestellt. Wenn Sie eine Zeitreihenaufschlüsselung über den Zeitraum hinweg, können Sie timeSeriesGranularity angeben um HOURLY- oder DAILY-Intervalle anzugeben.

Wenn Sie eine Filtergruppe nur für kurze Zeit benötigen, können Sie die isTransient festlegen. auf true setzen. Dies bedeutet, dass die Filtergruppe vorübergehend, d. h. nicht unbegrenzt beibehalten wird. Vorübergehende Filtergruppen sind nach ihrer Erstellung mindestens eine Stunde lang verfügbar, werden aber irgendwann gelöscht. Standardmäßig sind Filtergruppen nicht vorübergehend.

Beispiel auf Bieterebene

Wenn Sie eine neue Filtergruppe auf Bieterebene erstellen möchten, senden Sie eine POST-Anfrage an den Ressourcen-URI „bidders.filterSets“ im folgenden Format:

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

Warnung: Filtergruppen auf Bieterebene können nicht nach Creative- oder Deal-IDs gefiltert werden. Wenn Sie diese Filter beim Erstellen einer Filtergruppe auf Bieterebene angeben, erhalten Sie eine Fehlermeldung.

Anfrage

Hier ein Beispiel für eine POST-Anfrage, mit der eine neue, nicht vorübergehende Filtergruppe auf Bieterebene erstellt wird:

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

Antwort

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem Statuscode 200 OK. Der Antworttext enthält die erstellte Filtersatzressource, die mit der in der Anfrage gesendeten Filtergruppe identisch ist.

Beispiel auf Kontoebene

Wenn Sie eine neue Filtergruppe auf Kontoebene erstellen möchten, senden Sie eine POST-Anfrage an die bidders.accounts.filterSets-Ressourcen-URI mit folgendem Format:

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

Hinweis: Die für accounts angegebene Ressourcen-ID kann ist die Konto-ID eines Authorized Buyers-Kontos, auf das der Bieter Zugriff hat Konto, das im URI angegeben ist, einschließlich des Bieterkontos selbst.

Anfrage

Hier ein Beispiel für eine POST-Anfrage, mit der eine neue, nicht vorübergehende Filtergruppe auf Kontoebene erstellt wird:

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

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem Statuscode 200 OK. Der Antworttext enthalten die erstellte Filtersatzressource, die mit der Filtergruppe identisch ist, die in der Anfrage.

Filtergruppe abrufen

Mit der get-Methode können nur Filter auf derselben Ebene abgerufen werden, auf der sie erstellt wurden. Beispiel: Ein Bieter Konto sollte bidders.accounts.filterSets.get verwenden, um eine im Konto erstellte Filtergruppe abzurufen und nicht auf die bidders.filterSets.get-Methode.

Bieterebene

Sie können einen Filtersatz auf Bieterebene abrufen, indem Sie eine HTTP-GET-Anfrage an den Ressourcen-URI bidders.filterSets senden, die folgendes Format hat:

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

Beispiel:

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

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem HTTP-Statuscode 200 OK und dem abgerufenen Filtersatz:

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

Kontoebene

Sie können einen Filtersatz auf Kontoebene abrufen, indem Sie eine HTTP-GET-Anfrage an den Ressourcen-URI bidders.accounts.filterSets senden, der folgendes Format hat:

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

Beispiel:

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

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem HTTP-Statuscode 200 OK und dem abgerufenen Filtersatz:

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

Filtergruppen auflisten

Die list-Methode gibt nur Filtergruppen zurück, auf die auf der Ebene zugegriffen werden kann, auf die sie aufgerufen wird. In einem Bieterkonto werden beispielsweise keine Filtergruppen angezeigt, die durch bidders.accounts.filterSets.create beim Aufrufen von bidders.filterSets.list.

Bieterebene

Sie können alle Filtergruppen auf Bieterebene für einen bestimmten Bieter abrufen, indem Sie eine HTTP-GET-Anfrage senden -Anfrage an den Ressourcen-URI bidders.filtersets, der folgendes Format hat:

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

Im folgenden Beispiel werden alle Filtergruppen auf Bieterebene für einen Bieter mit der Konto-ID 12345678 aufgelistet:

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

Kontoebene

Sie können alle Filtergruppen auf Kontoebene für ein bestimmtes Konto abrufen, indem Sie eine HTTP-GET-Anfrage senden -Anfrage an den Ressourcen-URI bidders.accounts.filtersets, der folgendes Format hat:

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

Hier sehen Sie ein Beispiel für eine Liste aller Filtergruppen für ein untergeordnetes Konto mit der Konto-ID 87654321:

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

Filtergruppe löschen

Mit der Methode delete können Sie alle nicht vorübergehenden Filtergruppen entfernen, die keine nicht mehr benötigt wird. Filtergruppen können nur von der Ebene entfernt werden, auf die sie aufgerufen wird. Beispielsweise kann ein Bieterkonto eine mit bidders.accounts.filterSets.create erstellte Filtergruppe nicht löschen. mit bidders.filterSets.delete.

Bieterebene

Sie können einen Filter auf Bieterebene für ein bestimmtes Konto löschen, indem Sie eine HTTP-DELETE-Anfrage senden. zum Ressourcen-URI bidders.filtersets hinzu, der folgendes Format hat:

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

Hier ein Beispiel für das Löschen einer Filtergruppe auf Bieterebene:

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

Wenn der Vorgang erfolgreich ist, ist der Anfragetext leer. Auf die angegebene Filtergruppe kann nicht mehr zugegriffen werden.

Kontoebene

Sie können einen Filtersatz auf Kontoebene für ein bestimmtes Konto löschen, indem Sie eine HTTP-DELETE-Anfrage senden. -Anfrage an den Ressourcen-URI bidders.accounts.filtersets, der folgendes Format hat:

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

Hier sehen Sie ein Beispiel für das Löschen einer Filtergruppe auf Kontoebene:

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

Wenn der Vorgang erfolgreich ist, ist der Anfragetext leer. Auf die angegebene Filtergruppe kann nicht mehr zugegriffen werden.

Messwerte zur Fehlerbehebung bei Echtzeitgeboten abrufen

Alle Ressourcen zur Fehlerbehebung bei Echtzeitgeboten, die für die Erfassung von Messwerten verwendet werden, funktionieren ähnlich: Sie haben eine einzelne Methode zum Auflisten von Messwerten für die Filtergruppe, die über einen filterSetName-Pfad angegeben ist . Mit der angegebenen Filtergruppe wird festgelegt, welche Filter und Einstellungen angewendet werden, wenn Abfragen der Messwerte. Wenn Sie diese Ressourcen über die Bieterebene aufrufen, werden aggregierte Messwerte zurückgegeben über das Bieterkonto und alle zugehörigen untergeordneten Konten, während ein Aufruf von der Kontoebene werden nur Messwerte für ein einzelnes Konto zurückgegeben.

Gebotsmesswerte

Die Ressource bidMetrics wird zum Abrufen von Messwerten verwendet, die in der Anzahl der Gebote. So lässt sich z. B. die Gesamtzahl der Gebote für eine und wie viele davon nicht aus der Auktion herausgefiltert wurden, eine Impression gewonnen haben, Wie alle anderen Ressourcen zur Fehlerbehebung bei Echtzeitgeboten, die zum Erfassen von Messwerten verwendet werden, gibt es auch hier nur die Methode list.

Gebotsmesswerte auf Bieterebene auflisten

Sie können Gebotsmesswerte auf Bieterebene für einen bestimmten Filtersatz auflisten, indem Sie eine HTTP-GET-Anfrage senden. -Anfrage an den Ressourcen-URI bidders.filtersets.bidMetrics, der folgendes Format hat:

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

Hier ein Beispiel für eine Auflistung der Gebotsmesswerte auf Bieterebene:

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

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem Statuscode 200 OK und einem Text, der Zeilen mit Messwerten für die angegebenen Dimensionen und den angegebenen Detaillierungsgrad enthält.

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

Hinweis: Felder, die für einen bestimmten Messwert auf 0 gesetzt sind, werden in der Antwort nicht angezeigt. Die leeren Messwerte billedImpressions und measurableImpressions oben geben an, dass sowohl der Wert als auch die Varianz für diese Werte auf 0 gesetzt sind.

Warnung: Bei Datenaufschlüsselungen in der Antwort wird die Antwort Zeilen einschließen, wenn sie nicht mindestens einen Messwert ungleich null enthalten. Wenn zum Beispiel ein timeSeriesGranularity angegeben ist, enthält die Antwort keine Zeilen für timeInterval für den angegebenen Zeitraum der Filtergruppe, in dem alle Messwerte null sind.

Gebotsmesswerte auf Kontoebene auflisten

Sie können Gebotsmesswerte auf Kontoebene für eine bestimmte Filtergruppe auflisten, indem Sie eine HTTP-GET-Anfrage senden. an den Ressourcen-URI bidders.accounts.filtersets.bidMetrics, der den folgendes Format:

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

Hier ein Beispiel für einen Eintrag für Gebotsmesswerte auf Kontoebene:

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

Wenn die Anfrage erfolgreich ist, antwortet der Server mit dem Statuscode 200 OK und einem Text, der Zeilen mit Messwerten für die angegebenen Dimensionen und den angegebenen Detaillierungsgrad enthält.

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

Hinweis: Felder, die für einen bestimmten Messwert auf 0 gesetzt sind, werden in der Antwort nicht angezeigt. Die Wenn die Messwerte billedImpressions und measurableImpressions leer sind, müssen sowohl der Wert als auch die Varianz auf 0 gesetzt werden.

Warnung: Bei Datenaufschlüsselungen in der Antwort enthält die Antwort keine Zeilen, wenn sie nicht mindestens einen Messwert ungleich null enthalten. Wenn zum Beispiel ein timeSeriesGranularity angegeben ist, enthält die Antwort keine Zeilen für timeInterval für den angegebenen Zeitraum der Filtergruppe, in dem alle Messwerte null sind.