Implementazione di deal, noti anche come marketplace privato (PMP), in un'asta Protected Audience
Panoramica
I deal, noti anche come marketplace privato (PMP), offrono agli acquirenti un accesso curato o prezzi preferenziali per un sottoinsieme di inventario. Per facilitare i deal programmatici, vengono utilizzati gli ID posto e gli ID deal:
- Un ID posto ha origine dall'acquirente ed è un identificatore che rappresenta il cliente dell'acquirente. Un ID seat può avere implicazioni per la fatturazione, ad esempio se un seat ha uno sconto con un determinato venditore.
- Un ID deal ha origine dall'acquirente o dal venditore ed è un identificatore che rappresenta un accordo tra un acquirente e un venditore. Un ID deal può avere proprietà come costo/prezzo, impegno di volume, informazioni sul pubblico, esclusività e altro ancora.
Protected Audience facilita i deal utilizzando gli ID report, il che consente di rendere disponibili gli ID posto e deal per le offerte, l'assegnazione di punteggi e i report delle aste. Gli ID report forniscono un meccanismo per consentire alle società di tecnologia pubblicitaria di ricevere questi ID deal e seat nei report Protected Audience post-asta per eseguire transazioni di deal e organizzare le attività di fatturazione. Prevediamo che acquirenti, venditori, agenzie e inserzionisti possano avere strategie personalizzate per interpretare e comprendere gli ID deal e posti che ricevono.
Procedura dettagliata
I passaggi per facilitare gli accordi in un'asta Protected Audience sono i seguenti:
- L'acquirente registra gli ID deal e posto nella configurazione del gruppo di interesse prima dell'esecuzione dell'asta
- Gli ID deal e posto possono essere impostati nel campo ID report selezionabili (
selectableBuyerAndSellerReportingIds). - Se l'ID utenza è lo stesso per tutti i deal, può essere impostato in
buyerAndSellerReportingId, mentre gli ID deal possono essere impostati nel campo degli ID report selezionabili (selectableBuyerAndSellerReportingIds).
- Gli ID deal e posto possono essere impostati nel campo ID report selezionabili (
- Durante la generazione dell'offerta, diventano disponibili l'ID deal e l'ID utenza. L'acquirente seleziona un ID deal da
selectableBuyerAndSellerReportingIds. L'acquirente genera un'offerta che include un ID deal associato a quell'offerta restituendo unselectedBuyerAndSellerReportingId. Un'offerta può vincere l'asta solo se l'ID deal restituito è k-anonimo insieme ad altri ID report e a determinate proprietà del gruppo di interesse. - Durante l'assegnazione del punteggio all'annuncio, gli ID deal e posto selezionati diventano disponibili per il venditore.
- Gli ID deal e posto diventano disponibili nelle funzioni di reporting del venditore.
- Gli ID deal e posto diventano disponibili nelle funzioni di generazione dei report dell'acquirente.
1. Registrazione di deal e ID utenza
L'acquirente registra gli ID deal e posto nella configurazione del gruppo di interesse prima dell'esecuzione dell'asta. Gli ID deal e seat sono impostati in selectableBuyerAndSellerReportingIds come array di stringhe. Se l'ID posto è lo stesso per tutte le offerte e non deve essere ripetuto, può essere aggiunto nel campo buyerAndSellerReportingId che accetta una stringa:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
Se l'ID posto è diverso per i deal, è possibile utilizzare la seguente configurazione:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
2. ID deal e utenza per gli acquirenti durante la generazione delle offerte
Durante la generazione dell'offerta, l'acquirente decide se fare un'offerta per un ID deal. In generateBid(), l'acquirente può selezionare un ID deal da selectableBuyerAndSellerReportingIds e restituire il valore come selectedBuyerAndSellerReportingId. L'offerta viene rifiutata se l'ID deal selezionato non è presente nell'array selectableBuyerAndSellerReportingIds.
function generateBid(interestGroup, ...) {
const [{
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerReportingId // 'brid123' - Not used for deals, but the value is available
}] = interestGroup.ads;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
Un'offerta con un valore restituito per selectedbuyerAndSellerReportingId può vincere l'asta solo se il valore di selectedbuyerAndSellerReportingId è k-anonimo insieme a buyerAndSellerReportingId (se presente), buyerReportingId (se presente), al proprietario del gruppo di interesse, all'URL dello script di offerta, all'URL di rendering e alle dimensioni dell'annuncio (le dimensioni dell'annuncio sono escluse da questo controllo almeno fino al primo trimestre del 2025).
Anche se selectablebuyerAndSellerReportingIds è definito nella configurazione del gruppo di interesse, è comunque valido per generateBid() restituire un'offerta che non include un selectedbuyerAndSellerReportingId; in questo caso, gli ID report forniti alle funzioni di generazione di report se questa offerta vince seguiranno il comportamento dell'ID report non selezionabile.
Nei casi in cui generateBid() viene eseguito nuovamente perché la chiamata iniziale non ha prodotto offerte con annunci che hanno superato i controlli di k-anonimato, selectableBuyerAndSellerReportingIds che non superano il controllo di k-anonimato non saranno presenti nel gruppo di interesse nella nuova esecuzione.
3. ID deal e utenza per i venditori durante l'assegnazione del punteggio agli annunci
L'ID deal selezionato, insieme a un ID utenza, se presente, sono resi accessibili a scoreAd(). Il venditore fornisce il punteggio di desiderabilità dell'offerta vincente tenendo conto dell'ID deal e di eventuali termini speciali. Se il venditore non ritiene che l'ID deal scelto dall'acquirente sia applicabile, rifiuta l'offerta assegnandole un punteggio di desiderabilità pari a zero o negativo.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. ID deal e utenza per i report dei venditori
Ricorda che un'offerta può vincere l'asta solo se selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (se presente) e buyerReportingId (se presente) sono k-anonimi con il proprietario del gruppo di interesse, l'URL dello script di offerta, l'URL di rendering e le dimensioni dell'annuncio (le dimensioni dell'annuncio sono escluse da questo controllo almeno fino al primo trimestre del 2025). Pertanto, i valori ID dei report che includono un selectedBuyerAndSellerReportingId saranno sempre disponibili in reportResult(). Tieni presente che, anche se buyerReportingId è selezionato per la k-anonimità, il valore è disponibile solo per la funzione di generazione di report per gli acquirenti e non per quella per i venditori.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. ID deal e utenza per i report degli acquirenti
Lo stesso concetto dei report dei venditori si applica ai report degli acquirenti. Ricorda che un'offerta può vincere l'asta solo se selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (se presente) e buyerReportingId (se presente) sono k-anonimi con il proprietario del gruppo di interesse, l'URL dello script di offerta, l'URL di rendering e le dimensioni dell'annuncio (le dimensioni dell'annuncio sono escluse da questo controllo almeno fino al primo trimestre del 2025). Pertanto, i valori ID dei report che includono un selectedBuyerAndSellerReportingId saranno sempre disponibili in reportWin().
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
Partecipare e condividere feedback
- Per scoprire di più sugli ID report, consulta la sezione ID report della spiegazione di Protected Audience.
- GitHub: poni domande e segui la discussione nelle issue del repository dell'API.
- W3C: discuti dei casi d'uso del settore nella chiamata WICG.
- Annunci: iscriviti o visualizza la mailing list.
- Privacy Sandbox Developer Support: fai domande e partecipa alle discussioni nel repository Privacy Sandbox Developer Support.
- Chromium: segnala un bug di Chromium per porre domande sull'implementazione disponibile per i test in Chrome.