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

Als Käufer von Anzeigen (DSP 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 Protected Audience-Auktionen teilnehmen, können Sie die identifizierten Kunden auch auf anderen Websites datenschutzfreundlich erreichen.

Bei einer Protected Audience-Auktion geben Sie die Logik zur Generierung des Gebots an und der Browser berechnet das Gebot dann anhand dieser Logik. Im Gegensatz dazu wird bei anderen Auktionsarchitekturen das Gebot direkt gesendet, statt die Logik bereitzustellen.

Sie geben die Gebotsgenerierungslogik in der JavaScript-Funktion generateBid() an und die Datei wird auf Ihrem Server gehostet. Wenn Sie einer Interessengruppe einen Nutzer hinzufügen, wird der Speicherort dieser Datei als biddingLogicUrl an die Interessengruppenkonfiguration übergeben.

Bei der Auktion ruft der Browser die im Feld biddingLogicUrl angegebene Gebotslogik ab und führt die generateBid()-Funktion für jede Interessengruppe in einer sicheren und isolierten Umgebung aus, die nur eingeschränkt mit einem externen Kontext kommunizieren kann. 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. Der Wert wird vom generateBid()-Aufruf zurückgegeben. Nachdem die Gebote gesendet wurden, führt der Browser die Bewertungslogik des Verkäufers für jedes Gebot aus, um den Wunschwert 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 an den Käufer der Anzeige übergeben wird. Die Interessengruppe kann mit „dailyUpdateUrl“ aktualisiert werden.

auctionSignals

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

perBuyerSignals

Eine Eigenschaft des Arguments auction config, das vom Verkäufer übergeben wird So können Kontextsignale vom Käuferserver zur Seite gesendet werden, wenn der Verkäufer eine SSP ist, die einen Aufruf für Echtzeitgebote an die Käuferserver durchführt und die Antwort zurücksendet, oder wenn die Publisher-Seite den Server des Käufers direkt kontaktiert. In diesem Fall sollte der Käufer zum Schutz vor Manipulationen eine kryptografische Signatur dieser Signale in generateBid() überprüfen.

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. die hostname der aktuellen Seite, die der Verkäufer sonst fälschen könnte) und Daten für die Interessengruppe selbst (z. B. eine Aufzeichnung, wann die Gruppe zuvor eine Auktion gewonnen hat) enthalten kann, um Frequency Capping auf dem Gerät zu ermöglichen.

directFromSellerSignals

Signale, die garantiert von einem bestimmten Verkäufer stammen, im Gegensatz zu auctionSignals und sellerSignals, die von jedem Teilnehmer stammen können, wenn 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
}
Property Beschreibung

topWindowHostname

Der Hostname, von dem der runAdAuction()-Aufruf stammt.

seller

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

topLevelSeller

Der Verkäufer der obersten Ebene in einer Komponentenauktion. Er nimmt auch nur an einer Komponentenauktion teil.

requestedSize

Die Property requestedSize empfiehlt eine Frame-Größe für die Auktion. Der Verkäufer legt die angeforderte Größe in der Auktionskonfiguration fest. Der Wert steht dann Bietern in generateBid() zur Verfügung. Bieter innerhalb der Auktion können eine andere Contentgröße für die Anzeige auswählen. Diese Größe wird optisch so skaliert, dass sie in die Containergröße des Elements passt.

joinCount

Das Feld „joinCount“ gibt an, wie oft das Gerät dieser Interessengruppe in den letzten 30 Tagen beigetreten ist, während die Interessengruppe kontinuierlich gespeichert wurde. Das heißt, es gibt keine Speicherlücken auf dem Gerät, weil die Interessengruppe verlassen wird oder die Mitgliedschaft abläuft.

recency

Das Feld „recency“ enthält die Zeitspanne (in Minuten) ab dem Beitritt dieses Geräts zu dieser Interessengruppe bis jetzt.

bidCount

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

prevWinsMs

Das Feld „prevWinMs“ enthält die erfolgreichen Anzeigen der Interessengruppe und die Zeit seit den letzten Ergebnissen in Millisekunden. Beachten Sie, dass das Anzeigenobjekt hier nur renderURL und Metadatenfelder enthält.

wasmHelper

Ein WebAssembly.Module-Objekt, das auf dem biddingWasmHelperURL der Interessengruppe basiert

dataVersion

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

adComponentsLimit

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

Gebot berechnen

Zur Berechnung eines Gebotswerts kann der Code in generateBid() die Eigenschaften der Funktionsparameter 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:

Property Rolle
ad Beliebige Metadaten zur Anzeige, etwa Informationen, die der Verkäufer voraussichtlich über das Gebot oder die Anzeige erfährt. Der Verkäufer nutzt diese Informationen in seiner Auktions- und Entscheidungslogik.
adCost Ein numerischer Wert, der verwendet wird, um die Klick- oder Conversion-Kosten des Werbetreibenden von „generateBid“ an „reportWin“ zu übergeben. Die Genauigkeit dieser Zahl ist auf eine 8-Bit-Mistisse und einen 8-Bit-Exponenten beschränkt, wobei jede Rundung stochastisch ausgeführt wird.
adComponents Eine optionale Liste mit bis zu 20 Komponenten für Anzeigen, die aus mehreren Teilen bestehen. Sie stammt aus der Eigenschaft adComponents des Interessengruppenarguments, das an navigator.joinAdInterestGroup() übergeben wird.
allowComponentAuction Boolescher Wert, der angibt, ob dieses Gebot in einer Komponentenauktion verwendet werden kann Wenn keine Angabe erfolgt, wird standardmäßig „false“ verwendet.
bid Ein numerisches Gebot, das an der Auktion teilnimmt. Der Verkäufer muss in der Lage sein, Gebote von verschiedenen Käufern zu vergleichen. Daher müssen Gebote in einer vom Verkäufer ausgewählten Einheit (z. B. € pro 1.000) angegeben werden. 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 beliebige Regeln für Werbetreibende festlegen, wo seine Anzeigen erscheinen dürfen oder nicht.
bidCurrency Die Währung des Gebots; wird für die Währungsumrechnung verwendet.
render Ein Wörterbuch, in dem das Creative beschrieben wird, das gerendert werden soll, wenn dieses Gebot die Auktion gewinnt. Dazu zählen:
  • url: URL des Creatives
  • width: Die Breite des Creatives. Diese Größe wird mit der Deklaration in der Interessengruppe abgeglichen und durch alle Anzeigengrößen-Makros 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 eingefroren. Änderungen an der Frame-Größe, die vom Einbettungscode vorgenommen wurden, sind dann nicht möglich.
  • height: Die Höhe des Creatives. Nähere Informationen findest du in width.

modelingSignals

Eine Ganzzahl von 0–4.095 (12 Bits), die mit Rauschen an reportWin() übergeben wird, wie im Noising- 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 generateBid()-Funktion verfügbaren Signale verwenden, einschließlich selbst erhobener Käuferdaten, die beim Erstellen der Interessengruppe im userBiddingSignals erfasst wurden. So kann er einen Wert ableiten, der an die Berichtsfunktion des Käufers weitergeleitet wird, um das ML-Modelltraining zu ermöglichen.