Architektur

Auktionsarchitektur von Gebots- und Auktionsdiensten

Übersicht

Die Gebots- und Auktionsdienste bieten eine Reihe von Diensten für Werbetreibende und Verkäufer, die in einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) ausgeführt werden, um eine Protected Audience-Auktion (PA) zu ermöglichen. Auf dieser Seite werden die verschiedenen Auktionskonfigurationen beschrieben, die in einer PA-Auktion für B&A verwendet werden können.

Definitionen

Begriff Beschreibung
Protected Audience-Auktion Eine Anzeigenauktion, bei der websiteübergreifende Daten verwendet werden
Kontextbezogene Auktion Eine Anzeigenauktion, bei der keine websiteübergreifenden Daten verwendet werden. Diese Auktion folgt dem bestehenden Ablauf für Echtzeitgebote (Real-Time Bidding, RTB).
Anfrage für gemeinsame Auktion Eine vom JavaScript-Code des Verkäufers aus dem Browser gesendete Anfrage, die sowohl die Nutzlast für die Auktion mit geschützten Zielgruppen als auch für die kontextbezogene Auktion enthält.
Verkäufer-Werbedienst (SAS) Der Dienst, der für die Verarbeitung der einheitlichen Auktionsanfrage vom Browser zuständig ist. Dies kann der vorhandene RTB-Anzeigenserver eines Verkäufers sein. SAS ist für die Durchführung sowohl kontextbezogener als auch Protected Audience-Auktionen verantwortlich.
Anzeigendienst für Käufer Der Dienst, der für das Einreichen eines Gebots für eine kontextbezogene Auktion verantwortlich ist. Dies kann der vorhandene ORTB-Ad-Server eines Käufers sein.

Dienste für Käufer und Verkäufer

B&A Services besteht aus vier Diensten für Käufer und Verkäufer:

  • Für Käufer sind der Gebotsservice und der Buyer Front-End-Dienst (BFE-Dienst) verfügbar.
  • Für Verkäufer stehen der Auktionsdienst und der Seller Front-End-Dienst (SFE-Dienst) zur Verfügung.
Teilnehmer Dienst Beschreibung
Käufer Buyer Front-End (BFE) Service Der Dienst verarbeitet die GetBids-Anfrage von der SFE eines Verkäufers. Es ist für die Entschlüsselung der Nutzlast, das Abrufen der K/V-Signale und das Aufrufen von GenerateBids des Gebotsdienstes verantwortlich.
Gebotsdienst Der Dienst verarbeitet die GenerateBids-Anfrage von BFE. Sie ist für die Ausführung der Gebotslogik des Käufers und die Generierung eines Gebots verantwortlich.
Verkäufer Seller Front-End (SFE) Service Der Dienst verarbeitet die SelectAd-Anfrage vom Werbedienst für Verkäufer. Es ist für die Entschlüsselung der Nutzlast, den Aufruf des Vorgangs GetBids von BFE, das Abrufen der K/V-Signale, den Aufruf des Vorgangs ScoreAd von Auction Service und die Rückgabe des verschlüsselten B&A-Auktionsergebnisses an SAS verantwortlich.

Wenn der Dienst Teil des Stacks des Verkäufers der obersten Ebene in einer servergestützten Auktion mit mehreren Verkäufern ist, verarbeitet der Dienst auch die GetComponentAuctionCiphertexts-Anfrage von SAS.

Auktionsdienst Der Dienst verarbeitet die ScoreAd-Anfrage von SFE. Sie ist für die Ausführung der Bewertungslogik des Verkäufers und die Bereitstellung des Attraktivitätsfaktors eines Gebots verantwortlich.

Architektur einer B&A-Auktion mit Preisauskunft für das Web

Das folgende Diagramm zeigt die grundlegende Auktion für geschützte Zielgruppen mit B&A-Diensten mit einem einzelnen Verkäufer und einem einzelnen Käufer. Die dick umrandeten roten Felder stehen für Dienste, die in einem TEE ausgeführt werden:

Der clientseitige JavaScript-Code sendet die Anfrage für die gemeinsame Auktion an die SSP. Die SAS sendet eine Anfrage an die SFE und die SFE sendet eine Gebotsanfrage an die BFE.

(Diagramm in Originalgröße)

  1. Der JavaScript-Code der SSP auf der Publisher-Seite generiert die verschlüsselten Daten der B&A-Anzeigenauktion durch Aufrufen von navigator.getInterestGroupAdAuctionData().
    • Diese verschlüsselte Nutzlast enthält die Daten des Käufers und kann nur innerhalb einer SFE in einem TEE entschlüsselt werden.
  2. Der JavaScript-Code der SSP sendet eine Anfrage für eine gemeinsame Auktion an den Anzeigendienst des Verkäufers.
    • Eine Anfrage für eine einheitliche Auktion enthält sowohl die Nutzlast der kontextbezogenen ORTB-Auktion im Klartext als auch die verschlüsselte Nutzlast der B&A-Auktion.
    • Der Anzeigendienst des Verkäufers ist Ihr vorhandener Anzeigenserver und wird nicht in einem TEE ausgeführt.
  3. Der Anzeigendienst des Verkäufers ruft den RTB-Dienst der DSP auf, um das Gebot für die kontextbezogene Auktion und alle Käufersignale anzufordern, die in die nachfolgende PA-Auktion übergeben werden sollen.
    • Dies kann ein Schritt sein, bei dem ein Käufer seine Absicht signalisiert, an der privaten Auktion teilzunehmen.
  4. Nach Abschluss der kontextbezogenen Auktion sendet SAS die SelectAd-Anfrage an den SFE-Dienst.
    • Kontextbezogene Gebote für gewonnene Auktionen und Käufersignale werden der SelectAd-Anfragen-Nutzlast hinzugefügt.
  5. Der SFE-Dienst des SSP ruft den BFE-Dienst des DSP mit der GetBids-Anfrage auf.
  6. Die BFE der DSP ruft den Bidding-Dienst mit der GenerateBids-Anfrage auf.
  7. Sobald das Gebot von SFE empfangen wurde, wird der ScoreAd-Aufruf an den Auktionsdienst gesendet.
    • Das Gebot mit dem höchsten Wünschbarkeitswert wird an SAS zurückgegeben und dann an den JavaScript-Code auf der Seite weitergeleitet.
  8. Die Auktion wird im Browser abgeschlossen, indem das verschlüsselte B&A-Auktionsergebnis an den navigator.runAdAuction()-Aufruf übergeben wird.

Auktionskonfigurationen

Auktionen mit geschützten Zielgruppen und Bidding& Analytics-Diensten können auf folgende Arten konfiguriert werden:

  • Auktion mit Einzelkundenkonto und B&A-Käufern
  • Auktion im gemischten Modus mit On-Device-Käufern und B&A-Käufern
  • Auktion mit mehreren Verkäufern, die auf Geräte- oder Serverebene orchestriert werden kann

Teilnehmer

Für die Beschreibung der einzelnen Auktionskonfigurationen werden in diesem Leitfaden die folgenden Teilnehmer verwendet:

Teilnehmer Beschreibung
DSP-A Käufer auf dem Gerät
DSP-B Käufer auf dem Gerät
DSP-X B&A-Käufer
DSP-Y B&A-Käufer
SSP-TOP Verkäufer der obersten Ebene
SSP-OD Verkäufer, der nur auf Geräten verfügbar ist
SSP-BA Verkäufer, der nur B&A-Artikel anbietet
SSP-MIX Verkäufer mit gemischten Verkehrsmitteln

Es gibt vier DSPs:

  • DSP-A und DSP-B nehmen nur an On-Device-Auktionen teil
  • DSP-X und DSP-Y nehmen sowohl an On-Device-Auktionen als auch an B&A-Auktionen teil

Es gibt vier SSPs und jeder Verkäufer verwendet eine andere Auktionskonfiguration:

  • SSP-OD führt eine Auktion nur auf dem Gerät durch
  • SSP-BA führt eine Auktion nur für Gebote und Anzeigen durch
  • SSP-MIX eine Auktion im gemischten Modus ausführt
  • SSP-TOP führt eine Mehrfachkundenauktion durch:
    • SSP-OD/BA/MIX als Komponentenverkäufer an der Mehrfachkunden-Auktion von SSP-TOP teilnehmen

B&A-Auktion für Einzelkundenkonto

Bei einer Einrichtung für einzelne Verkäufer führt ein Verkäufer eine Auktion durch, an der mehrere Käufer teilnehmen. Wenn der Verkäufer eine B&A-Auktion durchführt, müssen die Käufer den Käufer-Stack der B&A-Dienste verwenden, um ein Gebot für die Auktion abzugeben. Käufer und Verkäufer müssen nicht denselben Cloud-Anbieter verwenden.

Eine Architektur mit Einzelkundenkonto, bei der ein SFE mit mehreren BFEs kommuniziert, um Gebote zu erhalten

(Diagramm in Originalgröße)

In der vorherigen Konfiguration führt SSP-BA eine B&A-Auktion durch, an der DSP-X und DSP-Y über den Käufer-Stack von B&A-Diensten teilnehmen. Der Anzeigendienst des Verkäufers führt zuerst eine kontextbezogene Auktion für DSP-X und DSP-Y durch und dann eine Protected Audience-Auktion, indem die SelectAd-Anfrage an den SFE-Dienst des Verkäufers gesendet wird. Das erfolgreiche Gebot der kontextbezogenen Auktion und die Signale für jeden Käufer werden an den SelectAd-Aufruf übergeben. Anschließend sendet der SFE-Dienst GetBids-Anfragen an die BFEs von DSP-X und DSP-Y, die ihren Gebotsservice aufrufen, um ein Gebot zu generieren.

Das verschlüsselte B&A-Auktionsergebnis wird an den Client zurückgegeben und an den runAdAuction()-Aufruf übergeben. Eine Auktionskonfiguration für einen einzelnen Verkäufer sieht so aus:

await navigator.runAdAuction({
  seller: 'https://ssp-ba.example',
  requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
  serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
})

Der Wert requestId stammt aus dem getInterestGroupAdAuctionData()-Aufruf auf dem Client und die serverResponse-Daten aus der serverseitigen B&A-Auktion.

Auktion im gemischten Modus

Bei der Konfiguration im gemischten Modus können Käufer über On-Device Bidding oder Bidding & Analytics an der Auktion des Verkäufers teilnehmen. Die blauen Pfeile stehen für den On-Device-Auktionspfad und die roten Pfeile für den B&A-Auktionspfad:

Eine Verkäuferarchitektur im Mischmodus, bei der Käufer ihre Gebote über On-Device- oder B&A-Gebote abgeben können

(Diagramm in Originalgröße)

In dieser Konfiguration sind DSP-A und DSP-B Käufer, die ihre Gebote auf dem Gerät abgeben, und DSP-X und DSP-Y sind Käufer, die ihre Gebote über B&A abgeben. Die On-Device-Käufer nehmen an einer On-Device-PA-Auktion im Browser teil und die B&A-Käufer nehmen an der B&A-Auktionseinrichtung teil, die im Abschnitt Auktion mit einem einzelnen Verkäufer beschrieben wird.

Die kontextbezogene Auktion wird zuerst für alle Käufer ausgeführt, um das Gewinnergebot der kontextbezogenen Auktion und die Käufersignale zu erfassen. Anschließend wird die B&A-Auktion ausgeführt und die Käufersignale aus der kontextbezogenen Auktion werden in die SelectAd-Anfrage an die SFE übergeben. Das verschlüsselte B&A-Auktionsergebnis, das von der SFE zurückgegeben wird, wird an den Browser weitergeleitet. Nach der B&A-Auktion wird das Ergebnis in die On-Device-Auktion eingefügt, an der die On-Device-Käufer teilnehmen.

Eine Auktionskonfiguration im gemischten Modus für einen einzelnen Verkäufer für den On-Device-Teil der Auktion sieht in etwa so aus:

await navigator.runAdAuction({
  seller: 'https://ssp-mix.example',
  decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
  componentAuctions: [
    // B&A auction
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 14, ]
    },
    // On-device auction
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
    }
  ]
})

Parallelisierung von On-Device- und B&A-Auktionen

Ohne Parallelisierung werden die Auktionen nacheinander ausgeführt. Zuerst wird die kontextbezogene Auktion, dann die B&A-Auktion und schließlich die On-Device-Auktion ausgeführt. Bei der Parallelisierung wird die kontextbezogene Auktion wieder zuerst ausgeführt, aber das Ergebnis und die Signale werden an den Client zurückgestreamt, um die On-Device-Auktion parallel zu starten, bevor die B&A-Auktion abgeschlossen ist.

Ein Diagramm, das zeigt, wie das Gebot und die Signale der kontextbezogenen Auktion und das SelectAd-Ergebnis zurück an den JavaScript-Code des Browsers gestreamt werden

(Diagramm in Originalgröße)

Der JavaScript-Code im Client sendet die Anfrage für die einheitliche Auktion an SAS. SAS startet die kontextbezogene Auktion und die PA-B&A-Auktion. Wenn SAS eine Antwort vom RTB-Server eines Käufers erhält, signalisiert der Käufer, dass die On-Device-Auktion zusammen mit dem Gewinner der kontextbezogenen Auktion an den Browser zurückgestreamt werden kann, sobald alle Gebote eingegangen sind. Die gestreamten Käufersignale werden verwendet, um ein Gebot auf dem Gerät zu generieren. Der Gewinner der kontextbezogenen Auktion wird bei der Bewertung der Gebote als Mindestgebot verwendet.

Bei der selektiven Anzeigenbereitstellung generiert der Verkäufer eine UUID-Nonce, die im Ad-Auction-Result-Nonce-Antwortheader festgelegt wird, wenn die kontextbezogenen Auktionsdaten an den Browser gestreamt werden. Dieser Nonce wird auch im SelectAd-Aufruf an die SFE für die B&A-Auktion verwendet und in die zurückgegebene SelectAd-Antwort von der SFE aufgenommen. Während der clientseitigen Auktionsphase prüft der Browser, ob der Nonce im Ad-Auction-Result-Nonce-Antwortheader mit dem Nonce in der verschlüsselten Auktionsergebnisnutzlast übereinstimmt.

Weitere Informationen zur Parallelisierung im gemischten Modus

Mehrfachkundenauktion

Es gibt zwei Möglichkeiten, eine PA-Auktion mit mehreren Verkäufern mit B&A durchzuführen:

  1. Gerätegestützte Auktion, bei der der Aufruf des Anzeigendienstes jedes Komponentenanbieters vom Browser ausgeht
  2. Servergestützte Auktion, bei der der Aufruf des Anzeigendienstes jedes Komponentenverkäufers vom Anzeigendienst des Verkäufers der obersten Ebene stammt

Gerätebasierte Mehrfachkundenauktion

Bei einer gerätebasierten Auktion mit mehreren Verkäufern kann jeder Komponentenverkäufer seine Auktion in einer beliebigen Konfiguration ausführen. Anbieter auf Geräten, Anbieter im B2B- und Anbieter im gemischten Modus können an der Auktion der obersten Ebene teilnehmen.

Ein Diagramm, das zeigt, wie mehrere Verkäufer mit unterschiedlichen Auktionskonfigurationen ihre Auktionsergebnisse an den Verkäufer der obersten Ebene senden können

(Diagramm in Originalgröße)

In dieser Konfiguration führt SSP-TOP, der Verkäufer der obersten Ebene, eine Mehrfachkunden-Auktion durch, an der SSP-OD, SSP-BA und SSP-MIX teilnehmen:

  • SSP-OD, der eine On-Device-PA-Auktion durchführt, sendet die Konfiguration der On-Device-Komponenten-Auktion an den Verkäufer der obersten Ebene.
  • SSP-BA, der eine B&A-Auktion durchführt, sendet eine Anfrage für eine gemeinsame Auktion an seinen Anzeigendienst für Verkäufer und führt eigene kontextbezogene und B&A-Auktionen durch. Die Ergebnisse werden an den Verkäufer der obersten Ebene gesendet.
  • SSP-MIX führt eine Auktion im gemischten Modus durch. Dabei wird die B&A-Auktion zuerst auf dem Server ausgeführt und dann sowohl das Ergebnis der B&A-Auktion als auch die On-Device-Auktionskonfiguration gesendet.

Der Verkäufer der obersten Ebene sammelt die Auktionskonfigurationen der Komponenten von jedem Verkäufer und erstellt eine Auktionskonfiguration, die in etwa so aussieht:

await navigator.runAdAuction({
  seller: 'https://ssp-top.example',
  decisionLogicURL: 'https://ssp-top.example/score-ad.js',
  componentAuctions: [
    // SSP-BA's B&A-only auction
    {
      seller: 'https://ssp-ba.example',
      requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
    },
    // SSP-MIX's B&A auction of mixed-mode
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 4, ] // Encrypted B&A auction result
    }.
    // SSP-MIX's on-device auction of mixed-mode
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/score-ad.js',
    }
    // SSP-OD's on-device auction
    {
      seller: 'https://ssp-od.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-od.example/score-ad.js',
    }
  ]
})

Servergestützte Mehrfachkundenauktion

Bei einer servergestützten Auktion mit mehreren Verkäufern werden die Aufrufe an die Anzeigendienste des Komponentenverkäufers über den Anzeigendienst des Verkäufers auf oberster Ebene gesendet. Bei dieser Konfiguration können Komponentenverkäufer keine On-Device-Auktionen oder Auktionen im gemischten Modus durchführen. Alle Verkäufer müssen Bidding& Analytics verwenden und alle Käufer müssen ihre Gebote über Bidding& Analytics abgeben.

Das SSP der obersten Ebene sendet eine Anfrage für eine gemeinsame Auktion an seinen Anzeigendienst für Verkäufer. Der Anzeigendienst des Verkäufers ruft die SFE auf, um den Vorgang „GetComponentAuctionCipherTexts“ auszuführen. Die zurückgegebenen Geheimtexte werden dann an den Anzeigendienst jedes Komponentenanbieters gesendet, der eigene B&A-Auktionen durchführt.

(Diagramm in Originalgröße)

In diesem Diagramm führt SSP-TOP eine servergestützte Mehrfachkundenautions ab, an der SSP-BA-X und SSP-BA-Y teilnehmen.

Eine einzelne Anfrage für eine gemeinsame Auktion, die die Nutzlast für kontextbezogene und PA-Auktionen für alle Teilnehmer enthält, wird vom Browser an den Anzeigendienst des Verkäufers der obersten Ebene gesendet. Anschließend sendet SAS einen GetComponentAuctionCiphertexts-Aufruf mit der Nutzlast an die SFE. SFE entschlüsselt die Nutzlast, trennt die Nutzlasten nach den einzelnen Komponentenverkäufern und gibt die neu verschlüsselten Nutzlasten an die SAS des Verkäufers der obersten Ebene zurück.

Die Proto-Definitionen für GetComponentAuctionCiphertexts-Anfrage und GetComponentAuctionCiphertexts-Antwort sind:

// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
  bytes protected_auction_ciphertext = 1; // Generated in the browser
  repeated string component_sellers = 2; // The list of all component sellers
}

// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
  // A map of component sellers and their re-encrypted payloads
  map<string, bytes> seller_component_ciphertexts = 1;
}

Mit der Nutzlast jedes Komponentenverkäufers ruft die SAS des Verkäufers der obersten Ebene die SAS der Komponentenverkäufer auf und jede SAS der Komponenten führt ihre B&A-Auktion für die Komponente aus. Anschließend werden die Ergebnisse der Komponentenauktionen an die SFE des Verkäufers der obersten Ebene zurückgegeben und die Gebote für die Komponentenauktionen werden vom Auktionsdienst des Verkäufers der obersten Ebene bewertet. Das Gebot mit dem höchsten Wert für die Wünschbarkeit wird an die SFE zurückgegeben. Diese verschlüsselte Nutzlast wird an die SAS gesendet, um an den Client zurückgegeben zu werden. Im Browser beendet der Verkäufer der obersten Ebene die Auktion, indem er navigator.runAdAuction() aufruft und die verschlüsselte Auktionsergebnisnutzlast des Servers angibt.

Nächste Schritte

Nachdem Sie diesen Leitfaden gelesen haben, können Sie die folgenden Schritte ausführen:

Weitere Informationen

Hast du Fragen?