Chạy thử nghiệm A/B

Sử dụng worklet Bộ nhớ dùng chung để chạy thử nghiệm A/B.

API Bộ nhớ dùng chung là một Quyền riêng tư Đề xuất hộp cát cho mục đích chung, lưu trữ trên nhiều trang web, hỗ trợ nhiều các trường hợp sử dụng có thể xảy ra. Một ví dụ như vậy là tính năng thử nghiệm A/B, bạn có thể dùng tính năng này để thử nghiệm trong Chrome 104.0.5086.0 trở lên.

Bạn có thể chỉ định người dùng vào nhóm thử nghiệm, sau đó lưu trữ nhóm đó trong mục Chia sẻ Bộ nhớ được truy cập trong môi trường giữa nhiều trang web.

Dùng thử thử nghiệm A/B

Để thử nghiệm A/B với Bộ nhớ dùng chung, hãy xác nhận rằng bạn đang sử dụng Chrome 104.0.5086.0 trở lên. Bật mọi API quyền riêng tư trong quảng cáo trong chrome://settings/adPrivacy.

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 mã mẫu

Để xem liệu một thử nghiệm có đạt được hiệu quả như mong muốn hay không, bạn có thể chạy thử nghiệm A/B trên nhiều trang web. Là nhà quảng cáo hoặc nhà sản xuất nội dung, bạn có thể chọn hiển thị nội dung hoặc quảng cáo khác nhau dựa trên nhóm mà người dùng được chỉ định. Bài tập nhóm được lưu trong bộ nhớ dùng chung nhưng không thể trích xuất.

Trong ví dụ này:

  • ab-testing.js phải được nhúng trong một khung liên kết nội dung của nhóm đối chứng và hai nội dung thử nghiệm. Tập lệnh gọi worklet bộ nhớ dùng chung cho thử nghiệm.
  • ab-testing-worklet.js là worklet bộ nhớ dùng chung trả về nhóm mà người dùng được chỉ định, giúp xác định quảng cáo nào sẽ hiển thị.

ab-testing.js

// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Register the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('ab-testing-worklet.js');

  // Assign user to a random group (0 or 1) and store it in Shared Storage
  window.sharedStorage.set('ab-testing-group', getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    'ab-testing',
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` }
    ],
    {
      resolveToConfig: true
    }
  );

  // Render the chosen URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectContent();

ab-testing-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from Shared Storage
    const experimentGroup = await sharedStorage.get('ab-testing-group');

    // Return the corresponding URL (first or second item in the array)
    return urls.indexOf(experimentGroup);
  }
}

register('ab-testing', SelectURLOperation);

使用场景

以上只是共享存储空间的一部分用例。我们将 我们会继续添加样本, 获取反馈 并发现新的应用场景

内容选择

在以下位置选择和显示不同网站上的不同内容: 围栏框架 共享存储空间这些用例的输出门控是网址选择。

  • 广告素材轮播: 存储广告素材 ID、观看次数和用户互动等数据,以确定哪个广告素材在不同网站上的呈现效果
  • A/B 测试: 您可以将用户分配到实验组,然后将该组存储在共享存储空间中,以便跨网站访问。
  • 自定义用户体验: 根据用户的注册状态或其他用户状态共享自定义内容和号召性用语

生成摘要报告

通过共享存储空间收集信息,并生成杂乱的汇总摘要报告。这些用例的输出门控是 Private Aggregation API

  • 唯一身份用户覆盖面衡量: 许多内容制作者和广告客户都想知道 人查看了他们的内容。使用共享存储空间记录用户首次访问 用户看过您的广告、嵌入式视频或发布内容,并防止重复 统计不同网站上的同一用户然后,您可以使用 Private Aggregation API 输出覆盖面的摘要报告。
  • 受众特征衡量: 内容制作者通常希望了解其网站的受众特征 受众群体。您可以使用共享存储空间来记录 背景信息(例如您的第一方网站),并使用汇总的数据 以便在其他许多网站(例如嵌入式内容)中生成此报告。
  • K+ 频次衡量: 有时也称为“有效频次”通常会有一个 用户会认出或回想某些内容(通常在 广告观看情境)。您可以使用共享存储空间生成报告 的唯一身份用户中,特定内容至少浏览了 K 次。

互动和分享反馈

共享存储空间提案正在积极讨论,可能会发生变化 。如果您试用此 API 并有反馈意见,我们非常期待收到您的反馈意见。