Utilizza un worklet dello spazio di archiviazione condiviso per eseguire i test A/B.
L'API Shared Storage è una proposta Privacy Sandbox per uso generico tra siti, che supporta molti possibili casi d'uso. Un esempio è il test A/B, disponibile per i test in Chrome 104.0.5086.0 e versioni successive.
Puoi assegnare un utente a un gruppo sperimentale e poi archiviarlo in Archiviazione condivisa in modo che sia accessibile 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.
// 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 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);
Casi d'uso
Questi sono solo alcuni dei possibili casi d'uso dell'archiviazione condivisa. Continueremo ad aggiungere esempi man mano che riceveremo feedback e scopriremo nuovi casi d'uso.
Selezione contenuti
Selezionare e visualizzare contenuti diversi su siti web diversi all'interno di frame recintati in base alle informazioni raccolte nello spazio di archiviazione condiviso. La porta di output per questi casi d'uso è la selezione dell'URL.
- Rotazione creatività: memorizza dati quali ID creatività, numero di visualizzazioni e interazione dell'utente per determinare quali creatività verranno visualizzate dagli utenti sui diversi siti.
- Test A/B: puoi assegnare un utente a un gruppo di esperimenti e poi archiviare il gruppo nello spazio di archiviazione condiviso per accedervi tra siti.
- Esperienze utente personalizzate: condividi contenuti e inviti all'azione personalizzati in base allo stato di registrazione di un utente o ad altri stati dell'utente.
Generare report di riepilogo
Raccogli informazioni con lo spazio di archiviazione condiviso e genera un report di riepilogo aggregato e fittizio. La porta di output per questi casi d'uso è l'API Private Aggregation.
- Misurazione della copertura unica: molti produttori di contenuti e inserzionisti vogliono sapere quante persone uniche hanno visto i loro contenuti. Utilizza lo spazio di archiviazione condiviso per registrare la prima volta che un utente ha visualizzato l'annuncio, il video incorporato o la pubblicazione ed evitare un conteggio duplicato dello stesso utente su siti diversi. Puoi 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 del loro pubblico. Puoi utilizzare lo spazio di archiviazione condiviso per registrare i dati demografici degli utenti in un contesto in cui sono disponibili, ad esempio il tuo sito proprietario, e utilizzare i report aggregati per generare report in merito su molti altri siti, ad esempio i contenuti incorporati.
- Misurazione della frequenza K+: a volte, come si parla di "frequenza effettiva", è spesso previsto un numero minimo di visualizzazioni prima che un utente riconosca o richiami determinati contenuti (spesso nel contesto delle visualizzazioni pubblicitarie). Puoi usare lo spazio di archiviazione condiviso per creare report relativi a utenti unici che hanno visto un contenuto almeno K volte.
Interagisci e condividi il tuo feedback
La proposta di spazio di archiviazione condiviso è in fase di discussione attiva e soggetta a modifiche in futuro. Se provi questa API e hai un feedback, ci farebbe piacere conoscere la tua opinione.
- GitHub: leggi la proposta, solleva le domande e partecipa alla discussione.
- Annunci relativi all'API Shared Storage: visualizza o partecipa agli annunci precedenti nella nostra mailing list
- Assistenza per gli sviluppatori: poni domande e partecipa alle discussioni sul repository dell'assistenza per gli sviluppatori di Privacy Sandbox.