Utilizza un worklet dello spazio di archiviazione condiviso per eseguire test A/B.
L'API Shared Storage è una proposta di Privacy Sandbox per l'archiviazione cross-site per uso generico, che supporta molti possibili casi d'uso. Un esempio è il test A/B, disponibile per il test in Chrome 104.0.5086.0 e versioni successive.
Puoi assegnare un utente a un gruppo di esperimenti, quindi archiviare il gruppo in Shared Storage per accedervi in un ambiente cross-site.
Prova il test A/B
Per sperimentare i test A/B con Shared Storage, verifica di utilizzare Chrome 104.0.5086.0 o versioni successive. Abilita tutte le API per la privacy degli annunci in chrome://settings/adPrivacy.
Puoi anche attivare Shared Storage con il flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames nella riga di comando.
Sperimenta con esempi di codice
Per verificare se un esperimento ha l'effetto desiderato, puoi eseguire test A/B su più siti. In qualità di inserzionista o produttore di contenuti, puoi scegliere di visualizzare contenuti o annunci diversi in base al gruppo a cui è assegnato l'utente. L'assegnazione del gruppo viene salvata nello spazio di archiviazione condiviso, ma non può essere esfiltrata.
In questo esempio:
ab-testing.jsdeve 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 di archiviazione condivisa che restituisce il gruppo a cui è assegnato l'utente, determinando quale annuncio viene mostrato.
// 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();
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
Tutti i casi d'uso disponibili per l'API Select URL sono disponibili in questa sezione. Continueremo ad aggiungere esempi man mano che riceviamo feedback e scopriamo nuovi casi di test.
- Ruota le creatività degli annunci: memorizza i dati, ad esempio l'ID creatività e l'interazione degli utenti, per determinare la creatività che gli utenti vedono su siti diversi.
- Seleziona le creatività degli annunci in base alla frequenza: utilizza i dati sul conteggio delle visualizzazioni per determinare quali creatività vengono visualizzate dagli utenti su siti diversi.
- Esegui test A/B: puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Shared Storage per accedervi su più siti.
- Personalizza l'esperienza per i clienti noti: condividi contenuti personalizzati e inviti all'azione in base allo stato di registrazione o ad altri stati dell'utente.
Partecipare e condividere feedback
Tieni presente che la proposta dell'API Select URL è in fase di discussione e sviluppo ed è soggetta a modifiche.
Non vediamo l'ora di conoscere la tua opinione sull'API Select URL.
- Proposta: rivedi la proposta dettagliata.
- Discussione: partecipa alla discussione in corso per porre domande e condividere le tue informazioni.