Panoramica degli URL selezionati

L'URL selezionato ti consente di scegliere i contenuti da mostrare a un utente in base ai suoi dati di archiviazione condiviso, senza rivelare i dati archiviati sottostanti.

Se vuoi mostrare contenuti in base a dati cross-site in modo rispettoso della privacy, puoi utilizzare l'API Select URL. L'API Select URL è ideale 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 lo hanno.
  • La rotazione delle 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 tra siti. L'API è basata su Shared Storage e utilizza un SharedStorageWorklet per leggere i dati disponibili tra siti e selezionare uno degli URL forniti. L'URL selezionato viene restituito all'autore della chiamata in modo da impedirne la lettura tranne che all'interno di un frame delimitato. L'URL può essere visualizzato anche in un iframe fino almeno al 2026.

Diagramma che mostra l'iframe di shoes.example incorporato nei siti di diversi publisher, 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 di editori come news.example e continuare ad accedere agli stessi dati utilizzando Seleziona URL con archiviazione condivisa per scegliere i contenuti appropriati da incorporare.

Come funziona l'URL selezionato

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

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

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

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

Tre creatività dell'annuncio, che vengono mostrate agli utenti in base alla loro interazione precedente.
La prima creatività per un nuovo spettatore è "Inizia la tua prossima avventura". Dopo una sola visualizzazione e nessun clic, la creatività successiva che l'utente vede è "Esplora le fughe del fine settimana". Dopo la visualizzazione o il clic, la terza creatività invita gli utenti a fare clic per ottenere lo sconto sull'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 dei clic per la creatività in Spazio di archiviazione condiviso.

Ad esempio:

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

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

Procedura dettagliata di archiviazione condivisa con tre creatività dell'annuncio e interazione utente.

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

Un altro esempio è il test dell'articolo che ha un rendimento migliore in un contesto incorporato. Per testarlo, puoi assegnare un utente a un gruppo sperimentale quando lo vedi sul tuo sito, quindi memorizzare l'ID gruppo in Shared Storage per accedervi in un contesto cross-site. Su un altro sito, puoi utilizzare l'API Select URL per scegliere l'URL più appropriato da visualizzare in un frame delimitato, in base al gruppo sperimentale dell'utente archiviato in Shared Storage.

L'utilizzo di URL selezionato ti consente di prendere decisioni consapevoli in base ai dati cross-site, senza condividere informazioni sugli utenti (ad esempio la cronologia del browser o altri dettagli personali) con un sito di incorporamento o esfiltrare i dati sui tuoi server.

Budget

Per ridurre il rischio di fuga di dati tra siti, 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. L'eventuale 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 si accede all'URL predefinito.
  • Budget a breve termine: i budget a breve termine sono limiti aggiuntivi per caricamento di pagina fino a quando i frame delimitati non vengono applicati completamente e mentre sono disponibili i 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 complessivi per caricamento pagina, che è un limite combinato per tutti i siti di chiamata in 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 query salvato per la prima volta, l'indice risultante viene memorizzato per tutta la durata della pagina. Quando selectURL() viene chiamato con lo stesso nome della query salvata per le chiamate di follow-up, 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 ai riutilizzi all'interno dello stesso caricamento della pagina, poiché non vengono rivelate nuove informazioni.

    Puoi implementare le query salvate aggiungendo la proprietà savedQuery con il nome della query 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 in diversi domini, potresti avere uno dei seguenti casi d'uso:

  • Ruota le creatività degli annunci: limita la frequenza con cui un utente visualizza lo stesso annuncio su più siti memorizzando dati, come l'ID creatività, il numero di visualizzazioni e l'interazione degli utenti, per determinare quali creatività gli utenti vedono su siti diversi. In questo modo puoi bilanciare le visualizzazioni ed evitare la saturazione di determinati contenuti per limitare una possibile esperienza utente negativa. Per ulteriori informazioni su questo caso d'uso, consulta Ruotare le creatività degli annunci.
  • Seleziona la creatività dell'annuncio in base alla frequenza: memorizza i conteggi delle visualizzazioni del browser nello spazio di archiviazione condiviso 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à dell'annuncio in base alla frequenza.
  • Personalizza l'esperienza utente per i clienti noti: offri un'esperienza coerente su tutti i tuoi diversi domini. Condividi contenuti personalizzati e pozivi all'azione in base allo stato di registrazione o ad altri stati dell'utente e offri un'esperienza coerente nei tuoi diversi domini. Per ulteriori informazioni 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 quella con il rendimento migliore. Puoi assegnare un utente a un gruppo sperimentale, quindi archiviare il gruppo in Spazio di archiviazione condiviso per l'accesso tra siti. In questo modo puoi raccogliere informazioni sul comportamento degli utenti nella tua rete di siti senza monitorare le persone. Per ulteriori informazioni su questo caso d'uso, consulta Eseguire test A/B.

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

Fai esperimenti con la demo

Puoi fare esperimenti con l'URL selezionato utilizzando la demo dello spazio di archiviazione condiviso.

Questa demo è stata creata dal punto di vista di un inserzionista, di un fornitore di tecnologia pubblicitaria, di un distributore di contenuti o di un altro servizio di terze parti che vuole archiviare informazioni su diversi siti di publisher. Nella demo, lo stesso codice di terze parti viene eseguito su entrambi i siti dell'Editore A e dell'Editore B per ogni caso d'uso. Visita la pagina di ciascun editore per scoprire 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

Coinvolgere e condividere feedback

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

Saremo lieti di conoscere la tua opinione sull'API Select URL.

Rimani al passo con le notizie

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

Hai bisogno di aiuto?