Lee cómo se infieren los temas, cómo se asignan a los navegadores de los usuarios y cómo los usuarios pueden controlar su lista de temas.
Estado de implementación
- La API de Topics completó la fase de debate público y, actualmente, está disponible para el 99% de los usuarios, con un escalamiento vertical hasta el 100%.
- Para proporcionar sus comentarios sobre la API de Topics, cree un problema en la explicación de Topics o participe en debates en el Better Web Advertising Business Group. La explicación tiene una serie de preguntas abiertas que aún requieren una mayor definición.
- El cronograma de Privacy Sandbox proporciona cronogramas de implementación para la API de Topics y otras propuestas de Privacy Sandbox.
- API de Topics: Las últimas actualizaciones detallan los cambios y mejoras en la API de Topics y las implementaciones.
¿Qué es un tema?
En la API de Topics, un tema es un tema que le interesa a un usuario según lo demuestran los sitios web que visita.
Los temas son un indicador que ayuda a las plataformas de tecnología publicitaria a seleccionar anuncios relevantes. A diferencia de las cookies de terceros, esta información se comparte sin revelar más información sobre el usuario o su actividad de navegación.
La API de Topics permite que terceros, como plataformas de tecnología publicitaria, observen temas de interés de un usuario y accedan a ellos. Por ejemplo, la API podría sugerir el tema "Fibra y artes textiles" a un usuario que visite el sitio web knitting.example
.
La lista de temas que usa la API de Topics es pública, seleccionada por humanos, legible por humanos y diseñada para evitar categorías sensibles. Esta es la lista actual, que se expandirá con el tiempo. La lista está estructurada como una taxonomía. Los temas pueden ser de alto nivel o más específicos. Por ejemplo, Food & Drink
es una categoría amplia, con una subcategoría Cooking & Recipes
. Las subcategorías se pueden dividir aún más en subcategorías adicionales.
Esta taxonomía de temas debe compensar la utilidad y la privacidad. Si los temas son demasiado específicos, se podrían usar para identificar a un usuario individual. Si son demasiado generales, no son útiles para seleccionar publicidad ni otro tipo de contenido.
La taxonomía de temas se construye teniendo en cuenta dos requisitos subyacentes:
- Admitir la publicidad basada en intereses
- Protege a los usuarios y protege su privacidad
Esto sugiere varias preguntas. Por ejemplo:
- ¿Cuál es la mejor manera de que la API infiera temas de interés para un usuario en función de su actividad de navegación y, al mismo tiempo, preserve la privacidad del usuario?
- ¿Cómo se podría estructurar la taxonomía para que sea más útil?
- ¿Qué elementos específicos debe incluir la taxonomía?
Cómo infiere la API temas para un sitio
Los temas derivan de un modelo clasificador que asigna nombres de host de sitios web a cero o más temas. Analizar información adicional (como las URLs completas o el contenido de la página) podría permitir anuncios más relevantes, pero también podría reducir la privacidad.
El modelo clasificador para asignar nombres de host a temas está disponible públicamente y, como se indica en la explicación, es posible ver los temas de un sitio a través de las herramientas para desarrolladores de los navegadores. Se espera que el modelo evolucione y mejore con el tiempo y que se actualice de forma periódica. Su frecuencia aún está en consideración.
Solo los sitios que incluyen código que llama a la API de Topics se incluyen en el historial de navegación apto para los cálculos de frecuencia de temas, y los llamadores de la API solo reciben los temas que observaron. En otras palabras, los sitios no son aptos para los cálculos de frecuencia de temas sin el sitio o un servicio incorporado que llame a la API.
Además, el emisor solo puede recibir temas que su código haya "visto". Por lo tanto, si el código de otro llamador registró un tema, por ejemplo, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
, para el navegador de un usuario y tu código no hizo que ese tema se registrara para el navegador de ese usuario, no podrás aprender de ese tema de interés para el navegador de ese usuario cuando llames a la API desde el código incorporado. Ten en cuenta que, debido a que la API ahora incluye principales como se observaron, el ejemplo anterior, /Autos & Vehicles/Motor Vehicles (By Type)/Hatchbacks
, también haría que se observen Autos & Vehicles
y Motor Vehicles
.
Los temas que se muestran para un usuario se vuelven a calcular para el llamador según el sitio de nivel superior. Por ejemplo, si adtech.example
solicita los temas del usuario el news-a.example
, el news-b.example
y, luego, el news-c.example
, los temas que se muestren a ellos se volverán a calcular en cada sitio. Esto significa que es probable que el llamador obtenga temas diferentes para un usuario en diferentes sitios de nivel superior, ya que los tres temas (máximo) que se muestran para un usuario se eligen de forma aleatoria entre los cinco principales durante los últimos tres ciclos de entrenamiento (con un 5% de probabilidades de obtener un tema aleatorio). Esto hace que sea más difícil para el llamador identificar a un usuario por sus temas, ya que es probable que sean diferentes en los distintos sitios de nivel superior (incluso para el mismo usuario, emisor y época).
El modelo clasificador
Los temas se seleccionan de forma manual para 50,000 dominios principales, y esta selección se usa para entrenar el clasificador. Esta lista se encuentra en override_list.pb.gz
, que está disponible en chrome://topics-internals/
en el modelo actual, en la pestaña Clasificador. La API usa las asociaciones de dominio a temas de la lista en lugar de la salida del modelo en sí.
![Página chrome://topics-internals con el panel Clasificador seleccionado.](https://developers.google.cn/static/privacy-sandbox/assets/images/chrometopics-internals-8d62cfff441e4.png?authuser=7&hl=es)
chrome://topics-internals
enumera la versión del modelo, su ruta de acceso y los temas asociados con cada host de la lista.Para ejecutar el modelo directamente, consulta la guía de TensorFlow para ejecutar un modelo.
Para inspeccionar el archivo override_list.pb.gz
, primero descomprímelo:
gunzip -c override_list.pb.gz > override_list.pb
Usa protoc
para inspeccionarlo como texto:
protoc --decode_raw < override_list.pb > output.txt
En GitHub, hay una taxonomía completa de temas con ID disponible.
Cómo proporcionar comentarios o entradas sobre el modelo clasificador
Hay varios canales para proporcionar comentarios sobre la API de Topics. Para obtener comentarios sobre el modelo de clasificación, te recomendamos que envíes un problema de GitHub o respondas uno existente. Por ejemplo:
- ¿Qué taxonomía de temas debería usarse a largo plazo?
- ¿Qué sucede si un sitio no está de acuerdo con los temas asignados?
Cómo se seleccionan los cinco temas principales del usuario
La API muestra un tema para cada época, hasta un máximo de tres. Si se devuelven tres, esto incluye temas para la época actual y las dos anteriores.
- Al final de cada época, el navegador compila una lista de páginas que cumplen con los siguientes criterios:
- El usuario visitó la página durante el ciclo de entrenamiento.
- La página incluye código que llama a
document.browsingTopics()
. - Se habilitó la API (por ejemplo, el usuario no la bloqueó ni un encabezado de respuesta).
- El navegador, en el dispositivo del usuario, usa el modelo de clasificación que proporciona la API de Topics para asignar el nombre de host de cada página a una lista de temas.
- El navegador acumula la lista de temas.
- El navegador genera una lista de los cinco temas principales según la frecuencia.
Luego, el método document.browsingTopics()
muestra un tema aleatorio de los cinco principales para cada época, con un 5% de probabilidades de que cualquiera de estos se elija de forma aleatoria de la taxonomía completa de temas. En Chrome, los usuarios también pueden quitar temas individuales o borrar su historial de navegación para reducir la cantidad de temas que muestra la API. Los usuarios también pueden inhabilitar la API.
Puedes ver información sobre los temas observados durante la época actual en la página chrome://topics-internals
.
Cómo decide la API qué llamadores ven qué temas
Los llamadores de API solo reciben los temas que observaron recientemente, y los temas de un usuario se actualizan una vez por cada época. Esto significa que la API proporciona una ventana móvil en la que un llamador determinado puede recibir ciertos temas.
En la siguiente tabla, se describe un ejemplo (aunque poco realista) de un historial de navegación hipotético para un usuario durante un solo ciclo de entrenamiento, que muestra los temas asociados con los sitios que visitó y los llamadores de la API presentes en cada sitio (las entidades que llaman a document.browsingTopics()
en el código JavaScript incluido en el sitio).
Sitio | Temas | Llamadores de API en el sitio |
---|---|---|
yoga.example | Fitness | adtech1.ejemplo adtech2.ejemplo |
knitting.example | Manualidades | adtech1.example |
ejemplo-de-vacaciones-de-excursionismo | Fitness, viajes y transporte | adtech2.example |
diy-clothing.ejemplo | Manualidades, moda y estilo | [ninguno] |
Al final de la época (actualmente, una semana), la API de Topics genera los temas principales del navegador para la semana.
- adtech1.example ahora es apto para recibir los temas "Entrenamiento" y "Manualidades", ya que los observó en yoga.example y knitting.example.
- adtech1.example no es apto para recibir el tema "Viajes y transporte" de este usuario, ya que no está presente en ningún sitio que el usuario visitó recientemente y que se asocie con ese tema.
- adtech2.example vio los temas "Entrenamiento" y "Viajes y transporte", pero no vio el tema "Manualidades".
El usuario visitó diy-clothing.example, que tiene el tema "Moda y estilo", pero no había llamadas a la API de Topics en ese sitio. En este punto, esto significa que la API no mostrará el tema “Fashion & Style” para ningún llamador.
En la segunda semana, el usuario visita otro sitio:
Sitio | Temas | Llamadores de API en el sitio |
---|---|---|
sewing.example | Manualidades | adtech2.example |
Además, el código de adtech2.example se agrega a diy-clothing.example:
Sitio | Temas | Llamadores de API en el sitio |
---|---|---|
diy-clothing.ejemplo | Manualidades, moda y estilo | adtech2.example |
Además de "Entrenamiento" y "Viajes y transporte" de la semana 1, esto significa que adtech2.example ahora podrá recibir los temas "Manualidades" y "Moda y estilo", pero no hasta la siguiente época, la semana 3. Esto garantiza que los terceros no puedan obtener más información sobre el pasado de un usuario (en este caso, un interés en la moda) de lo que podrían obtenerlas con las cookies.
Después de otras dos semanas, es posible que "Entrenamiento" y "Viajes y transporte" dejen de incluirse en la lista de temas aptos de adtech2.example si el usuario no visita ningún sitio con esos temas que incluyan el código de adtech2.example.
Controles de usuario, transparencia y inhabilitación
Los usuarios deben poder comprender el propósito de la API de Topics, reconocer lo que se dice sobre ellos, saber cuándo la API está en uso y recibir controles para habilitarla o inhabilitarla.
La taxonomía legible por humanos de la API permite que los usuarios conozcan y controlen los temas que se les pueden sugerir en su navegador. Los usuarios pueden quitar temas que específicamente no quieran que la API de Topics comparta con anunciantes o publicadores, y puede haber controles para informar al usuario sobre la API y mostrarle cómo habilitarla o inhabilitarla. Chrome proporciona información y configuración para la API de Topics en chrome://settings/adPrivacy
. Además, los temas no están disponibles para los llamadores de APIs en el modo Incógnito, y los temas se borran cuando se borra el historial de navegación.
La lista de temas que se muestran estará vacía en los siguientes casos:
- El usuario inhabilita la API de Topics a través de la configuración del navegador en
chrome://settings/adPrivacy
. - El usuario borró sus temas (a través de la configuración del navegador en
chrome://settings/adPrivacy
) o sus cookies. - El navegador está en modo Incógnito.
La explicación proporciona más detalles sobre los objetivos de privacidad y cómo la API busca abordarlos.
Inhabilitar sitio
Además de la capacidad del usuario de inhabilitar la función, puedes inhabilitar Topics en tu sitio o en sus páginas. En la guía para desarrolladores, se explica cómo hacerlo.
Usa la API de Topics en sitios web con prebid.js
Como se mencionó en el lanzamiento de Prebid 7, la comunidad desarrolló activamente una integración con la API de Topics a través de un módulo nuevo. Este módulo se combinó en diciembre de 2022.
Obtenga más información aquí:
- Lee la documentación del módulo de la API de Topics de Prebid.
- Para obtener más información, comunícate con Prebid.js a través de cualquier canal estándar que ofrezcan.
Próximos pasos
- Si desarrollas tecnología publicitaria, experimenta y participa con la API de Topics.
- Consulta la guía para desarrolladores si deseas obtener recursos más detallados.
- Consulta la guía de integración de la API de Topics para obtener detalles sobre casos de uso específicos de tecnología publicitaria.
Interactúa y comparte comentarios
- GitHub: Lee la explicación de la API de Topics, genera preguntas y sigue los debates sobre los problemas del repositorio de la API.
- W3C: Analiza los casos de uso del sector en el Optimizing Web Advertising Group Business Group.
- Anuncios: Únete a la lista de distribución o consúltala.
- Asistencia para desarrolladores de Privacy Sandbox: Haz preguntas y únete a debates en el repositorio de asistencia para desarrolladores de Privacy Sandbox.
- Chromium: Informa un error de Chromium para hacer preguntas sobre la implementación que se puede probar actualmente en Chrome.