Leggi come gli argomenti vengono dedotti e come sono assegnati agli utenti browser e come gli utenti possono controllare il proprio elenco di argomenti.
Stato implementazione
- L'API Topics ha completato la fase di discussione pubblica ed è attualmente disponibile per il 99% degli utenti, con una scalabilità fino al 100%.
- Per fornire il tuo feedback sull'API Topics, crea un problema nel messaggio esplicativo di Topics o partecipa alle discussioni nell'Migliorare il Web Advertising Business Group. Il testo esplicativo contiene una serie di domande aperte che richiedono ancora un'ulteriore definizione.
- La sequenza temporale di Privacy Sandbox indica le tempistiche di implementazione dell'API Topics e di altre proposte di Privacy Sandbox.
- L'API Topics: aggiornamenti più recenti descrive in dettaglio le modifiche e i miglioramenti apportati all'API Topics e alle implementazioni.
Che cos'è un argomento?
Un argomento, nell'API Topics, è un argomento a cui un utente è interessato, come evidenziato dai siti web che visita.
Gli argomenti sono un indicatore per aiutare le piattaforme ad tech a selezionare annunci pertinenti. A differenza dei cookie di terze parti, queste informazioni vengono condivise senza rivelare ulteriori informazioni sull'utente stesso o sulla sua attività di navigazione.
L'API Topics consente a terze parti, ad esempio le piattaforme di ad tech, di osservare e quindi accedere ad argomenti di interesse per un utente. Ad esempio, l'API potrebbe suggerire l'argomento "Fiber & Arte tessile" per un utente che visita il sito web knitting.example
.
L'elenco di argomenti utilizzati dall'API Topics è pubblico, selezionato da una persona, leggibile da una persona e progettato per evitare categorie sensibili. Questo è l'elenco attuale, che verrà ampliato nel tempo. L'elenco è strutturato come una tassonomia. Gli argomenti possono essere generali o più specifici. Ad esempio, Food & Drink
è una categoria generica, con la sottocategoria Cooking & Recipes
. Le sottocategorie possono essere ulteriormente suddivise in altre sottocategorie.
Una tassonomia di argomenti di questo tipo deve trovare un compromesso tra utilità e privacy. Se gli argomenti sono troppo specifici, potrebbero essere utilizzati per identificare un singolo utente. Se sono troppo generiche, non sono utili per selezionare la pubblicità o altri contenuti.
La tassonomia degli argomenti è stata creata tenendo presenti due requisiti di base:
- Supporto della pubblicità basata sugli interessi
- Proteggi gli utenti e la loro privacy
Questo suggerisce alcune domande. Ad esempio:
- Qual è il modo migliore a disposizione dell'API per dedurre gli argomenti di interesse per un utente, in base alla sua attività di navigazione, tutelando al contempo la sua privacy?
- Come si potrebbe strutturare la tassonomia per renderla più utile?
- Quali elementi specifici deve includere la tassonomia?
In che modo l'API deduce gli argomenti per un sito
Gli argomenti derivano da un modello di classificazione che mappa i nomi host dei siti web a zero o più argomenti. L'analisi di informazioni aggiuntive (ad esempio URL completi o contenuti delle pagine) potrebbe consentire la pubblicazione di annunci più pertinenti, ma potrebbe anche ridurre la privacy.
Il modello di classificazione per la mappatura dei nomi host agli argomenti è disponibile pubblicamente e, come indicato nella spiegazione, è possibile visualizzare gli argomenti di un sito tramite gli strumenti per sviluppatori dei browser. Il modello dovrebbe evolversi e migliorare nel tempo e verrà aggiornato periodicamente; la frequenza è ancora in considerazione.
Solo i siti che includono codice che chiama l'API Topics sono inclusi nella cronologia di navigazione idonea per il calcolo della frequenza degli argomenti e i chiamanti dell'API ricevono solo gli argomenti che hanno osservato. In altre parole, i siti non sono idonei per il calcolo della frequenza degli argomenti senza il sito o un servizio incorporato che chiama l'API.
Inoltre, il chiamante può ricevere soltanto gli argomenti "visti" dal suo codice. Pertanto, se il codice di un altro chiamante ha registrato un argomento, ad esempio /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
, per il browser di un utente e il tuo codice non ha causato la registrazione dell'argomento per il browser di quell'utente, non potrai scoprire quell'argomento di interesse per il browser di quell'utente quando chiami l'API dal tuo codice incorporato. Tieni presente che, poiché l'API ora include i predecessori osservati, l'esempio precedente, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
, causerebbe anche l'osservazione di Autos & Vehicles
e Motor Vehicles
.
Gli argomenti restituiti per un utente vengono ricalcolati per un chiamante in base al sito di primo livello. Ad esempio, se adtech.example
richiede gli argomenti dell'utente il giorno news-a.example
, poi il giorno news-b.example
e poi il giorno news-c.example
, gli argomenti restituiti all'utente verranno ricalcolati su ogni sito. Questo significa che è probabile che il chiamante visualizzi argomenti diversi per un utente su diversi siti di primo livello, poiché i (massimo) tre argomenti restituiti per un utente vengono scelti in modo casuale tra i primi cinque degli ultimi tre epoche (con una probabilità del 5% di ottenere un argomento casuale). Ciò rende più difficile per un chiamante identificare un utente in base all'argomento, poiché è probabile che siano diversi nei vari siti di primo livello (anche per lo stesso utente, chiamante e epoca).
Il modello di classificazione
Gli argomenti vengono selezionati manualmente per 50.000 domini principali e questa selezione viene utilizzata per addestrare il classificatore. Questo elenco è disponibile in override_list.pb.gz
, disponibile all'indirizzo chrome://topics-internals/
con il modello attuale nella scheda Classificatore. Le associazioni dominio-argomento nell'elenco sono utilizzate dall'API al posto dell'output del modello stesso.
![Pagina chrome://topics-internals con il riquadro Classificatore selezionato.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=19&hl=it)
chrome://topics-internals
elenca la versione del modello, il relativo percorso e gli argomenti associati a ciascun host elencato.Per eseguire il modello direttamente, consulta la Guida di TensorFlow all'esecuzione di un modello.
Per esaminare il file override_list.pb.gz
, devi prima aprirlo:
gunzip -c override_list.pb.gz > override_list.pb
Utilizza protoc
per esaminarlo come testo:
protoc --decode_raw < override_list.pb > output.txt
Su GitHub è disponibile una tassonomia completa di argomenti con ID.
Invio di feedback o input sul modello di classificazione
Esistono diversi canali per fornire feedback sull'API Topics. Per feedback sul modello di classificazione, ti consigliamo di inviare un problema relativo a GitHub o rispondere a un problema esistente. Ad esempio:
- Quali tassonomia degli argomenti dovrebbero essere utilizzati a lungo termine?
- Cosa succede se un sito non è d'accordo con gli argomenti assegnati?
Come vengono selezionati i cinque argomenti più apprezzati dall'utente
L'API restituisce un argomento per ogni epoca, fino a un massimo di tre. Se vengono restituiti tre argomenti, sono inclusi gli argomenti per l'epoca corrente e i due precedenti.
- Alla fine di ogni epoca, il browser compila un elenco di pagine che soddisfano i seguenti criteri:
- La pagina è stata visitata dall'utente durante il periodo in questione.
- La pagina include codice che chiama
document.browsingTopics()
. - L'API è stata abilitata (ad esempio, non è stata bloccata dall'utente o tramite un'intestazione della risposta).
- Il browser sul dispositivo dell'utente utilizza il modello di classificazione fornito dall'API Topics per mappare il nome host di ogni pagina a un elenco di argomenti.
- Il browser accumula l'elenco di argomenti.
- Il browser genera un elenco dei cinque argomenti principali in base alla frequenza.
Il metodo document.browsingTopics()
restituisce quindi un argomento casuale tra i primi cinque per ogni epoca, con una probabilità del 5% che uno qualsiasi di questi possa essere scelto in modo casuale dalla tassonomia completa degli argomenti. In Chrome, gli utenti possono anche rimuovere singoli argomenti o cancellare la propria cronologia di navigazione per ridurre il numero di argomenti restituiti dall'API. Gli utenti possono anche disattivare l'API.
Puoi visualizzare informazioni sugli argomenti osservati durante il periodo corrente nella pagina chrome://topics-internals
.
In che modo l'API decide quali chiamanti vedono quali argomenti
I chiamanti dell'API ricevono soltanto gli argomenti che hanno osservato di recente e gli argomenti per un utente vengono aggiornati una volta in ogni epoca. Ciò significa che l'API fornisce una finestra temporale in cui un determinato chiamante può ricevere determinati argomenti.
La tabella che segue mostra un esempio (anche se non realisticamente piccolo) di una cronologia di navigazione ipotetica di un utente durante un singolo epoca, mostrando gli argomenti associati ai siti che ha visitato e i chiamanti dell'API presenti su ogni sito (le entità che chiamano document.browsingTopics()
nel codice JavaScript incluso nel sito).
Sito | Argomenti | Chiamanti API sul sito |
---|---|---|
yoga.example | Fitness | adtech1.example adtech2.example |
knitting.example | Artigianato | adtech1.example |
vacanze-escursioni.example | Fitness, viaggi e Trasporti | adtech2.example |
diy-clothing.example | Artigianato, Moda e Stile | [nessuno] |
Alla fine del periodo (attualmente una settimana), l'API Topics genera gli argomenti principali del browser per la settimana.
- adtech1.example è ora idoneo a ricevere l'"Fitness" e "Crafts" poiché li ha osservati su yoga.example e anche su knitting.example.
- adtech1.example non è idoneo a ricevere il badge "Viaggi & Trasporti" argomento per questo utente in quanto non è presente su tutti i siti che l'utente ha visitato di recente associati a quell'argomento.
- adtech2.example ha visto "Fitness" e "Viaggi e Trasporti" ma non ha visto i "Lavori" per ogni argomento.
L'utente ha visitato diy-clothing.example, in cui è presente l'opzione "Moda & Stile" ma non c'erano chiamate all'API Topics su quel sito. A questo punto, significa che la "Moda & Stile" non verrebbe restituito dall'API per nessun chiamante.
Nella seconda settimana, l'utente visita un altro sito:
Sito | Argomenti | Chiamanti API sul sito |
---|---|---|
sewing.example | Artigianato | adtech2.example |
Inoltre, il codice di adtech2.example viene aggiunto a diy-clothing.example:
Sito | Argomenti | Chiamanti API sul sito |
---|---|---|
diy-clothing.example | Artigianato, Moda e Stile | adtech2.example |
Oltre che per "Fitness" e "Viaggi e Trasporti" dalla settimana 1, questo significa che adtech2.example potrà ricevere i "Artigianato" e "Moda e Stile" ma non prima dell'epoca successiva, la settimana 3. Ciò garantisce che le terze parti non possano saperne di più sul passato di un utente (in questo caso, un interesse per la moda) rispetto a quanto potrebbero fare con i cookie.
Dopo altre due settimane, "Fitness" e "Viaggi e Trasporti" può eliminare dall'elenco degli argomenti idonei di adtech2.example se l'utente non visita siti con questi argomenti che includono codice di adtech2.example.
Controlli per gli utenti, trasparenza e disattivazione
Gli utenti devono essere in grado di comprendere lo scopo dell'API Topics, riconoscere ciò che viene detto al riguardo, sapere quando l'API è in uso e disporre di controlli per abilitarla o disabilitarla.
La tassonomia leggibile dell'API consente agli utenti di conoscere e controllare gli argomenti che possono essere suggeriti per loro dal browser. Gli utenti possono rimuovere gli argomenti che in particolare non vogliono che l'API Topics condivida con inserzionisti o publisher. Inoltre, possono essere disponibili controlli per informare l'utente dell'API e mostrare come attivarla o disattivarla. Chrome fornisce informazioni e impostazioni per l'API Topics all'indirizzo chrome://settings/adPrivacy
. Inoltre, gli argomenti non sono disponibili per i chiamanti dell'API in modalità di navigazione in incognito e vengono cancellati quando viene cancellata la cronologia di navigazione.
L'elenco di argomenti restituiti sarà vuoto se:
- L'utente disattiva l'API Topics tramite le impostazioni del browser all'indirizzo
chrome://settings/adPrivacy
. - L'utente ha cancellato gli argomenti (tramite le impostazioni del browser all'indirizzo
chrome://settings/adPrivacy
) o i cookie. - Il browser è in modalità di navigazione in incognito.
Nell'email esplicativa vengono forniti ulteriori dettagli sugli obiettivi relativi alla privacy e su come l'API cerca di raggiungerli.
Disattivazione del sito
Oltre alla possibilità per l'utente di disattivare Topics, puoi anche disattivare Topics per il tuo sito o le relative pagine. La Guida per gli sviluppatori spiega come.
Utilizzo dell'API Topics sui siti web con prebid.js
Come indicato nella versione di Prebid 7, la community ha sviluppato attivamente un'integrazione con l'API Topics tramite un nuovo modulo. Questo modulo è stato unito a dicembre 2022.
Scopri di più qui:
- Leggi la documentazione del modulo API Topics di Prebid.
- Per ulteriori informazioni, contatta Prebid.js tramite il canale standard che offre.
Passaggi successivi
- Se sei uno sviluppatore di ad tech, sperimenta e partecipa con l'API Topics.
- Leggi la guida per gli sviluppatori per accedere a risorse più approfondite.
- Consulta la guida all'integrazione dell'API Topics per i dettagli su casi d'uso specifici di ad tech.
Interagisci e condividi il tuo feedback
- GitHub: leggi il spiegazione dell'API Topics, solleva domande e segui la discussione in merito ai problemi relativi al repository dell'API.
- W3C: analizza i casi d'uso del settore nell'Migliorare il Web Advertising Business Group.
- Annunci: visualizza o partecipa alla mailing list.
- Assistenza per gli sviluppatori di Privacy Sandbox: fai domande e partecipa alle discussioni nel repository dell'assistenza per gli sviluppatori di Privacy Sandbox.
- Chromium: segnala un bug di Chromium per porre domande sull'implementazione attualmente disponibile per i test in Chrome.