Ejecute pruebas A/B

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

La API de Shared Storage es una Propuesta de zona de pruebas para almacenamiento entre sitios de uso general, que admite muchas posibles casos de uso. Un ejemplo son las pruebas A/B, que están disponibles para probar en Chrome 104.0.5086.0 y versiones posteriores.

Puedes asignar un usuario a un grupo experimental y, luego, almacenarlo en la opción Compartidos Almacenamiento al que se accederá en un entorno entre sitios.

Prueba A/B Testing

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. Habilita todas las APIs de privacidad en los anuncios de chrome://settings/adPrivacy.

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 determinar si un experimento tiene el efecto deseado, puedes ejecutar pruebas A/B en varios sitios. Como anunciante o productor de contenido, puedes optar por renderizar contenido o anuncios diferentes según el grupo al que esté asignado el usuario. La asignación del grupo se guarda en el almacenamiento compartido, pero no se puede robar.

En este ejemplo:

  • ab-testing.js debe estar incorporado en un marco, que asigna un control y dos contenidos del 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 muestra.

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 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 prácticos

Estos son solo algunos de los casos de uso posibles del almacenamiento compartido. Más tarde continuamos agregando ejemplos a medida que recibir comentarios y descubrir nuevos casos de uso.

Selección de contenido

seleccionar y mostrar contenido diferente en distintos sitios web de marcos vallados basados en información que se recopilan en el almacenamiento compartido. La puerta de salida para estos casos de uso es la selección de URL.

  • Rotación de creatividades: Almacene datos, como el ID de la creatividad, la cantidad de vistas y la interacción del usuario, para determinar qué usuarios de creatividades tienen ven en diferentes sitios.
  • Pruebas A/B: Puedes asignar un usuario a un grupo experimental y, luego, almacenar ese grupo en el almacenamiento compartido para que se pueda acceder a él desde varios sitios.
  • Experiencias del usuario personalizadas: Compartir contenido personalizado y llamados a la acción en función del estado de registro del usuario o de otros estados

Genera informes de resumen

Recopilamos información con el almacenamiento compartido y generamos un informe de resumen acumulado y ruidoso. La puerta de salida para estos casos de uso es la API de Private Aggregation

  • Medición de alcance único: Muchos productores y anunciantes de contenido la gente vio su contenido. Usar el almacenamiento compartido para registrar la primera vez que un usuario vieron tu anuncio, un video incorporado o una publicación y evitan la duplicación el recuento de ese mismo usuario en distintos sitios. Luego, puedes usar la API de Private Aggregation para generar un informe resumido para tu alcance.
  • Medición de datos demográficos: Los productores de contenido suelen querer comprender público. Puede usar el almacenamiento compartido para registrar datos demográficos de usuarios de un contexto donde lo tienes, como tu sitio de origen, y utiliza las para generar informes sobre él en muchos otros sitios, como el contenido incorporado.
  • Medición de frecuencia K+: A veces se describe como "frecuencia efectiva", suele haber un número mínimo vistas antes de que el usuario reconozca o recuerde cierto contenido (a menudo, en el contexto de las vistas de los anuncios). Puedes usar el almacenamiento compartido para crear informes de usuarios únicos que han visto cierto contenido al menos K veces.

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.