URL mit freigegebenem Speicher auswählen

Wählen Sie eine URL basierend auf Daten aus, die im freigegebenen Speicher erfasst wurden, und rendern Sie die Inhalte in einem abgegrenzten Frame.

Mit der Shared Storage API können Sie eine URL auswählen, die mit websiteübergreifenden Daten in einem abgegrenzten Frame gerendert werden soll. Verwenden Sie JavaScript, um websiteübergreifende Daten zu lesen und zu schreiben, und wählen Sie dann anhand Ihrer gespeicherten Daten eine URL aus einer bereitgestellten Liste aus. Sie können diese URL in einem begrenzten Frame rendern.

Die URL-Auswahl kann alle Arten von Inhalten umfassen: Anzeigen, Artikel, Bilder, HTML, Calls-to-Action (z. B. Schaltflächen) und mehr.

Angenommen, Sie betreiben eine Reisewebsite und schalten eine Werbekampagne mit drei verschiedenen Creatives. Sie möchten diese Creatives basierend auf den Interaktionen der Nutzer (Aufruf oder Klick) abspielen.

Drei Anzeigen-Creatives, die Nutzern basierend auf ihrer vorherigen Interaktion präsentiert werden.
Das erste Creative für einen neuen Zuschauer enthält den Slogan „Starte dein nächstes Abenteuer“. Bei einer reinen Aufrufung ohne Klick würde der Nutzer „Wochenendtrips entdecken“ sehen. Im dritten Creative werden Nutzer nach dem Ansehen oder Klicken aufgefordert, auf „Klicken, um Hotelrabatt zu erhalten“ zu klicken. Klickt der Nutzer auf die erste Anzeige, wird ihm als Nächstes das dritte Creative präsentiert.

Wenn ein Nutzer zum ersten Mal eine Anzeigenfläche sieht, die für die Auslieferung ausgewählt wurde, können Sie eine ID und den Klickstatus für das Creative im gemeinsamen Speicher speichern. Wenn Sie also eine Anzeigenauktion auf anderen Websites gewinnen, die dieser Nutzer besucht, können Sie anhand dieser Daten eine andere Anzeige schalten.

Schritt-für-Schritt-Anleitung für den gemeinsamen Speicher mit drei Creatives und Nutzerinteraktionen

Ihr JavaScript wird in einem Worklet 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.

Nehmen wir ein anderes Beispiel: Angenommen, Sie möchten testen, welcher Artikel in einem eingebetteten Kontext besser abschneidet. Sie können einem Nutzer eine 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 kann Ihr abgegrenzter Frame eine URL basierend auf der Testgruppe des Nutzers auswählen, die im gemeinsamen Speicher gespeichert ist.

Mit dem freigegebenen Speicher 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 eingebettet sind, oder Daten auf Ihre eigenen Server zu exfiltrieren.

Anwendungsfälle

Die URL-Auswahl mit freigegebenem Speicher unterstützt Anwendungsfälle wie die folgenden:

  • Creatives rotieren: Sie können Daten wie Creative-ID und Nutzerinteraktion speichern, um zu ermitteln, welches Creative Nutzer auf verschiedenen Websites sehen.
    • Häufigkeit. Die Anzahl der Browseraufrufe kann im gemeinsamen Speicher gespeichert und verwendet werden, um zu entscheiden, welches Creative einem Nutzer präsentiert wird.
  • A/B-Tests ausführen: Sie können einen Nutzer einer Testgruppe zuweisen und diese Gruppen-ID dann im freigegebenen Speicher speichern, um websiteübergreifend darauf zuzugreifen.
  • Nutzererfahrung anpassen: Sie können benutzerdefinierte Inhalte und Calls-to-Action basierend auf dem Registrierungsstatus oder anderen Bestätigungsstatus eines Nutzers teilen.

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: 12 Bit pro Anrufer pro Tag bei Verwendung von selectURL(). Dieses Budget wird nur berechnet, wenn im Frame, in dem die ausgewählte URL gehostet wird, eine Navigation auf oberster Ebene erfolgt. Die Kosten werden dann als log2(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 als 12 - (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. Es gibt ein Budget von 6 Bit pro anfragende Website und Seitenladevorgang, das die Menge der Daten begrenzt, die eine einzelne anfragende Website mit selectURL() weitergeben kann. Außerdem gibt es ein Budget von 12 Bit pro Seite, das ein kombiniertes Limit für alle Aufruf-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. Wenn selectURL() zum ersten Mal mit einem gespeicherten Abfragenamen aufgerufen wird, wird der resultierende Index für die gesamte Lebensdauer der Seite gespeichert. Wenn selectURL() 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 Seitenladevorgangs, da keine neuen Informationen angezeigt werden.

    Gespeicherte Abfragen können implementiert werden, indem Sie dem Optionsobjekt die Property savedQuery mit dem von Ihnen gewählten Abfragenamen hinzufügen, wie im folgenden 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;
    

URL-Auswahl ausprobieren

Die URL-Auswahl mit der Shared Storage API kann in Chrome Canary/Dev/Beta M105 und höher getestet werden. Aktivieren Sie dazu alle APIs für den Datenschutz bei Werbung unter chrome://settings/adPrivacy.

Demo ausprobieren

Eine Demo ist verfügbar und Sie können den Code auf GitHub ansehen.

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.

Interagieren und Feedback geben

Der Vorschlag für den freigegebenen Speicher wird derzeit diskutiert und kann sich ändern. . Wir würden uns freuen, wenn Sie diese API ausprobieren und uns Feedback geben.