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 |
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 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.
- 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.
- 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.
- 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.
- Kontextbezogene Gebote für gewonnene Auktionen und Käufersignale werden der
- Der SFE-Dienst des SSP ruft den BFE-Dienst des DSP mit der
GetBids
-Anfrage auf. - Die BFE der DSP ruft den Bidding-Dienst mit der
GenerateBids
-Anfrage auf. - 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.
- 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
undDSP-B
nehmen nur an On-Device-Auktionen teilDSP-X
undDSP-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 durchSSP-BA
führt eine Auktion nur für Gebote und Anzeigen durchSSP-MIX
eine Auktion im gemischten Modus ausführtSSP-TOP
führt eine Mehrfachkundenauktion durch:SSP-OD/BA/MIX
als Komponentenverkäufer an der Mehrfachkunden-Auktion vonSSP-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.
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:
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.
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:
- Gerätegestützte Auktion, bei der der Aufruf des Anzeigendienstes jedes Komponentenanbieters vom Browser ausgeht
- 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.
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.
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
- Weitere Informationen zur Funktionsweise von B&A für geschützte Zielgruppen findest du in den folgenden Erläuterungen auf GitHub:
- Wenn Sie mit Protected Audience und B/A-Tests experimentieren möchten, folgen Sie dem Codelab für End-to-End-Tests.
- Informationen zur Verkäuferintegration finden Sie unter Als Verkäufer mit B&A verknüpfen.
Hast du Fragen?
- Wenn Sie Fragen zu Gebots- und Auktionsdiensten haben, erstellen Sie ein Problem im B&A Services-Repository.
- Wenn Sie allgemeine Fragen zur Privacy Sandbox haben, erstellen Sie ein Issue im Repository „privacy-sandbox-dev-support“.