Mit der Auswahl einer URL können Sie festlegen, welche Inhalte einem Nutzer basierend auf seinen Daten im freigegebenen Speicher angezeigt werden sollen, ohne dass die zugrunde liegenden gespeicherten Daten offengelegt werden.
Wenn Sie datenschutzfreundlich Inhalte basierend auf websiteübergreifenden Daten anzeigen lassen möchten, können Sie die Select URL API verwenden. Die Select URL API eignet sich gut für Anwendungsfälle wie:
- A/B-Tests für Inhalte, um für eine einheitliche Nutzererfahrung auf mehreren Websites zu sorgen
- Es wird eine andere Anmeldeschaltfläche für Nutzer angezeigt, die ein Konto haben, und für Nutzer, die kein Konto haben.
- Durch die Rotation von Creatives wird eingeschränkt, wie oft ein Nutzer dieselbe Anzeige auf mehreren Websites sieht.
Was ist die Select URL API?
Mit der Select URL API können Sie anhand von websiteübergreifenden Daten zwischen mehreren URLs wählen. Die API basiert auf dem Shared Storage und verwendet einen SharedStorageWorklet
, um die verfügbaren websiteübergreifenden Daten zu lesen und eine der angegebenen URLs auszuwählen. Die ausgewählte URL wird an den Aufrufer zurückgegeben, sodass sie nur innerhalb eines eingegrenzten Frames gelesen werden kann. Die URL kann bis mindestens 2026 auch in einem iFrame gerendert werden.
Im vorherigen Diagramm kann die Website shoes.example
in andere Publisher-Websites wie news.example
eingebettet werden und trotzdem über die Auswahl der URL mit freigegebenem Speicher auf dieselben Daten zugreifen.
Funktionsweise von „URL auswählen“
Mit der Select URL API können Sie eine URL auswählen, die mithilfe von websiteübergreifenden Daten in einem Fenced Frame oder Iframe gerendert werden soll. Verwenden Sie JavaScript, um websiteübergreifende Daten im Shared Storage zu lesen und zu schreiben, und wählen Sie dann basierend auf Ihren gespeicherten Daten eine URL aus einer bereitgestellten Liste aus.
Die gerenderte URL kann beliebige Inhalte enthalten: Anzeigen, Artikel, Bilder, HTML, Calls-to-Action (z. B. Schaltflächen) und mehr.
In diesem Beispiel betreiben Sie eine Reisewebsite und führen eine Werbekampagne mit drei verschiedenen Creatives durch. Sie möchten diese Creatives basierend auf den Interaktionen der Nutzer (Aufruf oder Klick) abspielen.
Wenn auf einer Website zum ersten Mal ein Anzeigenblock ausgewählt wird, können Sie eine ID und den Klickstatus für das Creative im gemeinsamen Speicher speichern.
Beispiel:
await sharedStorage.set('last-creative', 'globe');
await sharedStorage.set('click', 'true');
Wenn Sie also eine Anzeigenauktion auf anderen Websites gewinnen, die dieser Nutzer besucht, können Sie basierend auf diesen Daten eine andere Anzeige schalten.
Ihr JavaScript wird in einem SharedStorageWorklet
ausgeführt, um diese Informationen abzurufen. Ihr Code kann jedoch nicht außerhalb des Iframes oder eingezäunten Frames auf der übergeordneten Seite interagieren oder kommunizieren.
Angenommen, Sie möchten testen, welcher Artikel in einem eingebetteten Kontext besser abschneidet. Um dies zu testen, können Sie einen Nutzer einer Testgruppe zuweisen, wenn Sie ihn auf Ihrer Website sehen, und diese Gruppen-ID dann im freigegebenen Speicher speichern, damit darauf im websiteübergreifenden Kontext zugegriffen werden kann. Auf einer anderen Website können Sie mit der Select URL API die am besten geeignete URL auswählen, die in einem abgegrenzten Frame gerendert werden soll. Dabei wird die Testgruppe des Nutzers berücksichtigt, die im Shared Storage gespeichert ist.
Mit der Funktion „URL auswählen“ können Sie fundierte Entscheidungen auf der Grundlage von websiteübergreifenden Daten treffen, ohne Nutzerdaten wie den Browserverlauf oder andere personenbezogene Details mit einer Website zu teilen, in die Sie Inhalte einbetten, oder Daten auf Ihre eigenen Server zu exfiltrieren.
Budgets
Um das Risiko von websiteübergreifenden Datenlecks zu minimieren, verwendet die Select URL API ein Budgetierungssystem mit einer Kombination aus langfristigen und kurzfristigen Budgets:
- Langfristiges Budget: Bei Verwendung von
selectURL()
beträgt das langfristige Budget 12 Bit pro Anruferwebsite und Tag. Dieses Budget wird nur in Rechnung gestellt, wenn im Frame, in dem die ausgewählte URL gehostet wird, eine Navigation auf oberster Ebene erfolgt. Die Kosten werden dann alslog2(number of URLs)
berechnet. Wenn Sie also 8 URLs zur Auswahl stellen, betragen die Kosten 3 Bit. Das verbleibende Budget für den Tag wird als12 - (sum of bits deducted in the last 24 hours)
berechnet. Wenn nicht genügend Budget übrig ist, wird die Standard-URL (die erste URL in der Liste) zurückgegeben und ein Bit wird protokolliert, wenn die Standard-URL aufgerufen wird. Kurzfristige Budgets: Zusätzliche Limits pro Seitenladevorgang, bis abgegrenzte Frames vollständig erzwungen werden und Berichte auf Ereignisebene verfügbar sind. Es gibt ein Budget von 6 Bit pro aufrufende Website und pro Seitenladevorgang, das begrenzt, wie viel eine einzelne aufrufende Website mit
selectURL()
preisgeben kann. Außerdem gibt es ein Budget von 12 Bits insgesamt pro Seitenladevorgang, das ein kombiniertes Limit für alle angerufenen Websites auf einer Seite darstellt.Mit gespeicherten Abfragen können Sie ein vorheriges
selectURL()
-Ergebnis auf derselben Seite wiederverwenden und so die kurzfristige Budgetnutzung reduzieren. WennselectURL()
zum ersten Mal mit einem gespeicherten Abfragenamen aufgerufen wird, wird der resultierende Index für die gesamte Lebensdauer der Seite gespeichert. WennselectURL()
mit demselben gespeicherten Abfragenamen für nachfolgende Aufrufe aufgerufen wird, wird der gespeicherte Index zurückgegeben und der registrierte Vorgang wird nicht ausgeführt. In diesem Fall wird das Budget nur bei der ersten Verwendung belastet, nicht aber bei einer erneuten Verwendung innerhalb desselben Seitenaufbaus, da keine neuen Informationen angezeigt werden.Sie können gespeicherte Abfragen implementieren, indem Sie dem Optionsobjekt die Property „savedQuery“ mit dem ausgewählten Abfragenamen hinzufügen, wie in diesem Beispiel gezeigt.
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;
Anwendungsfälle für die URL API auswählen
Wenn Sie eine Website mit Funktionen erstellen, die in verschiedenen Domains funktionieren müssen, haben Sie möglicherweise einen der folgenden Anwendungsfälle:
- Anzeigen-Creatives rotieren: Begrenzen Sie, wie oft ein Nutzer dieselbe Anzeige auf mehreren Websites sieht. Speichern Sie dazu Daten wie Creative-ID, Aufrufzahlen und Nutzerinteraktionen, um zu bestimmen, welche Creatives Nutzern auf verschiedenen Websites präsentiert werden. So kannst du die Anzahl der Aufrufe ausbalancieren und eine Übersättigung bestimmter Inhalte vermeiden, um negative Nutzererfahrungen zu vermeiden. Weitere Informationen zu diesem Anwendungsfall finden Sie unter Creatives für Anzeigen rotieren.
- Creatives nach Häufigkeit auswählen: Sie können die Anzahl der Browseraufrufe im gemeinsamen Speicher speichern, um zu begrenzen, wie oft ein Nutzer dieselbe Anzeige auf verschiedenen Websites sieht. Weitere Informationen zu diesem Anwendungsfall finden Sie unter Anzeigen-Creative nach Häufigkeit auswählen.
- Nutzererfahrung für bekannte Kunden anpassen: Bieten Sie eine einheitliche Nutzererfahrung auf Ihren verschiedenen Domains. Sie können benutzerdefinierte Inhalte und Calls-to-Action basierend auf dem Registrierungsstatus oder anderen Nutzerstatus präsentieren und so ein einheitliches Nutzererlebnis auf Ihren verschiedenen Domains bieten. Weitere Informationen zu diesem Anwendungsfall finden Sie unter Nutzererfahrung für bekannte Kunden anpassen.
- A/B-Tests durchführen: Bei einem A/B-Test werden zwei oder mehr Versionen einer Konfiguration verglichen, um diejenige zu ermitteln, die die beste Leistung erzielt. Sie können einem Nutzer eine Testgruppe zuweisen und diese Gruppe dann im gemeinsamen Speicher für den websiteübergreifenden Zugriff speichern. So können Sie Statistiken zum Nutzerverhalten in Ihrem Websitenetzwerk erheben, ohne einzelne Nutzer zu erfassen. Weitere Informationen zu diesem Anwendungsfall finden Sie unter A/B-Tests ausführen.
Mit der Select URL API mit freigegebenen Speichern können Sie diese Anwendungsfälle entwickeln, da Sie auf verschiedenen Websites der obersten Ebene auf denselben Speicher zugreifen können.
Demo ausprobieren
Sie können die Funktion „URL auswählen“ mit der Demo für freigegebenen Speicher ausprobieren.
Diese Demo wurde aus der Perspektive eines Werbetreibenden, eines Anbieters von Anzeigentechnologien, eines Content-Distributors oder eines anderen Drittanbieterdienstes erstellt, der Informationen auf den Websites verschiedener Publisher speichern möchte. In der Demo wird für jeden Anwendungsfall derselbe Drittanbietercode auf den Websites von Publisher A und Publisher B ausgeführt. Auf der Seite jedes Publishers sehen Sie, wie die Daten websiteübergreifend weitergegeben werden.
Sie können sich den Code für die Demo auch auf GitHub ansehen.
API-Status
Die Select URL API ist allgemein verfügbar. Wenn Sie die Select URL API verwenden oder für die lokale Entwicklung aktivieren möchten, folgen Sie der Anleitung zur Registrierung für die Privacy Sandbox.
Vorschlag | Status |
---|---|
Berichte auf Ereignisebene für die Inhaltsauswahl (selectURL() ) |
Mindestens bis 2026 verfügbar |
Budgetierung pro Website Erläuterung |
Verfügbar in M119 |
Fehlerbehebung bei Shared Storage-Worklets mithilfe der DevTools-Seite |
Verfügbar in M120 |
Feedback geben und erhalten
Der Vorschlag für die Select URL API befindet sich in der aktiven Diskussion und Entwicklung und kann sich ändern.
Wir würden uns sehr über Ihr Feedback zur Select URL API freuen.
- Angebot: Sehen Sie sich das detaillierte Angebot an.
- Diskussion: Nehmen Sie an der laufenden Diskussion teil, um Fragen zu stellen und Ihre Erkenntnisse zu teilen.
Auf dem Laufenden bleiben
- Mailingliste: Melden Sie sich für unsere Mailingliste an, um aktuelle Informationen und Ankündigungen zu den APIs „Select URL“ und „Shared Storage“ zu erhalten.
Benötigst du Hilfe?
- Entwicklersupport: Im Repository für den Privacy Sandbox-Entwicklersupport können Sie sich mit anderen Entwicklern austauschen und Antworten auf Ihre Fragen erhalten.