מדידת היקף החשיפה למשתמשים ייחודיים

מפיקי תוכן ומפרסמים רבים רוצים לדעת כמה אנשים ייחודיים ראו את התוכן שלהם. אתם יכולים להשתמש בנפח אחסון משותף כדי לתעד את הפעם הראשונה שבה משתמש ראה את המודעה, הסרטון המוטמע או הפרסום שלכם, ולמנוע ספירה כפולה של אותו משתמש באתרים שונים. לאחר מכן אפשר להשתמש ב-Private Aggregation API כדי להפיק דוח סיכום לגבי היקף החשיפה.

Shared Storage API הוא הצעה של ארגז חול לפרטיות לשימוש כללי, אחסון באתרים שונים, שתומך בהרבה תרחישים אפשריים של שימוש. Private Aggregation API הוא פלט שזמין באחסון משותף שמאפשר לכם לצבור נתונים מאתרים שונים.

כדאי לנסות את מדידת היקף החשיפה למשתמשים ייחודיים

אם אתם רוצים להתנסות במדידה של היקף חשיפה למשתמשים ייחודיים עם 'אחסון משותף' ו'צבירה פרטית', צריך לוודא שאתם משתמשים ב-Chrome בגרסה M107 ואילך. לאחר מכן מפעילים את הסימון של ניסוי בממשקי ה-API של ארגז החול לפרטיות בכתובת chrome://flags/#privacy-sandbox-ads-apis.

הפעלת הניסוי של ממשקי ה-API של מודעות ארגז החול לפרטיות כך שאפשר יהיה להשתמש בהם

ניתן להפעיל אחסון משותף גם באמצעות הדגל --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames בשורת הפקודה.

ניסוי עם דוגמאות קוד

מומלץ לעקוב אחר מספר המשתמשים הייחודיים שראו את התוכן שלכם באתרים שונים. בדוגמה זו, המאפיין Content ID מקודד במפתח הצבירה (קטגוריה), והספירה משמשת כערך המצטבר. דוח הסיכום יכיל מידע כגון "כ-391 משתמשים ראו את מזהה Content ID 123".

בדוגמה הזו: * unique-reach-measurement.js נטען דרך פריים, והוא אחראי לטעינת ה-worklet של האחסון המשותף. * unique-reach-measurement-worklet.js הוא worklet של האחסון המשותף שבודק את הסימון באחסון משותף ושולח דוח דרך Private Aggregation API.

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.sendHistogramReport({ bucket, value });

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

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

עניין ושיתוף משוב

ההצעה לנפח אחסון משותף נמצאת בדיון פעיל והיא כפופה לשינויים בעתיד. אם ניסית את ה-API הזה ויש לך משוב, נשמח לשמוע אותו.