Ejecute pruebas A/B

Usa un worklet de almacenamiento compartido para ejecutar pruebas A/B.

La API de Shared Storage es una propuesta de Privacy Sandbox para el almacenamiento de uso general entre sitios, que admite muchos casos de uso posibles. Un ejemplo de esto son las pruebas A/B, que están disponibles para probarlas en Chrome 104.0.5086.0 y versiones posteriores.

Puedes asignar un usuario a un grupo experimental y, luego, almacenarlo en un almacenamiento compartido para que se pueda acceder a él en un entorno de varios sitios.

Prueba las pruebas A/B

Para experimentar con las pruebas A/B con el almacenamiento compartido, confirma que estás usando Chrome 104.0.5086.0 o una versión posterior. Luego, habilita la marca Experimento de las APIs de anuncios de Privacy Sandbox en chrome://flags/#privacy-sandbox-ads-apis.

Habilita el experimento de las APIs de anuncios de Privacy Sandbox para poder usar estas APIs

También puedes habilitar el almacenamiento compartido con la marca --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames en la línea de comandos.

Experimenta con muestras de código

Para ver si un experimento tiene el efecto deseado, puedes realizar pruebas A/B en varios sitios. Como anunciante o productor de contenido, puedes elegir renderizar contenido o anuncios diferentes en función del grupo al que esté asignado el usuario. La asignación del grupo se guarda en el almacenamiento compartido, pero no se puede exfiltrar.

En este ejemplo:

  • ab-testing.js debe estar incorporado en un marco, que asigna un control y dos contenidos de experimento. La secuencia de comandos llama al worklet de almacenamiento compartido del experimento.
  • ab-testing-worklet.js es el worklet de almacenamiento compartido que muestra a qué grupo está asignado el usuario y determina qué anuncio se mostrará.

ab-testing.js

// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Register the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('ab-testing-worklet.js');

  // Assign user to a random group (0 or 1) and store it in Shared Storage
  window.sharedStorage.set('ab-testing-group', getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    'ab-testing',
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` }
    ],
    {
      resolveToConfig: true
    }
  );

  // Render the chosen URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectContent();

ab-testing-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from Shared Storage
    const experimentGroup = await this.sharedStorage.get('ab-testing-group');

    // Return the corresponding URL (first or second item in the array)
    return urls.indexOf(experimentGroup);
  }
}

register('ab-testing', SelectURLOperation);

Casos de uso

Estos son solo algunos de los posibles casos de uso del almacenamiento compartido. Seguiremos agregando ejemplos a medida que recibimos comentarios y descubramos nuevos casos de uso.

Selección de contenido

Selecciona y muestra contenido diferente en distintos sitios web en marcos vallados según la información recopilada en el almacenamiento compartido. La puerta de salida para estos casos de uso es la selección de la URL.

  • Rotación de creatividades: Almacena datos, como el ID de la creatividad, la cantidad de vistas y la interacción de los usuarios, para determinar qué creatividades verán los usuarios en los diferentes sitios.
  • Pruebas A/B: Puedes asignar un usuario a un grupo experimental y, luego, almacenarlo en el almacenamiento compartido para que se pueda acceder a él entre sitios.
  • Experiencias del usuario personalizadas: Comparte contenido personalizado y llamados a la acción basados en el estado de registro de un usuario o en otros estados del usuario.

Genera informes de resumen

Recopila información con el almacenamiento compartido y genera un informe resumido y ruidoso. La puerta de salida para estos casos de uso es la API de agregación privada.

  • Medición de alcance único: Muchos productores y anunciantes de contenido quieren saber cuántas personas únicas vieron su contenido. Usa el almacenamiento compartido para registrar la primera vez que un usuario vio tu anuncio, video incorporado o publicación, y evita que ese mismo usuario se duplique en sitios diferentes. Luego, puedes usar la API de Private Aggregation para generar un informe de resumen de tu alcance.
  • Medición de datos demográficos: Los productores de contenido suelen querer comprender los datos demográficos de su público. Puedes usar el almacenamiento compartido para registrar datos demográficos de los usuarios en un contexto en el que los tengas, como tu sitio de origen, y usar informes agregados para generar informes sobre ellos en muchos otros sitios, como el contenido incorporado.
  • Medición de frecuencia K+: A veces se describe como "frecuencia efectiva", a menudo, hay una cantidad mínima de vistas antes de que un usuario reconozca o recuerde cierto contenido (a menudo, en el contexto de vistas de anuncios). Puedes usar el almacenamiento compartido para crear informes de usuarios únicos que hayan visto contenido al menos K veces.

Interactúa y comparte comentarios

La propuesta de almacenamiento compartido se encuentra en debate activo y sujeta a cambios en el futuro. Si pruebas esta API y tienes comentarios, nos encantaría recibirlos.