In qualità di acquirente di annunci (DSP e inserzionisti), potresti essere interessato a partecipare a un'asta dell'annuncio Protected Audience sul sito del publisher per scegliere come target di un annuncio il gruppo di interesse definito sul sito dell'inserzionista. Partecipando all'asta Protected Audience, puoi raggiungere i clienti identificati su altri siti in un modo incentrato sulla tutela della privacy.
In un'asta Protected Audience, fornisci la logica per generare l'offerta e il browser calcola l'offerta utilizzando questa logica. a differenza di altre architetture di asta in cui viene inviata l'offerta direttamente invece di fornire la logica.
Tu fornisci la logica di generazione delle offerte nella funzione JavaScript generateBid()
e il file è ospitato sul tuo server. Quando aggiungi un utente a un gruppo di interesse, il percorso di questo file viene trasferito nella configurazione del gruppo di interesse come biddingLogicUrl
.
Durante l'asta, il browser recupera la logica di offerta specificata nel campo biddingLogicUrl
ed esegue la funzione generateBid()
per ciascun gruppo di interesse in un ambiente sicuro isolato, limitato nella comunicazione con l'esterno. Quando viene eseguito generateBid()
, il browser trasmette indicatori alla funzione come argomenti. Questi indicatori contengono varie informazioni provenienti da fonti diverse, come i dati proprietari del publisher, i dati del venditore, i dati in tempo reale e altro ancora. Puoi utilizzare questi indicatori per calcolare l'offerta, il cui valore viene restituito dalla chiamata generateBid()
. Dopo l'invio delle offerte, il browser esegue la logica del punteggio del venditore per ciascuna offerta per calcolare il punteggio di desiderabilità del venditore.
generateBid()
Di seguito vengono descritti gli argomenti della funzione generateBid()
e la struttura dell'offerta restituita dalla funzione:
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)
};
}
Argomenti
generateBid()
accetta i seguenti argomenti:
Argomento | Ruolo |
---|---|
|
Un oggetto trasmesso all'acquirente dell'annuncio. Il gruppo basato sugli interessi potrebbe essere aggiornato con dailyUpdateUrl . |
|
Una proprietà dell'argomento auction config passata a navigator.runAdAuction() dal venditore. Fornisce informazioni sul contesto della pagina (ad esempio dimensioni dell'annuncio e ID publisher), sul tipo di asta (primo prezzo o secondo prezzo) e altri metadati. |
|
Una proprietà dell'argomento auction config passata dal venditore. Ciò può fornire indicatori di contesto dal server dell'acquirente in merito alla pagina, se il venditore è un'SSP che esegue una chiamata per le offerte in tempo reale ai server dell'acquirente e inoltra la risposta oppure se la pagina del publisher contatta direttamente il server dell'acquirente. In questo caso, l'acquirente potrebbe voler controllare una firma crittografica di questi indicatori all'interno di generateBid() come protezione contro le manomissioni. |
|
Un oggetto le cui chiavi sono trustedBiddingSignalsKeys per il gruppo di interesse e i cui valori vengono restituiti nella richiesta trustedBiddingSignals . |
|
Un oggetto creato dal browser, che potrebbe includere informazioni sul contesto della pagina (come il hostname della pagina corrente, che altrimenti il venditore potrebbe falsificare) e i dati relativi al gruppo di interesse stesso (ad esempio la registrazione della data in cui il gruppo ha vinto in precedenza un'asta, per consentire la quota limite on-device). |
|
Indicatori di cui è garantita la provenienza da un venditore specifico, a differenza di auctionSignals e sellerSignals , che possono provenire da qualsiasi partecipante presente nel contesto in cui viene eseguito runAdAuction . |
Indicatori del browser
L'oggetto browserSignals
ha le seguenti proprietà:
{
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
}
Proprietà | Descrizione |
---|---|
|
Il nome host del quale è stata effettuata la chiamata a runAdAuction() . |
|
Il venditore a cui viene inviata l'offerta. In un'asta di componenti, questo valore è il venditore del componente. |
|
Venditore di primo livello in un'asta del componente ed è presente solo in un'asta del componente. |
|
La proprietà requestedSize consiglia una dimensione frame per l'asta. Il venditore imposta la dimensione richiesta nella configurazione dell'asta e il valore diventa disponibile per gli offerenti in generateBid() . Gli offerenti all'interno dell'asta potrebbero scegliere dimensioni diverse per i contenuti dell'annuncio e le dimensioni risultanti verranno scalate visivamente per adattarsi alle dimensioni del contenitore dell'elemento. |
|
Il campo joinCount indica il numero di volte in cui questo dispositivo si è unito al gruppo di interesse negli ultimi 30 giorni, mentre il gruppo di interesse è stato archiviato in modo continuo (ossia, non ci sono lacune nello spazio di archiviazione del gruppo di interesse sul dispositivo a causa di un'abbandono o di un'iscrizione in scadenza). |
|
Il campo recency indica la durata (in minuti) da quando il dispositivo è entrato a far parte del gruppo basato sugli interessi fino ad ora |
|
Il numero di volte in cui il gruppo basato sugli interessi ha presentato un'offerta. |
|
Il campo prevWinMs contiene gli annunci vincenti del gruppo di interesse e il tempo trascorso dalle precedenti vincite in millisecondi. Tieni presente che l'oggetto annuncio qui contiene solo i campi renderURL e metadati. |
|
un oggetto WebAssembly.Module basato sul valore biddingWasmHelperURL del gruppo di interesse. |
|
Valore della versione dati proveniente dalle risposte del servizio chiave/valore dell'acquirente. |
|
Numero massimo di componenti dell'annuncio che possono essere restituiti da generateBid() |
Calcolare un'offerta
Per calcolare il valore dell'offerta, il codice in generateBid()
può utilizzare le proprietà dei parametri della funzione.
Ad esempio:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
Restituire un'offerta
generateBid()
restituisce un oggetto con le seguenti proprietà:
Proprietà | Ruolo |
---|---|
ad |
Metadati arbitrari sull'annuncio, ad esempio le informazioni che il venditore si aspetta di ottenere su questa offerta o creatività dell'annuncio. Il venditore utilizza queste informazioni nell'asta e nella logica decisionale. |
adCost |
Un valore numerico utilizzato per passare i report sul costo di conversione o clic dell'inserzionista da generateBid a reportWin. La precisione di questo numero è limitata a una mantissa a 8 bit e a un esponente a 8 bit, con qualsiasi arrotondamento eseguito in modo stocastico. |
adComponents |
Un elenco facoltativo di massimo 20 componenti per gli annunci composti da più parti, tratto dalla proprietà adComponents dell'argomento gruppo di interesse passato a navigator.joinAdInterestGroup() . |
allowComponentAuction |
Un valore booleano che indica se l'offerta può essere utilizzata in un'asta di componenti. Se non specificato, il valore predefinito è "false". |
bid |
Un'offerta numerica che parteciperà all'asta. Il venditore deve essere in grado di confrontare le offerte di diversi acquirenti, pertanto le offerte devono essere in alcune unità scelte dal venditore (ad esempio, "USD per mille"). Se l'offerta è pari a zero o negativa, il gruppo basato sugli interessi non parteciperà affatto all'asta del venditore. Con questo meccanismo, l'acquirente può implementare qualsiasi regola inserzionista per la quale i suoi annunci possono o meno essere pubblicati. |
bidCurrency |
La valuta dell'offerta, utilizzata per il controllo della valuta. |
render |
Un dizionario che descrive la creatività da visualizzare se l'offerta vince l'asta. Ad esempio:
|
|
Un numero intero 0-4095 (12 bit) passato a reportWin() , con noising, come descritto nello schema di rumore e bucketing. I valori non validi, ad esempio negativi, infiniti e NaN , verranno ignorati e non verranno passati. Verranno passati solo i 12 bit più bassi. L'acquirente può utilizzare gli indicatori disponibili all'interno della funzione generateBid() , inclusi i dati dei dati proprietari degli acquirenti acquisiti al momento della creazione del gruppo di interesse in userBiddingSignals , per ricavare un valore che viene trasmesso alla funzione di generazione di report sulle vittorie dell'acquirente per consentire l'addestramento del modello ML. |