Selecciona una URL según los datos recopilados en el almacenamiento compartido y renderiza el contenido en un marco protegido.
Con la API de Shared Storage, puedes seleccionar una URL para que se renderice en un marco cercado con datos entre sitios. Usa JavaScript para leer y escribir datos entre sitios y, luego, selecciona una URL de una lista proporcionada según tus datos almacenados. Puedes renderizar esa URL en un marco con cerca.
La selección de URLs puede incluir cualquier tipo de contenido: anuncios, artículos, imágenes, HTML, llamados a la acción (como botones) y mucho más.
Por ejemplo, supongamos que administras un sitio de viajes y publicas una campaña publicitaria con tres creatividades publicitarias diferentes. Deseas crear una secuencia de estas creatividades según las interacciones del usuario (vista o clic).
Cuando un usuario observa por primera vez un espacio de anuncio ganador, puedes almacenar un ID y el estado de clic de esa creatividad en el almacenamiento compartido. Esto significa que, cuando ganes una subasta de anuncios en otros sitios que visite este usuario, podrás mostrar un anuncio diferente según esos datos.
Tu código JavaScript se ejecuta en un worklet para recuperar esta información, pero no puede interactuar con el marco de iframe ni con el marco cercado de la página superior ni comunicarse fuera de ellos.
Veamos otro ejemplo. Supongamos que te interesa probar qué artículo tendría un mejor rendimiento en un contexto incorporado. Puedes asignar un usuario a un grupo de experimentos cuando lo veas en tu sitio y, luego, almacenar ese ID de grupo en el almacenamiento compartido para acceder a él en un contexto de varios sitios. En otro sitio, tu marco delimitado puede seleccionar una URL según el grupo de experimentos de ese usuario como se almacena con el almacenamiento compartido.
El almacenamiento compartido te permite tomar decisiones fundamentadas en datos de varios sitios sin compartir información del usuario (como el historial del navegador o cualquier otro detalle personal) con un sitio de incorporación ni extraer datos a tus propios servidores.
Casos de uso
La selección de URLs con el almacenamiento compartido admite casos de uso como los siguientes:
- Rota las creatividades de anuncios: Puedes almacenar datos, como el ID de la creatividad y la interacción del usuario, para determinar qué creatividades ven los usuarios en diferentes sitios.
- Frecuencia: Los recuentos de vistas del navegador se pueden almacenar en el almacenamiento compartido y usarse para decidir qué creatividad se muestra a un usuario.
- Ejecuta pruebas A/B: Asigna un usuario a un grupo de experimentos y, luego, almacena ese ID de grupo con el almacenamiento compartido para acceder a él en varios sitios.
- Personaliza la experiencia del usuario: comparte contenido personalizado y llamados a la acción según el estado de registro o de verificación de un usuario.
Presupuestos
Para mitigar el riesgo de filtración de datos entre sitios, la API de Select URL usa un sistema de asignación de presupuestos con una combinación de presupuestos a largo y corto plazo:
- Presupuesto a largo plazo: 12 bits por sitio de llamador por día cuando se usa
selectURL()
. Este presupuesto solo se cobra si el marco que aloja la URL seleccionada realiza una navegación de nivel superior, en la que el costo se calcula comolog2(number of URLs)
. Por lo tanto, si proporcionas 8 URLs para elegir, el costo es de 3 bits. El presupuesto restante del día se calcula como12 - (sum of bits deducted in the last 24 hours)
y, si no hay suficiente presupuesto, se muestra la URL predeterminada (la primera URL de la lista) y se registra 1 bit si se navega a la URL predeterminada. Presupuestos a corto plazo: Son límites adicionales por carga de página. Hay un presupuesto de 6 bits por carga de página por sitio de llamada que limita la cantidad de información que un solo sitio de llamada puede filtrar con
selectURL()
. También hay un presupuesto de 12 bits de carga general por página, que es un límite combinado para todos los sitios de llamada en una página.Las consultas guardadas te permiten volver a usar un resultado
selectURL()
anterior en la misma página, lo que reduce el uso del presupuesto a corto plazo. Cuando se llame aselectURL()
con un nombre de consulta guardado por primera vez, el índice resultante se almacenará durante el ciclo de vida de la página. Cuando se llame aselectURL()
con el mismo nombre de consulta guardado para las llamadas de seguimiento, se mostrará el índice almacenado y no se ejecutará la operación registrada. En este caso, el presupuesto solo se cobrará en el primer uso, pero no en los reusos dentro de la misma carga de página, ya que no se revela información nueva.Para implementar las consultas guardadas, agrega la propiedad
savedQuery
, con el nombre de la consulta que elegiste, al objeto de opciones, como se muestra en el siguiente ejemplo.const topProductUrls = [ { url: 'https://ad.example/default-top-product.html' }, { url: 'https://ad.example/experiment-top-product.html' }]; const relatedProductUrls = [ { url: 'https://ad.example/default-related-product.html' }, { url: 'https://ad.example/experiment-related-product.html' }]; // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'` // on this page, so it will be charged to both per-page budgets. const topProductsConfig = await sharedStorage.selectURL( 'productExperiment', topProductUrls, { savedQuery: 'control_or_experiment', keepAlive: true, resolveToConfig: true }); document.getElementById('topProductsFencedFrame').config = topProductsConfig; // This next call with this savedQuery won't charge either of the per-page budgets. const relatedProductConfig = await sharedStorage.selectURL( 'productExperiment', relatedProductUrls, { savedQuery: 'control_or_experiment', resolveToConfig: true }); document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
Prueba la selección de URLs
La selección de URLs con la API de Shared Storage está disponible para pruebas en Chrome Canary/Dev/Beta M105 y versiones posteriores. Para probar la selección de URLs, habilita todas las APIs de privacidad en los anuncios en chrome://settings/adPrivacy
.
Experimenta con la demostración
Hay una demo disponible, y puedes revisar el código en GitHub.
Esta demostración se crea desde la perspectiva de un anunciante, una tecnología publicitaria, un distribuidor de contenido o cualquier otro servicio de terceros que desee almacenar información en diferentes sitios de publicadores. En la demostración, el mismo código de terceros se ejecuta en los sitios del publicador A y del publicador B para cada caso de uso. Visita la página de cada publicador para ver cómo se comparten los datos en un contexto entre sitios.
Interactúa y comparte tus comentarios
La propuesta de almacenamiento compartido se está debatiendo y está sujeta a cambios en el futuro. Si pruebas esta API y tienes comentarios, nos encantaría recibirlos.
- GitHub: Consulta el la propuesta, llegar al informe, presentar preguntas y participar en el debate.
- Anuncios de la API de Shared Storage: únete a nuestra lista de distribución o mira anuncios anteriores.
- Asistencia para desarrolladores: Haz preguntas y únete a debates en el Repo de asistencia para desarrolladores de Privacy Sandbox.