Seleccionar una creatividad según la frecuencia

Ejecutar un worklet de almacenamiento compartido para seleccionar una URL y renderizarla en un marco vallado

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 es el control de frecuencia, que está disponible para en Chrome Beta 104.0.5086.0 y versiones posteriores.

Ejecutar una secuencia de comandos de worklet para seleccionar una URL de una lista proporcionada, según la ubicación y, luego, renderizar esa URL en un marco cercado. Se puede usar para seleccionar anuncios nuevos o cualquier otro tipo de contenido cuando se alcanza el límite de frecuencia.

Cómo probar la selección de creatividades por frecuencia

Para probar la selección de creatividades por frecuencia con Almacenamiento compartido y Marcos cercados, confirma que estás con 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 seleccionar y crear una URL opaca, registra un módulo del worklet para leer contenido compartido de almacenamiento de Google. La clase worklet recibe una lista de hasta ocho URLs y, luego, muestra el índice de la URL elegida.

Cuando el cliente llama a sharedStorage.selectURL(), el worklet Se ejecuta y muestra una URL opaca que se renderizará en un marco vallado.

Supongamos que deseas seleccionar un anuncio o contenido diferente para renderizar, según la frecuencia con la que un usuario lo vio antes. Puedes contar cuántas veces un usuario vio un contenido y almacenar ese valor en el almacenamiento compartido. Una vez almacenado, el valor del almacenamiento compartido estará disponible para ti en diferentes orígenes.

Luego, el worklet del almacenamiento compartido lee los valores del almacenamiento compartido y aumenta el contador con cada vista adicional. Si el recuento no alcanzó el límite predefinido, se devuelve el contenido que deseas renderizar (índice 1). De lo contrario, se muestra la URL predeterminada (índice 0).

En este ejemplo:

  • creative-selection-by-frequencyjs se carga a través del iframe del productor de contenido o del anunciante, y es responsable para cargar el worklet de almacenamiento compartido y renderizar el elemento opaco que se muestra de origen en un marco vallado.
  • creative-selection-by-frequency-worklet.js es el worklet del almacenamiento compartido que lee la frecuencia para determinar qué URL se muestra para un contenido o una creatividad de anuncio.

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

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

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

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.