Unique Reach-Messung

Viele Inhaltsersteller und Werbetreibende möchten wissen, wie viele einzelne Nutzer ihre Inhalte gesehen haben. Über den gemeinsam genutzten Speicher können Sie aufzeichnen, wann ein Nutzer Ihre Anzeige, Ihr eingebettetes Video oder Ihre Publikation zum ersten Mal gesehen hat, und so verhindern, dass derselbe Nutzer mehrfach auf verschiedenen Websites gezählt wird. Sie können dann die Private Aggregation API verwenden, um einen zusammenfassenden Bericht über die Reichweite zu erstellen.

Die Shared Storage API ist ein Privacy Sandbox-Angebot für allgemeine Zwecke, das viele mögliche Anwendungsfälle unterstützt. Die Private Aggregation API ist eine im freigegebenen Speicher verfügbare Ausgabe, mit der Sie websiteübergreifende Daten aggregieren können.

Unique Reach-Messung ausprobieren

Wenn Sie mit der Unique Reach-Messung mit gemeinsam genutztem Speicher und privater Aggregation experimentieren möchten, müssen Sie Chrome M107 oder höher verwenden. Alle APIs zum Datenschutz bei Werbung unter chrome://settings/adPrivacy aktivieren.

Sie können freigegebenen Speicher auch mit dem Flag --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames in der Befehlszeile aktivieren.

Mit Codebeispielen experimentieren

Möglicherweise möchten Sie erfassen, wie viele einzelne Nutzer Ihren Content auf verschiedenen Websites gesehen haben. In diesem Beispiel wird die Dimension „Content ID“ im Zusammenfassungsschlüssel (Bucket) codiert und die Anzahl wird als aggregierter Wert verwendet. Der zusammenfassende Bericht enthält Informationen wie „Ungefähr 391 Nutzer haben die Content-ID 123 gesehen“.

In diesem Beispiel: * unique-reach-measurement.js wird über einen Frame geladen und ist für das Laden des Shared Storage-Worklets verantwortlich. * unique-reach-measurement-worklet.js ist das Shared Storage-Worklet, das das Flag im freigegebenen Speicher prüft und einen Bericht über die Private Aggregation API sendet.

reach-measurement.js

async function measureUniqueReach() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('reach-measurement-worklet.js');

  // Run the reach measurement operation
  await window.sharedStorage.run('reach-measurement', { data: { contentId: '1234' } });
}

measureUniqueReach();

reach-measurement-worklet.js

// Learn more about noise and scaling from the Private Aggregation fundamentals
// documentation on Chrome blog
const SCALE_FACTOR = 65536;

function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class ReachMeasurementOperation {
  async run(data) {
    const { contentId } = data;

    // Read from Shared Storage
    const key = 'has-reported-content';
    const hasReportedContent = (await this.sharedStorage.get(key)) === 'true';

    // Do not report if a report has been sent already
    if (hasReportedContent) {
      return;
    }

    // Generate the aggregation key and the aggregatable value
    const bucket = convertContentIdToBucket(contentId);
    const value = 1 * SCALE_FACTOR;

    // Send an aggregatable report via the Private Aggregation API
    privateAggregation.contributeToHistogram({ bucket, value });

    // Set the report submission status flag
    await this.sharedStorage.set(key, true);
  }
}

// Register the operation
register('reach-measurement', ReachMeasurementOperation);

Reagieren und Feedback geben

Das Angebot für den freigegebenen Speicher wird derzeit diskutiert und kann sich in Zukunft ändern. Wenn Sie diese API testen und Feedback haben, freuen wir uns darauf, von Ihnen zu hören.