Esegui test A/B

Utilizza un worklet dello spazio di archiviazione condiviso per eseguire i test A/B.

L'API Shared Storage è una soluzione Proposta di sandbox per uso generico, archiviazione cross-site, che supporta molti e i possibili casi d'uso. Un esempio è il test A/B, disponibile per testare in Chrome 104.0.5086.0 e versioni successive.

Puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Condivisi Archiviazione a cui accedere in un ambiente cross-site.

Prova il test A/B

Per eseguire esperimenti con i test A/B con Spazio di archiviazione condiviso, verifica di utilizzare Chrome 104.0.5086.0 o versioni successive. Attiva tutte le API di privacy per gli annunci in chrome://settings/adPrivacy.

Puoi anche abilitare Archiviazione condivisa con il flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames nella riga di comando.

Sperimenta con gli esempi di codice

Per vedere se un esperimento produce l'effetto desiderato, puoi eseguire test A/B su più siti. In qualità di inserzionista o produttore di contenuti, puoi scegliere di eseguire il rendering di diversi contenuti o annunci in base al gruppo a cui è assegnato l'utente. L'assegnazione al gruppo viene salvata nello spazio di archiviazione condiviso, ma non può essere esfiltrata.

In questo esempio:

  • ab-testing.js deve essere incorporato in un frame che mappa un controllo e due contenuti dell'esperimento. Lo script chiama il worklet dello spazio di archiviazione condiviso per l'esperimento.
  • ab-testing-worklet.js è il worklet dello spazio di archiviazione condiviso che restituisce il gruppo a cui è assegnato l'utente, determinando quale annuncio viene visualizzato.

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);

Casi d'uso

Questi sono solo alcuni dei possibili casi d'uso dell'archiviazione condivisa. Lo faremo ad aggiungere esempi mentre ricevere feedback e scoprire nuovi casi d'uso.

Selezione contenuti

Seleziona e visualizza contenuti diversi su siti web diversi in frame recintati in base alle informazioni raccolte in Archiviazione condivisa. Il gate di output per questi casi d'uso è la selezione dell'URL.

  • Rotazione creatività: Archivia i dati, come l'ID creatività, il numero di visualizzazioni e l'interazione dell'utente, per stabilire quali vedere su diversi siti.
  • Test A/B: Puoi assegnare un utente a un gruppo sperimentale e poi archiviarlo in Archiviazione condivisa per accedervi tra siti.
  • Esperienze utente personalizzate: Condividi contenuti personalizzati e inviti all'azione in base allo stato di registrazione o ad altri stati dell'utente

Generare report di riepilogo.

Raccogliere informazioni con l'archiviazione condivisa e generato un report di riepilogo aggregato e rumore. Il gate di output per questi casi d'uso è API Private Aggregation.

  • Misurazione della copertura unica: Molti produttori di contenuti e inserzionisti vogliono sapere quanti sono persone hanno visto i loro contenuti. Usare l'archiviazione condivisa per registrare la prima volta che un utente visto il tuo annuncio, il tuo video incorporato o la tua pubblicazione ed evitare duplicati conteggio dello stesso utente su siti diversi. Potrai quindi utilizzare l'API Private Aggregation per generare un report di riepilogo per la tua copertura.
  • Misurazione dei dati demografici: I produttori di contenuti spesso vogliono conoscere i dati demografici dei loro pubblico. Puoi utilizzare Shared Storage per registrare i dati demografici degli utenti in un contesto in cui si trova, ad esempio il sito proprietario, e utilizzano dati aggregati creare report su di essi su molti altri siti, come i contenuti incorporati.
  • Misurazione della frequenza K+: A volte descritto come "frequenza effettiva", spesso c'è un numero minimo visualizzazioni prima che un utente riconosca o richiami determinati contenuti (spesso nel nel contesto delle visualizzazioni dell'annuncio). Puoi utilizzare lo spazio di archiviazione condiviso per creare report di utenti unici che hanno visto un determinato contenuto almeno K di volte.

Interagisci e condividi il feedback

La proposta di spazio di archiviazione condiviso è in fase di discussione attiva ed è soggetta a modifiche in futuro. Se provi questa API e hai feedback, ci piacerebbe conoscere la tua opinione.