Seleziona una creatività per frequenza

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

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 controllo della frequenza, disponibile per 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 alle ed eseguire il rendering dell'URL in un frame recintato. Può essere utilizzato per selezionare nuovi annunci o altri contenuti al raggiungimento del 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 recintati, conferma di utilizzando 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 selezionare e creare un URL opaco, registra un modulo di worklet da leggere archiviazione dati. La classe di worklet riceve un elenco di massimo otto URL e poi restituisce l'indice dell'URL scelto.

Quando il client chiama sharedStorage.selectURL(), il worklet esegue e restituisce un URL opaco da visualizzare in un frame recintato.

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

Quindi, il worklet dello spazio di archiviazione condiviso legge i valori nello spazio di archiviazione condiviso e incrementa il contatore a ogni visualizzazione aggiuntiva. Se il conteggio non ha raggiunto il limite predefinito, vengono restituiti i contenuti di cui vuoi eseguire il rendering (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 per il caricamento del worklet dello spazio di archiviazione condiviso e il rendering dell'opaco restituito in un frame recintato.
  • creative-selection-by-frequency-worklet.js è il worklet dello spazio di archiviazione condiviso che legge le il conteggio della frequenza per determinare quale URL viene restituito per un contenuto o una creatività dell'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 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);

Casi d'uso

Questi sono solo alcuni dei possibili casi d'uso dello spazio di archiviazione condiviso. Continueremo ad aggiungere esempi man mano che riceviamo feedback e scopriamo nuovi casi d'uso.

Selezione contenuti

Seleziona e mostra contenuti diversi su siti web diversi in frame delimitati in base alle informazioni raccolte in Spazio di archiviazione condiviso. Il gate di output per questi casi d'uso è la selezione dell'URL.

  • Rotazione delle creatività: memorizza i dati, ad esempio l'ID creatività, il numero di visualizzazioni e l'interazione degli utenti, per determinare quali creatività vengono visualizzate dagli utenti su siti diversi.
  • Test A/B: puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Spazio di archiviazione condiviso per accedervi su più siti.
  • Esperienza utente personalizzata: condividi contenuti e inviti all'azione personalizzati in base allo stato di registrazione o ad altri stati dell'utente

Genera report di riepilogo

Raccogliere informazioni con lo spazio di archiviazione condiviso e generare un report di riepilogo aggregato con dati non significativi. Il gate di output per questi casi d'uso è l'API Private Aggregation.

  • Misurazione della copertura unica: molti creator di contenuti e inserzionisti vogliono sapere quante persone uniche hanno visualizzato i loro contenuti. Utilizza lo spazio di archiviazione condiviso per registrare la prima volta che un utente ha visualizzato il tuo annuncio, il tuo video incorporato o la tua pubblicazione ed evitare il conteggio duplicato dello stesso utente su siti diversi. A questo punto, puoi utilizzare l'API Private Aggregation per generare un report di riepilogo per la tua copertura.
  • Misurazione dei dati demografici: gli autori di contenuti spesso vogliono comprendere 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 li hai, ad esempio il tuo sito proprietario, e utilizzare i report aggregati per generare report su molti altri siti, ad esempio i contenuti incorporati.
  • Misurazione della frequenza K+: a volte descritta come "frequenza effettiva", spesso è necessario un numero minimo di visualizzazioni prima che un utente riconosca o ricordi determinati contenuti (spesso nel contesto delle visualizzazioni degli annunci). Puoi utilizzare lo spazio di archiviazione condiviso per creare report sugli utenti unici che hanno visualizzato un contenuto almeno K volte.

Coinvolgere e condividere feedback

Tieni presente che la proposta dell'API Shared Storage è in discussione e in fase di sviluppo ed è quindi soggetta a modifiche.

Non vediamo l'ora di conoscere la tua opinione sull'API Shared Storage.

Tenersi informati

  • Mailing list: iscriviti alla nostra mailing list per ricevere gli ultimi aggiornamenti e annunci relativi all'API Shared Storage.

Hai bisogno di aiuto?