Seleziona una creatività per frequenza

Esegui un worklet dello spazio di archiviazione condiviso per selezionare un URL e eseguirne il rendering in un frame isolato.

L'API Shared Storage è una proposta Privacy Sandbox per l'archiviazione tra siti per uso generico, che supporta molti casi d'uso possibili. Un esempio è il controllo della frequenza, disponibile per i test in Chrome Beta 104.0.5086.0 e versioni successive.

Esegui uno script di worklet per selezionare un URL da un elenco fornito, in base ai dati archiviati, quindi esegui il rendering dell'URL in un frame isolato. Questa opzione può essere utilizzata per selezionare nuovi annunci o altri contenuti quando è stato raggiunto il limite di frequenza.

Testare la selezione delle creatività in base alla frequenza

Per testare la selezione delle creatività in base alla frequenza con lo spazio di archiviazione condiviso e i frame Fenced, verifica di utilizzare Chrome 104.0.5086.0 o versioni successive. Attiva poi il flag Esperimento API annunci Privacy Sandbox all'indirizzo chrome://flags/#privacy-sandbox-ads-apis.

Attiva l'esperimento sulle API degli annunci di Privacy Sandbox per utilizzare queste API

Puoi anche attivare l'archiviazione condivisa con il flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames nella riga di comando.

Sperimenta con gli esempi di codice

Per selezionare e creare un URL opaco, registra un modulo di worklet per leggere i dati di archiviazione condivisi. La classe worklet riceve un elenco di massimo otto URL e poi restituisce l'indice dell'URL scelto.

Quando il client chiama sharedStorage.selectURL(), il worklet viene eseguito e restituisce un URL opaco che deve essere visualizzato in un frame delimitato.

Supponiamo che tu voglia selezionare un annuncio o un contenuto diverso da visualizzare in base alla frequenza di quante volte un utente li ha visualizzati in precedenza. Puoi contare quante volte un utente ha visualizzato un contenuto e archiviare il valore in uno spazio di archiviazione condiviso. Una volta archiviato, il valore nello spazio di archiviazione condiviso diventa disponibile per te tra origini diverse.

Quindi, il worklet dello spazio di archiviazione condiviso legge i valori nello spazio di archiviazione condiviso e incrementa il contatore per ogni visualizzazione aggiuntiva. Se il conteggio non ha raggiunto il limite predefinito, vengono restituiti i contenuti che desideri visualizzare (indice 1). In caso contrario, viene restituito l'URL predefinito (indice 0).

In questo esempio:

  • creative-selection-by-frequencyjs viene caricato tramite l'iframe del produttore di contenuti o dell'inserzionista ed è responsabile del caricamento del worklet dello spazio di archiviazione condiviso e del rendering dell'origine opaca restituita in un frame isolato.
  • creative-selection-by-frequency-worklet.js è il worklet dell'archiviazione condivisa che legge il conteggio della frequenza per determinare quale URL viene restituito per un contenuto o una creatività annuncio.

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 this.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 this.sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

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

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.