In einer Auktion bieten, um eine Anzeigenfläche zu kaufen

Als Anzeigenkäufer (DSPs und Werbetreibende) möchten Sie möglicherweise an einer Protected Audience-Anzeigenauktion auf der Publisher-Website teilnehmen, um eine Anzeige auf die Interessengruppe auszurichten, die Sie auf der Website des Werbetreibenden definiert haben. Wenn Sie an einer Protected Audience-Auktion teilnehmen, können Sie Ihre identifizierten Kunden datenschutzfreundlich auf anderen Websites erreichen.

Bei einer Protected Audience-Auktion geben Sie die Logik zum Generieren des Gebots an, die der Browser anhand dieser Logik berechnet. Dies steht im Gegensatz zu anderen Auktionsarchitekturen, bei denen Sie das Gebot direkt abgeben und nicht die Logik angeben.

Sie stellen die Logik für die Gebotsgenerierung in der JavaScript-Funktion generateBid() bereit und die Datei wird auf Ihrem Server gehostet. Wenn Sie einen Nutzer zu einer Interessengruppe hinzufügen, wird der Speicherort dieser Datei als biddingLogicUrl an die Interessengruppenkonfiguration übergeben.

Während der Auktion ruft der Browser die im Feld biddingLogicUrl angegebene Gebotslogik ab und führt die Funktion generateBid() für jede Interessengruppe in einer sicheren isolierten Umgebung aus, die durch die Kommunikation mit außenstehenden Kontext eingeschränkt ist. Wenn generateBid() ausgeführt wird, übergibt der Browser Signale als Argumente an die Funktion. Diese Signale enthalten verschiedene Informationen aus verschiedenen Quellen, z. B. selbst erhobene Daten des Publishers, Verkäuferdaten und Echtzeitdaten. Anhand dieser Signale können Sie das Gebot berechnen und der Wert wird vom generateBid()-Aufruf zurückgegeben. Nachdem die Gebote eingereicht wurden, führt der Browser bei jedem Gebot die Bewertungslogik des Verkäufers aus, um die Erwünschtheit des Verkäufers zu berechnen.

generateBid()

Im Folgenden werden die Argumente der generateBid()-Funktion und die Struktur des von der Funktion zurückgegebenen Gebots beschrieben:


generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals, directFromSellerSignals) {
  return {
    ad: adObject,
    adCost: optionalAdCost,
    bid: bidValue,
    bidCurrency: 'USD',
    render: {
      url: renderURL,
      width: renderWidth,
      height: renderHeight
    },
    adComponents: [
      {url: adComponent1, width: componentWidth1, height: componentHeight1},
      {url: adComponent2, width: componentWidth2, height: componentHeight2},
      // ...
    ],
    allowComponentAuction: false,
    modelingSignals: 123 // 0-4095 integer (12-bits)
  };
}

Argumente

generateBid() verwendet die folgenden Argumente:

Argument Rolle

interestGroup

Ein Objekt, das vom Anzeigenkäufer an übergeben wurde. Die Interessengruppe kann mit dailyUpdateUrl aktualisiert werden.

auctionSignals

Eine Eigenschaft des Arguments auction config, das vom Verkäufer an navigator.runAdAuction() übergeben wurde. Sie enthalten Informationen zum Seitenkontext (z. B. Anzeigengröße und Publisher-ID), zum Typ der Auktion (Erst- oder Zweitpreis) und zu weiteren Metadaten.

perBuyerSignals

Eine Eigenschaft des Arguments auction config, das vom Verkäufer übergeben wurde. So können Kontextsignale vom Server des Käufers über die Seite bereitgestellt werden, wenn der Verkäufer ein SSP ist, der einen Echtzeitgebotsaufruf an die Käuferserver durchführt und die Antwort zurücksendet, oder wenn die Publisher-Seite direkt den Server des Käufers kontaktiert. In diesem Fall kann der Käufer eine kryptografische Signatur dieser Signale in generateBid() prüfen, um Manipulationsversuche zu verhindern.

trustedBiddingSignals

Ein Objekt, dessen Schlüssel der trustedBiddingSignalsKeys für die Interessengruppe sind und dessen Werte in der trustedBiddingSignals-Anfrage zurückgegeben werden.

browserSignals

Ein vom Browser erstelltes Objekt, das Informationen zum Seitenkontext (z. B. das hostname der aktuellen Seite, das der Verkäufer ansonsten fälschen könnte) und Daten für die Interessengruppe selbst (z. B. eine Aufzeichnung darüber, wann die Gruppe zuvor eine Auktion gewonnen hat, für das On-Device-Frequency Capping) enthalten kann.

directFromSellerSignals

Signale, die garantiert von einem bestimmten Verkäufer stammen, im Gegensatz zu auctionSignals und sellerSignals, die von jedem Teilnehmer stammen können, der in dem Kontext vorhanden ist, in dem runAdAuction ausgeführt wird.

Browsersignale

Das browserSignals-Objekt hat die folgenden Eigenschaften:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  topLevelSeller: 'https://www.top-level-ssp.com',
  requestedSize: {width: 100, height: 200},  /* if specified in auction config */
  joinCount: 3,
  recency: 3600000,
  bidCount: 17,
  prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
  wasmHelper: ...
  dataVersion: 1,
  adComponentsLimit: 40
}
Attribut Beschreibung

topWindowHostname

Der Hostname, über den der runAdAuction()-Aufruf ausgeführt wurde.

seller

Der Verkäufer, an den das Gebot gesendet wurde. In einer Komponentenauktion ist dieser Wert der Verkäufer der Komponente.

topLevelSeller

Der Top-Level-Verkäufer in einer Komponentenauktion. Er nimmt nur an einer Komponentenauktion teil.

requestedSize

Die Eigenschaft requestedSize empfiehlt eine Frame-Größe für die Auktion. Der Verkäufer legt die angeforderte Größe in der Auktionskonfiguration fest. Der Wert wird Bietern in „generateBid()“ zur Verfügung gestellt. Bieter, die an der Auktion teilnehmen, können eine andere Contentgröße für die Anzeige auswählen. Die resultierende Größe wird dann visuell an die Containergröße des Elements angepasst.

joinCount

Das Feld joinCount gibt an, wie oft dieses Gerät dieser Interessengruppe in den letzten 30 Tagen beigetreten ist, während die Interessengruppe kontinuierlich gespeichert wurde (d. h., es gibt keine Lücken bei der Speicherung der Interessengruppe auf dem Gerät aufgrund des Verlassens oder Ablaufs der Mitgliedschaft).

recency

Das Feld „recency“ gibt den Zeitraum (in Minuten) ab dem Beitritt dieses Geräts dieser Interessengruppe bis jetzt an

bidCount

Dieser Wert gibt an, wie oft die Interessengruppe ein Gebot abgegeben hat.

prevWinsMs

Das Feld prevWinMs enthält die leistungsstärksten Anzeigen der Interessengruppe sowie die Zeit seit den vorherigen Erfolgen in Millisekunden. Das Anzeigenobjekt enthält hier nur die Felder renderURL und Metadaten.

wasmHelper

Ein WebAssembly.Module-Objekt basierend auf dem biddingWasmHelperURL der Interessengruppe.

dataVersion

Datenversionswert aus den Schlüssel/Wert-Dienstantworten des Käufers.

adComponentsLimit

Maximale Anzahl der Anzeigenkomponenten, die generateBid() zurückgeben kann

Gebot berechnen

Für die Berechnung eines Gebotswerts kann der Code in generateBid() die Eigenschaften der Parameter der Funktion verwenden.

Beispiel:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
   //  ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    // ...
  }
}

Gebot zurückgeben

generateBid() gibt ein Objekt mit den folgenden Eigenschaften zurück:

Attribut Rolle
ad Beliebige Metadaten zur Anzeige, z. B. Informationen, die der Verkäufer voraussichtlich über dieses Gebot oder die Anzeige erfahren möchte. Der Verkäufer verwendet diese Informationen in seiner Auktions- und Entscheidungslogik.
adCost Ein numerischer Wert, der verwendet wird, um Berichte zu Klicks oder Conversion-Kosten des Werbetreibenden von „generateBid“ an „reportWin“ zu übergeben. Die Genauigkeit dieser Zahl ist auf eine 8-Bit-Mantisse und einen 8-Bit-Exponenten beschränkt, wobei alle Rundungen stochastisch ausgeführt werden.
adComponents Eine optionale Liste mit bis zu 20 Komponenten für aus mehreren Teilen bestehende Anzeigen, die der Eigenschaft adComponents des Interessengruppenarguments entnommen wird, das an navigator.joinAdInterestGroup() übergeben wurde.
allowComponentAuction Boolescher Wert, der angibt, ob dieses Gebot in einer Komponentenauktion verwendet werden kann. Die Standardeinstellung ist „false“. falls nicht angegeben.
bid Ein numerisches Gebot, das an der Auktion teilnimmt. Der Verkäufer muss in der Lage sein, Gebote verschiedener Käufer zu vergleichen. Daher müssen die Gebote in einer vom Verkäufer gewählten Einheit liegen (z. B. "€ pro 1.000 €"). Wenn das Gebot null oder negativ ist, nimmt diese Interessengruppe nicht an der Auktion des Verkäufers teil. Mit diesem Mechanismus kann der Käufer für Werbetreibende Regeln für die Anzeigenschaltung festlegen.
bidCurrency Die Währung für das Gebot, die für die currency-checking verwendet wird.
render Ein Wörterbuch, in dem das Creative beschrieben wird, das gerendert werden soll, wenn dieses Gebot die Auktion gewinnt. Dazu gehören:
<ph type="x-smartling-placeholder">
    </ph>
  • url: URL des Creatives
  • width: Die Breite des Creatives. Diese Größe wird mit der Erklärung in der Interessengruppe abgeglichen und durch Makros für die Anzeigengröße in der Anzeigen-URL ersetzt. Wenn die Anzeige in einem Fenced Frame geladen wird, wird der innere Frame des Fenced Frames, d. h. die für das Anzeigen-Creative sichtbare Größe, auf diese Größe fixiert. Änderungen an der Frame-Größe, die vom Einbettungscode vorgenommen wurden, sind dann nicht zu sehen.
  • height: Höhe des Creatives. Ausführliche Informationen finden Sie in width.

modelingSignals

Eine Ganzzahl von 0 bis 4095 (12 Bit), die an reportWin() übergeben wird, mit Rauschen, wie unter Rausch- und Bucketing-Schema beschrieben. Ungültige Werte wie negative, unendliche und NaN-Werte werden ignoriert und nicht übergeben. Nur die niedrigsten 12 Bit werden übergeben.


Der Käufer kann die in der Funktion generateBid() verfügbaren Signale, einschließlich Daten aus selbst erhobenen Käuferdaten, die beim Erstellen der Interessengruppe in userBiddingSignals erfasst wurden, verwenden, um einen Wert abzuleiten, der an die Berichtsfunktion des Käufers übergeben wird, um das Trainieren des ML-Modells zu ermöglichen.