Đo lường phạm vi tiếp cận tần suất K+

Đôi khi được mô tả là "tần suất hiệu quả", thường có số lượt xem tối thiểu trước khi người dùng nhận ra hoặc nhớ lại nội dung nhất định (thường trong ngữ cảnh là lượt xem quảng cáo). Bạn có thể sử dụng Bộ nhớ dùng chung để tạo báo cáo về những người dùng riêng biệt đã xem một nội dung ít nhất K số lần.

API Bộ nhớ dùng chung là một đề xuất của Hộp cát về quyền riêng tư cho mục đích chung, lưu trữ trên nhiều trang web, hỗ trợ nhiều trường hợp sử dụng có thể xảy ra. API tổng hợp riêng tư là một dữ liệu đầu ra có trong Bộ nhớ dùng chung, giúp bạn tổng hợp dữ liệu trên nhiều trang web.

Thử đo lường tần suất K+

Để thử nghiệm tính năng đo lường tần suất của K+ bằng Bộ nhớ dùng chung và tính năng Tổng hợp riêng tư, hãy xác nhận rằng bạn đang sử dụng Chrome M107 trở lên. Sau đó, hãy bật cờ thử nghiệm API Quảng cáo hộp cát về quyền riêng tư tại chrome://flags/#privacy-sandbox-ads-apis.

Đặt thử nghiệm API Quảng cáo trên Hộp cát về quyền riêng tư thành bật để sử dụng các API này

Bạn cũng có thể bật Bộ nhớ dùng chung bằng cờ --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames trong dòng lệnh.

Thử nghiệm với mã mẫu

Bạn có thể muốn đo lường số người dùng đã xem nội dung của bạn K hoặc nhiều lần hơn một khách hàng nhất định trên các trang web khác nhau. Trong ví dụ này, số lượt hiển thị được thêm vào bộ nhớ dùng chung, khi đó chỉ số này tăng thêm 1 bất cứ khi nào nội dung được tải. Khi số lượt hiển thị đạt đến 3, API tổng hợp riêng tư sẽ được gọi. Phương diện Content ID được mã hoá dưới dạng khoá tổng hợp và số lượng được dùng làm giá trị tổng hợp. Báo cáo tóm tắt sẽ cung cấp thông tin như "Khoảng 391 người dùng đã xem mã chiến dịch quảng cáo 123 ít nhất 3 lần".

Trong ví dụ này:

  • k-frequency-measurement.js được tải thông qua một khung và chịu trách nhiệm tải công việc liên quan đến bộ nhớ dùng chung.
  • k-frequency-measurement-worklet.js là công việc về bộ nhớ dùng chung có chức năng đọc số lượt hiển thị trong bộ nhớ dùng chung và gửi báo cáo thông qua API Tổng hợp riêng tư.

k-frequency-measurement.js

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

  // Run the K-frequency measurement operation
  await window.sharedStorage.run('k-freq-measurement', { data: { kFreq: 3, contentId: 123 });
}

injectContent();

k-frequency-measurement-worklet.js

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

/**
 * The bucket key must be a number, and in this case, it is simply the content
 * ID itself. For more complex bucket key construction, see other use cases in
 * this demo.
 */
function convertContentIdToBucket(contentId) {
  return BigInt(contentId);
}

class KFreqMeasurementOperation {
  async run(data) {
    const { kFreq, contentId } = data;

    // Read from Shared Storage
    const hasReportedContentKey = 'has-reported-content';
    const impressionCountKey = 'impression-count';
    const hasReportedContent = (await this.sharedStorage.get(hasReportedContentKey)) === 'true';
    const impressionCount = parseInt((await this.sharedStorage.get(impressionCountKey)) || 0);

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

    // Check impression count against frequency limit
    if (impressionCount < kFreq) {
      await this.sharedStorage.set(impressionCountKey, impressionCount + 1);
      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(hasReportedContentKey, 'true');
  }
}

// Register the operation

register('k-freq-measurement', KFreqMeasurementOperation); \

Thu hút và chia sẻ ý kiến phản hồi

Đề xuất về Bộ nhớ dùng chung đang được thảo luận và có thể thay đổi trong tương lai. Nếu bạn dùng thử API này và có ý kiến phản hồi, chúng tôi rất sẵn sàng lắng nghe.