Guía para desarrolladores sobre las subastas de anuncios integradas en el dispositivo para publicar anuncios de remarketing y públicos personalizados, sin seguimiento de terceros entre sitios.
Si no conoces la API de Protected Audience, lee la descripción general de la API de Protected Audience para obtener una explicación general de la API.
Esta entrada está escrita para desarrolladores como referencia técnica de la iteración más reciente de la API experimental de Protected Audience. Hay disponible una demostración de una implementación básica de la API de Protected Audience, así como referencias de la API para compradores y vendedores de anuncios.
Estado de implementación
- La propuesta de la API de Protected Audience ahora pasará a la disponibilidad general. Hacer preguntas y seguir el debate
- Estado de las capacidades pendientes de la API de Protected Audience: Se detallan los cambios y las mejoras en la API y las funciones de la API de Protected Audience.
- Estado de Blink
- Estado de la plataforma de Chrome de la API de Protected Audience: Específico de la API de Protected Audience en Chrome.
- Estado de la plataforma de Chrome de la API de Ads: Es una colección de APIs para facilitar la publicidad: API de Protected Audience, Topics, marcos protegidos y Attribution Reporting.
Para recibir notificaciones sobre los cambios de estado en la API, únete a la lista de distribución de correo electrónico para desarrolladores.
¿Qué es la API de Protected Audience?
La API de Protected Audience es una API de Privacy Sandbox diseñada para publicar casos de uso de remarketing y públicos personalizados, y se diseñó de modo que los terceros no puedan usarla para hacer un seguimiento del comportamiento de navegación de los usuarios en diferentes sitios. La API habilita las subastas integradas en el dispositivo por parte del navegador para elegir anuncios relevantes para los sitios web que el usuario visitó anteriormente.
La API de Protected Audience es el primer experimento que se implementó en Chromium dentro de la familia de propuestas de TURTLEDOVE.
Prueba la API de Protected Audience
Referencia de la API disponible
En este documento, se ofrece una descripción general de la API de Protected Audience. Si buscas métodos y parámetros de API específicos, haz lo siguiente:
- Guía para compradores de
joinAdInterestGroup()ygenerateBid(). - Guía para vendedores de la API de Protected Audience
runAdAuction() - Guía para compradores de
reportWin()y guía para vendedores dereportResult() - Soluciona problemas de la API de Protected Audience
También puedes leer las prácticas recomendadas para la latencia de las subastas de anuncios de la API de Protected Audience.
Demostración de la API de Protected Audience
En protected-audience-demo.web.app/, se encuentra disponible una guía de implementación básica de la API de Protected Audience en los sitios de publicadores y anunciantes.
Probar esta API
Puedes probar la API de Protected Audience para un solo usuario en Chrome Beta 101.0.4951.26 y versiones posteriores en computadoras de escritorio:
- Habilita todas las APIs de Privacidad de anuncios en
chrome://settings/adPrivacy. - Establece marcas desde la línea de comandos. Puedes encontrar la lista completa de marcas disponibles de la API de Protected Audience en Chromium Code Search.
Renderiza anuncios en iframes o fenced frames
Los anuncios se pueden renderizar en un <iframe> o un <fencedframe>, según las marcas que se establezcan.
Para usar <fencedframe> para renderizar anuncios, haz lo siguiente:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Para usar <iframe> para renderizar anuncios, haz lo siguiente:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Incluye la marca BiddingAndScoringDebugReportingAPI para habilitar los métodos temporales de informes de pérdida o ganancia de depuración.
Funciones admitidas
La API de Protected Audience detrás de las marcas de funciones en Chromium es un primer experimento para probar las siguientes funciones de la API de Protected Audience:
- Grupos de intereses: Los almacena el navegador, con metadatos asociados para configurar la oferta y la renderización de anuncios.
- Ofertas integradas en el dispositivo de los compradores (DSP o anunciante): Se basan en los grupos de interés y los indicadores almacenados del vendedor.
- Selección de anuncios integrados en el dispositivo por parte del vendedor (SSP o publicador): Se basa en las ofertas de la subasta y los metadatos de los compradores.
- Renderización de anuncios en una versión temporalmente relajada de Fenced Frames: Se permite el acceso a la red y el registro para la renderización de anuncios.
Obtén más información sobre las restricciones y la compatibilidad con funciones en la explicación de la API de Protected Audience.
Permisos de grupos de interés
La implementación actual de la API de Protected Audience permite llamar a joinAdInterestGroup() desde cualquier lugar de una página, incluso desde iframes de origen cruzado.
En el futuro, una vez que los propietarios de sitios hayan tenido tiempo para actualizar sus políticas de permisos de iframe de varios dominios, el plan es rechazar las llamadas desde iframes de varios dominios.
Servicio de par clave-valor
Para admitir la subasta de anuncios de la API de Protected Audience, el navegador puede acceder a un servicio de clave/valor para recuperar información en tiempo real que admita la subasta de anuncios de la API de Protected Audience. Esta información se podría usar de varias maneras:
- Es posible que los compradores deseen calcular el presupuesto restante en una campaña publicitaria.
- Es posible que se les exija a los vendedores que verifiquen que las creatividades de los anuncios cumplan con las políticas de los publicadores.
Ya está disponible el código del servicio de clave-valor de la API de Protected Audience. Consulta la entrada de blog del anuncio para ver la actualización del estado.
Para las pruebas iniciales, se introdujo un modelo de "Trae tu propio servidor". A largo plazo, las tecnologías publicitarias deberán usar los servicios de par clave-valor de la API de Protected Audience de código abierto que se ejecutan en entornos de ejecución de confianza.
Consulta la publicación de blog sobre los servicios de la API de Protected Audience para obtener actualizaciones sobre la cronología. Les enviaremos a los desarrolladores un aviso con suficiente anticipación para que puedan comenzar a realizar pruebas y adoptar la nueva versión antes de que se produzca la transición.
Compatibilidad con la función de detección
Antes de usar la API, verifica si el navegador la admite y si está disponible en el documento:
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
¿Cómo funciona la API de Protected Audience?
En este ejemplo, un usuario navega por el sitio web de un fabricante de bicicletas personalizadas y, luego, visita un sitio web de noticias en el que se le muestra un anuncio de una bicicleta nueva del fabricante.
Las funciones de la API de Protected Audience se agregarán con el tiempo a medida que avance el trabajo de implementación.
1. Un usuario visita el sitio de un anunciante
Imagina que un usuario visita el sitio web de un fabricante de bicicletas personalizadas (el anunciante en este ejemplo) y pasa un tiempo en la página del producto de una bicicleta de acero hecha a mano. Esto le brinda al fabricante de bicicletas una oportunidad de remarketing.
2. Se le pide al navegador del usuario que agregue un grupo de interés
La plataforma orientada a la demanda (DSP) del anunciante (o el anunciante mismo) llama a navigator.joinAdInterestGroup() para pedirle al navegador que agregue un grupo de interés a la lista de grupos a los que pertenece el navegador.
En este ejemplo, el grupo se llama custom-bikes y el propietario es dsp.example. El propietario del grupo de interés (en este caso, la DSP) será un comprador en la subasta de anuncios de la API de Protected Audience. El navegador almacena la membresía del grupo de intereses en el dispositivo del usuario y no la comparte con el proveedor del navegador ni con nadie más.
- Lee el documento explicativo de la API de Protected Audience: Browsers Record Interest Groups.
- Lee la guía de la API: Los compradores y las DSP pueden aprender a
joinAdInterestGroup()y generar ofertas.
Especifica anuncios para un grupo de interés
Los objetos ads y adComponents incluyen una URL para una creatividad del anuncio y, de manera opcional, metadatos arbitrarios que se pueden usar en el momento de la oferta. Por ejemplo:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
¿Cómo realizan ofertas los compradores?
Se llama a generateBid() para cada grupo de interés del que forma parte el navegador, si se invita al propietario del grupo de interés a ofertar.
Lee la documentación para desarrolladores de generatedBid().
3. El usuario visita un sitio que vende espacio publicitario
Más tarde, el usuario visita un sitio que vende espacio publicitario, en este ejemplo, un sitio web de noticias. El sitio tiene inventario de anuncios, que vende de forma programática con licitaciones en tiempo real.
4. Se ejecuta una subasta de anuncios en el navegador
Es probable que la subasta de anuncios la ejecute el proveedor de la plataforma de proveedores (SSP) del publicador o el publicador mismo. El objetivo de la subasta es seleccionar el anuncio más adecuado para un solo espacio publicitario disponible en la página actual. La subasta tiene en cuenta los grupos de interés a los que pertenece el navegador, junto con los datos de los compradores de espacios publicitarios y los vendedores de los servicios de pares clave-valor.
- Lee la explicación de la API de Protected Audience: Los vendedores ejecutan subastas en el dispositivo
- Lee la guía de la API: Los vendedores pueden obtener más información sobre
runAdAuction()y las prácticas recomendadas para la latencia de la subasta de anuncios.
5. El vendedor y los compradores participantes solicitan datos en tiempo real del servicio de clave/valor.
Durante una subasta de anuncios, el vendedor puede solicitar datos en tiempo real sobre creatividades de anuncios específicas haciendo una solicitud a su servicio de clave/valor.
El vendedor puede solicitar esta información durante runAdAuction() a través de la propiedad trustedScoringSignalsUrl, junto con las claves de las propiedades renderUrl de todas las entradas en los campos ads y adComponents de todos los grupos de interés en la subasta.
Un comprador puede solicitar datos en tiempo real de su servicio de clave/valor con las propiedades trustedBiddingSignalsUrl y trustedBiddingSignalsKeys del argumento del grupo de interés que se pasa a navigator.joinAdInterestGroup().
Cuando se llama a runAdAuction(), el navegador realiza una solicitud al servidor de confianza de cada comprador de anuncios. La URL de la solicitud podría verse de la siguiente manera:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- La URL base proviene de
trustedBiddingSignalsUrl. - El navegador proporciona
hostname. - El valor de
keysse toma detrustedBiddingSignalsKeys.
La respuesta a esta solicitud es un objeto JSON que proporciona valores para cada una de las claves.
- Lee el documento explicativo de la API de Protected Audience: Cómo recuperar datos en tiempo real del servicio de clave/valor de la API de Protected Audience.
- Lee Cómo se hizo de código abierto el servicio de clave-valor de la API de Protected Audience.
6. Se muestra el anuncio ganador
La promesa que devuelve runAdAuction() se resuelve en un objeto de configuración de frame delimitado (FencedFrameConfig) cuando la marca resolveToConfig se establece en true en la configuración de la subasta. El iframe delimitado usa la configuración del iframe para navegar hacia el anuncio ganador, pero el incorporador del iframe no puede ver la URL del anuncio.
El objeto de configuración de fenced frame está disponible a partir de M114. Para obtener más información sobre el objeto FencedFrameConfig, consulta el artículo del blog de Chrome.
- Lee el documento explicativo de la API de Protected Audience: Los navegadores renderizan el anuncio ganador
7. Se informa el resultado de la subasta
El plan a largo plazo es permitir que el navegador informe los resultados de la subasta para el vendedor y los compradores con las APIs de Private Aggregation.
Como mecanismo temporal de informes a nivel del evento, el código que implementa reportResult() para el vendedor y reportWin() para el ofertante ganador puede llamar a la función sendReportTo(). Este método toma un solo argumento: una cadena que representa una URL que se recupera después de que finaliza la subasta y que codifica la información a nivel del evento que se debe informar.
- Lee la guía de la API: Obtén información sobre los informes de compradores y vendedores
8. Se registra un clic en un anuncio
Se registra un clic en un anuncio renderizado en un iframe delimitado. Para obtener más información sobre cómo podría funcionar, consulta Informes de anuncios en Fenced Frames.
¿Cuál es la diferencia entre la API de Protected Audience y TURTLEDOVE?
La API de Protected Audience es el primer experimento que se implementará en Chromium dentro de la familia de propuestas de TURTLEDOVE.
La API de Protected Audience sigue los principios de alto nivel de TURTLEDOVE. Parte de la publicidad en línea se basa en mostrar un anuncio a una persona potencialmente interesada que interactuó anteriormente con el anunciante o la red de publicidad. Históricamente, esto ha funcionado porque el anunciante reconoce a una persona específica mientras navega por los sitios web, lo que constituye una preocupación fundamental por la privacidad en la Web actual.
El objetivo de TURTLEDOVE es ofrecer una nueva API para abordar este caso de uso y, al mismo tiempo, ofrecer algunos avances clave en materia de privacidad:
- El navegador, no el anunciante, contiene la información sobre lo que el anunciante cree que le interesa a una persona.
- Los anunciantes pueden publicar anuncios basados en un interés, pero no pueden combinar ese interés con otra información sobre una persona, en particular, quién es o qué página visita.
La API de Protected Audience surgió de TURTLEDOVE y de una colección de propuestas relacionadas para realizar modificaciones que sirvieran mejor a los desarrolladores que usarían la API:
- En SPARROW: Criteo propuso agregar un modelo de servicio ("Gatekeeper") que se ejecute en un entorno de ejecución confiable (TEE). La API de Protected Audience incluye un uso más limitado de los TEE para la búsqueda de datos en tiempo real y la generación de informes agregados.
- Las propuestas TERN de NextRoll y PARRROT de Magnite describieron los diferentes roles que tenían los compradores y vendedores en la subasta en el dispositivo. El flujo de ofertas y puntuación de anuncios de la API de Protected Audience se basa en este trabajo.
- Las modificaciones de TURTLEDOVE de RTB House basadas en resultados y a nivel del producto mejoraron el modelo de anonimato y las capacidades de personalización de la subasta en el dispositivo.
- PARAKEET es la propuesta de Microsoft para un servicio de anuncios similar a TURTLEDOVE que se basa en un servidor proxy que se ejecuta en un TEE entre el navegador y los proveedores de tecnología publicitaria para anonimizar las solicitudes de anuncios y aplicar las propiedades de privacidad. La API de Protected Audience no adoptó este modelo de proxy. Estamos alineando las APIs de JavaScript para PARAKEET y la API de Protected Audience, en apoyo del trabajo futuro para combinar aún más las mejores funciones de ambas propuestas.
La API de Protected Audience aún no impide que la red publicitaria de un sitio web conozca los anuncios que ve una persona. Esperamos modificar la API para que sea más privada con el tiempo.
¿Se puede usar la API de Topics con la API de Protected Audience?
Sí. Un vendedor o un ofertante podría usar un tema observado para el usuario actual, proporcionado por la API de Topics, como información contextual. Un tema se puede incluir en las siguientes propiedades:
auctionSignals, una propiedad del objeto de configuración de la subasta que se pasa anavigator.runAdAuction()userBiddingSignals, una propiedad del objeto de configuración del grupo de interés que se pasa anavigator.joinAdInterestGroup()
Configuración del navegador disponible
Los usuarios pueden ajustar su participación en las pruebas de Privacy Sandbox en Chrome habilitando o inhabilitando el parámetro de configuración de nivel superior en chrome://settings/adPrivacy.
Durante las pruebas iniciales, las personas podrán usar este parámetro de configuración de alto nivel de Privacy Sandbox para inhabilitar la API de Protected Audience. Chrome planea permitir que los usuarios vean y administren la lista de grupos de interés a los que se agregaron en los sitios web que visitaron. Al igual que con las tecnologías de Privacy Sandbox, la configuración del usuario puede evolucionar con los comentarios de los usuarios, los reguladores y otras partes interesadas.
Seguiremos actualizando la configuración disponible en Chrome según las pruebas y los comentarios. En el futuro, planeamos ofrecer parámetros de configuración más detallados para administrar la API de Protected Audience y los datos asociados.
Los llamadores de API no pueden acceder a la membresía del grupo cuando los usuarios navegan en modo Incógnito, y la membresía se quita cuando los usuarios borran los datos del sitio.
¿El navegador almacena en caché los worklets de Protected Audience?
El navegador almacena en caché los recursos que contienen los worklets de Protected Audience: los worklets de generación de ofertas y de informes del comprador, y los worklets de informes y de puntuación de anuncios del vendedor. Puedes usar el encabezado Cache-Control para controlar el comportamiento del almacenamiento en caché.
Interactúa y comparte comentarios
Obtenga asistencia
Para hacer preguntas y obtener asistencia con la implementación, la demostración o la documentación, haz lo siguiente:
- GitHub: Lee la explicación, haz preguntas y sigue el debate.
- Demostración: Registra un problema en el repositorio de código de demostración.
- Implementación de Chrome: Si tienes errores o problemas con la implementación de Chrome de la API de Protected Audience, puedes ver los problemas existentes o registrar un problema nuevo.
Si tienes preguntas más generales sobre cómo satisfacer tus necesidades con la API de Protected Audience, presenta un problema en el repositorio de la API. También puedes analizar los casos de uso de la industria en el grupo de ubicaciones de la empresa para mejorar la publicidad web del W3C.
Usa el formulario de comentarios de Privacy Sandbox para compartir comentarios de forma privada con el equipo de Chrome fuera de los foros públicos.
Inhabilitación
¿Quieres inhabilitar la API de Protected Audience? Obtén información para bloquear el acceso a la API de Protected Audience como propietario de un sitio o usuario individual.
Mantente al día
- Para recibir notificaciones sobre los cambios en el estado de la API, únete a la lista de distribución de correo electrónico para desarrolladores.
- Para seguir de cerca todos los debates en curso sobre la API, haz clic en el botón Watch en la página de la API en GitHub. Para ello, debes tener o crear una cuenta de GitHub.
- Para recibir actualizaciones generales sobre Privacy Sandbox, suscríbete al feed RSS [Progress in the Privacy Sandbox].
- Únete a las llamadas programadas para la API de Protected Audience (cada dos semanas). Todos son bienvenidos a participar. Para hacerlo, primero únete al WICG. Puedes participar activamente o solo escuchar.