Menjalankan A/B Testing

Gunakan worklet Penyimpanan Bersama untuk menjalankan pengujian A/B.

Shared Storage API adalah proposal Privacy Sandbox untuk penyimpanan lintas situs tujuan umum, yang mendukung banyak kemungkinan kasus penggunaan. Salah satu contohnya adalah pengujian A/B, yang tersedia untuk diuji di Chrome 104.0.5086.0 dan yang lebih baru.

Anda bisa menetapkan pengguna ke grup eksperimen, lalu menyimpan grup tersebut di Penyimpanan Bersama untuk diakses di lingkungan lintas situs.

Coba A/B testing

Untuk bereksperimen dengan pengujian A/B dengan Penyimpanan Bersama, pastikan Anda menggunakan Chrome 104.0.5086.0 atau yang lebih baru. Kemudian, aktifkan tanda Eksperimen Privacy Sandbox Ads API di chrome://flags/#privacy-sandbox-ads-apis.

Setel eksperimen Privacy Sandbox Ads API ke aktif untuk menggunakan API ini

Anda juga dapat mengaktifkan Penyimpanan Bersama dengan tanda --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames di command line.

Bereksperimen dengan contoh kode

Untuk melihat apakah eksperimen memiliki efek yang diinginkan, Anda dapat menjalankan pengujian A/B di beberapa situs. Sebagai pengiklan atau produser konten, Anda dapat memilih untuk merender konten atau iklan yang berbeda berdasarkan pada grup mana pengguna ditetapkan. Tugas grup disimpan di penyimpanan bersama, tetapi tidak dapat dipindahkan.

Dalam contoh ini:

  • ab-testing.js harus disematkan dalam bingkai, yang memetakan satu konten kontrol dan dua konten eksperimen. Skrip memanggil worklet penyimpanan bersama untuk eksperimen.
  • ab-testing-worklet.js adalah worklet penyimpanan bersama yang menampilkan ke grup mana pengguna ditetapkan, yang menentukan iklan mana yang akan ditampilkan.

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 this.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 次的唯一身份用户生成报告。

Berinteraksi dan berbagi masukan

Proposal Penyimpanan Bersama sedang dalam diskusi aktif dan dapat berubah pada masa mendatang. Jika Anda mencoba API ini dan memiliki masukan, sampaikanlah kepada kami.