Panoramica degli URL selezionati

L'API Select URL ti consente di scegliere quali contenuti mostrare a un utente in base ai dati di Shared Storage, senza rivelare i dati archiviati sottostanti.

Nei casi in cui vuoi mostrare contenuti basati su dati cross-site in modo rispettoso della privacy, puoi utilizzare l'API Select URL. L'API Select URL funziona bene per casi d'uso come:

  • Test A/B dei contenuti per un'esperienza utente coerente su più siti.
  • Mostrare un pulsante di accesso diverso per gli utenti che hanno un account e per quelli che non ne hanno uno.
  • Alternare le creatività pubblicitarie per limitare la frequenza con cui un utente visualizza lo stesso annuncio su più siti.

Che cos'è l'API Select URL?

L'API Select URL ti consente di scegliere tra un insieme di URL in base ai dati cross-site. L'API è basata su Shared Storage e utilizza un SharedStorageWorklet per leggere i dati cross-site disponibili e selezionare uno degli URL forniti. L'URL selezionato viene restituito al chiamante in modo da impedirne la lettura tranne che all'interno di un frame recintato. L'URL può essere visualizzato anche in un iframe almeno fino al 2026.

Diagramma che mostra l'iframe shoes.example incorporato nei siti di diversi editori, tra cui news.example e blog.example. Il sito shoes.com può accedere al proprio spazio di archiviazione non partizionato da ogni sito di primo livello.

Nel diagramma precedente, il sito shoes.example può essere incorporato in altri siti publisher come news.example e accedere comunque agli stessi dati utilizzando Select URL con Shared Storage per scegliere i contenuti appropriati da incorporare.

Come funziona Seleziona URL

Puoi utilizzare l'API Select URL per selezionare un URL da visualizzare in un fenced frame o in un iframe utilizzando dati cross-site. Utilizza JavaScript per leggere e scrivere dati cross-site in Shared Storage, poi seleziona un URL da un elenco fornito in base ai dati archiviati.

Qualsiasi sito o origine registrato può scrivere dati in Shared Storage, poi i siti possono leggere questi dati solo con l'API Select URL.

L'URL di rendering può includere qualsiasi tipo di contenuto: annunci, articoli, immagini, HTML, inviti all'azione (ad esempio pulsanti) e altro ancora.

In questo esempio, gestisci un sito di viaggi e pubblichi una campagna pubblicitaria con tre diverse creatività pubblicitarie. Vuoi mettere in sequenza queste creatività in base alle interazioni dell'utente (visualizzazione o clic).

Tre creatività dell'annuncio, mostrate agli utenti in base alla loro precedente interazione.
La prima creatività per un nuovo spettatore dice: "Parti per la tua prossima avventura". Con una sola visualizzazione e nessun clic, la creatività successiva che l'utente vede dice "Scopri le gite fuori porta per il weekend". Dopo la visualizzazione o il clic, la terza creatività invita gli utenti a "Fare clic per ottenere lo sconto per l'hotel". Se l'utente fa clic sul primo annuncio, l'annuncio successivo che vedrà è la terza creatività.

Quando un sito rileva per la prima volta uno spazio pubblicitario vincente, puoi memorizzare un ID e lo stato del clic per quella creatività in Shared Storage.

Ad esempio:

await sharedStorage.set('last-creative', 'globe');
await sharedStorage.set('click', 'true');

Ciò significa che quando vinci un'asta dell'annuncio su altri siti visitati da questo utente, puoi mostrare un annuncio diverso in base a questi dati.

Procedura dettagliata di Shared Storage con tre creatività dell'annuncio e interazione dell'utente.

Il tuo JavaScript viene eseguito in un SharedStorageWorklet per recuperare queste informazioni, ma il tuo codice non può interagire o comunicare al di fuori dell'iframe o del fenced frame nella pagina principale.

Un altro esempio è il test per scoprire quale articolo ha un rendimento migliore in un contesto incorporato. Per testare questa funzionalità, puoi assegnare un utente a un gruppo di esperimento quando lo vedi sul tuo sito, quindi memorizzare l'ID gruppo in Shared Storage per accedervi in un contesto cross-site. In un altro sito, puoi utilizzare l'API Select URL per scegliere l'URL più appropriato da visualizzare in un frame isolato, in base al gruppo di esperimenti dell'utente memorizzato in Shared Storage.

L'utilizzo di Seleziona URL ti consente di prendere decisioni informate in base ai dati cross-site, senza condividere informazioni utente (come la cronologia del browser o altri dettagli personali) con un sito di incorporamento o estrarre dati sui tuoi server.

Budget

Per ridurre il rischio di perdita di dati cross-site, l'API Select URL utilizza un sistema di budgeting con una combinazione di budget a lungo e breve termine:

  • Budget a lungo termine: il budget a lungo termine è 12 bit per sito chiamante, al giorno quando utilizzi selectURL(). Questo budget viene addebitato solo se il frame che ospita l'URL selezionato esegue una navigazione di primo livello, in cui il costo viene calcolato come log2(number of URLs). Pertanto, se fornisci 8 URL tra cui scegliere, il costo è di 3 bit. Il budget rimanente per la giornata viene calcolato come 12 - (sum of bits deducted in the last 24 hours). Se il budget rimanente non è sufficiente, viene restituito l'URL predefinito (il primo URL nell'elenco) e viene registrato 1 bit se viene visitato l'URL predefinito.
  • Budget a breve termine: i budget a breve termine sono limiti aggiuntivi per caricamento di pagina fino a quando i fenced frame non saranno completamente applicati e mentre è disponibile la generazione di report a livello di evento. Esiste un budget di 6 bit per sito chiamante, per caricamento di pagina che limita la quantità di dati che un singolo sito chiamante può divulgare utilizzando selectURL(). Esiste anche un budget di 12 bit totali per caricamento pagina, che è un limite combinato per tutti i siti di chiamata su una pagina.

    Le query salvate ti consentono di riutilizzare un risultato selectURL() precedente nella stessa pagina, riducendo l'utilizzo del budget a breve termine. Quando selectURL() viene chiamato con un nome di query salvato per la prima volta, l'indice risultante viene memorizzato per la durata della pagina. Quando selectURL() viene chiamato con lo stesso nome della query salvata per le chiamate successive, viene restituito l'indice memorizzato e l'operazione registrata non viene eseguita. In questo caso, il budget viene addebitato solo al primo utilizzo, ma non in caso di riutilizzo all'interno dello stesso caricamento di pagina, poiché non vengono rivelate nuove informazioni.

    Puoi implementare le query salvate aggiungendo la proprietà savedQuery con il nome della query che hai scelto all'oggetto options, come mostrato in questo esempio.

    const topProductUrls = [
      { url: 'https://ad.example/default-top-product.html' },
      { url: 'https://ad.example/experiment-top-product.html' }];
    const relatedProductUrls = [
      { url: 'https://ad.example/default-related-product.html' },
      { url: 'https://ad.example/experiment-related-product.html' }];
    
    // This is the first call to `selectURL()` with `savedQuery: 'control_or_experiment'`
    // on this page, so it will be charged to both per-page budgets.
    const topProductsConfig = await sharedStorage.selectURL(
      'productExperiment', topProductUrls, {
        savedQuery: 'control_or_experiment',
        keepAlive: true,
        resolveToConfig: true
    });
    document.getElementById('topProductsFencedFrame').config = topProductsConfig;
    
    // This next call with this savedQuery won't charge either of the per-page budgets.
    const relatedProductConfig = await sharedStorage.selectURL(
      'productExperiment', relatedProductUrls, {
        savedQuery: 'control_or_experiment',
        resolveToConfig: true
    });
    document.getElementById("relatedProductFencedFrame").config = relatedProductConfig;
    

Seleziona i casi d'uso dell'API URL

Se stai creando un sito web con funzionalità che devono funzionare su domini diversi, potresti trovarti in uno dei seguenti casi d'uso:

  • Alterna creatività annuncio: limita la frequenza con cui un utente visualizza lo stesso annuncio su più siti memorizzando dati come l'ID creatività, i conteggi delle visualizzazioni e l'interazione dell'utente per determinare quali creatività vengono visualizzate dagli utenti su diversi siti. In questo modo, puoi bilanciare le visualizzazioni ed evitare la sovrasaturazione di determinati contenuti per limitare una possibile esperienza utente negativa. Per saperne di più su questo caso d'uso, consulta Ruotare le creatività degli annunci.
  • Seleziona la creatività annuncio in base alla frequenza: memorizza i conteggi delle visualizzazioni del browser in Shared Storage per limitare la frequenza con cui un utente visualizza lo stesso annuncio su più siti. Per maggiori informazioni su questo caso d'uso, consulta Selezionare una creatività pubblicitaria in base alla frequenza.
  • Personalizza l'esperienza utente per i clienti noti: offri un'esperienza coerente nei diversi domini. Condividi contenuti personalizzati e inviti all'azione in base allo stato di registrazione di un utente o ad altri stati dell'utente e offri un'esperienza coerente nei diversi domini. Per saperne di più su questo caso d'uso, consulta Personalizzare l'esperienza utente per i clienti noti.
  • Esegui test A/B: un test A/B confronta due o più versioni di una configurazione per determinare quale ha il rendimento migliore. Puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Shared Storage per l'accesso cross-site. In questo modo puoi raccogliere informazioni sul comportamento degli utenti nella tua rete di siti, senza monitorare le singole persone. Per ulteriori informazioni su questo caso d'uso, consulta Eseguire test A/B.

L'API Select URL con Shared Storage ti consente di sviluppare questi casi d'uso avendo accesso allo stesso spazio di archiviazione su diversi siti di primo livello.

Sperimenta con la demo

Puoi sperimentare la selezione dell'URL utilizzando la demo di Shared Storage.

Questa demo è costruita dal punto di vista di un inserzionista, una tecnologia pubblicitaria, un distributore di contenuti o un altro servizio di terze parti che vuole archiviare informazioni sui siti di diversi editori. Nella demo, lo stesso codice di terze parti viene eseguito sui siti dell'editore A e dell'editore B per ogni caso d'uso. Visita la pagina di ogni editore per vedere come vengono condivisi i dati in un contesto cross-site.

Puoi anche esaminare il codice della demo su GitHub.

Stato dell'API

L'API Select URL è in disponibilità generale. Per utilizzare l'API Select URL o attivarla per lo sviluppo locale, segui le istruzioni per registrarti a Privacy Sandbox.

Proposta Stato
Report a livello di evento per la selezione dei contenuti (selectURL()) Disponibile almeno fino al 2026
Budget per sito
Spiegazione
Disponibile in M119
Sezione: debug dei worklet dello spazio di archiviazione condiviso con DevTools
Disponibile in M120

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.