การวัด Unique Reach

ผู้ผลิตเนื้อหาและผู้ลงโฆษณาจำนวนมากต้องการทราบจำนวนผู้ที่ไม่ซ้ำกันที่เห็นเนื้อหาของตน ใช้ Shared Storage เพื่อบันทึกครั้งแรกที่ผู้ใช้เห็นโฆษณา วิดีโอที่ฝัง หรือสิ่งพิมพ์ของคุณ และป้องกันการนับผู้ใช้รายเดียวกันซ้ำในเว็บไซต์ต่างๆ จากนั้นคุณจะใช้ Private Aggregation API เพื่อแสดงรายงานสรุปสำหรับการเข้าถึงได้

Shared Storage API เป็นข้อเสนอของ Privacy Sandbox สำหรับพื้นที่เก็บข้อมูลแบบข้ามเว็บไซต์อเนกประสงค์ ซึ่งรองรับ Use Case ที่เป็นไปได้มากมาย Private Aggregation API คือเอาต์พุตที่มีอยู่ใน Shared Storage ซึ่งช่วยให้คุณรวมข้อมูลข้ามเว็บไซต์ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การวัดเหล่านี้ได้ในสมุดปกขาวเกี่ยวกับการเข้าถึง

ลองใช้การวัด Unique Reach

หากต้องการทดลองใช้การวัดการเข้าถึงที่ไม่ซ้ำกับ Shared Storage และ Private Aggregation ให้ตรวจสอบว่าคุณใช้ Chrome M107 ขึ้นไป เปิดใช้ API ความเป็นส่วนตัวเกี่ยวกับโฆษณาทั้งหมดในส่วน chrome://settings/adPrivacy

นอกจากนี้ คุณยังเปิดใช้พื้นที่เก็บข้อมูลที่ใช้ร่วมกันได้ด้วย--enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames แฟล็กในบรรทัดคำสั่ง

ทดลองใช้ตัวอย่างโค้ด

คุณอาจต้องการติดตามจำนวนผู้ใช้ที่ไม่ซ้ำที่เห็นเนื้อหาของคุณในเว็บไซต์ต่างๆ ในตัวอย่างนี้ ระบบจะเข้ารหัสมิติข้อมูลรหัสเนื้อหาลงในคีย์การรวบรวม (ที่เก็บข้อมูล) และใช้จำนวนเป็นค่าที่รวบรวมได้ รายงานสรุปจะมีข้อมูล เช่น "ผู้ใช้ประมาณ 391 คนเห็นเนื้อหาที่มีรหัส 123"

ในตัวอย่างนี้

  • unique-reach-measurement.js โหลดโดยใช้เฟรม และมีหน้าที่โหลด Worklet ของพื้นที่เก็บข้อมูลที่แชร์
  • unique-reach-measurement-worklet.js คือ Worklet ของ Shared Storage ที่ตรวจสอบค่าสถานะใน Shared Storage และส่งรายงานโดยใช้ 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 sharedStorage.get(key)) === 'true';

    // Don't 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 using the Private Aggregation API
    privateAggregation.contributeToHistogram({ bucket, value });

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

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

Engage and share feedback

Note that the Shared Storage API proposal is under active discussion and development and therefore subject to change.

We're eager to hear your thoughts on the Shared Storage API.