進行 A/B 測試

使用「共用儲存空間」小程式執行 A/B 測試。

Shared Storage API 是一項「隱私權」 一般用途的沙箱提案,支援多種 可能的用途例如 A/B 測試 Chrome 104.0.5086.0 以上版本。

您可以為使用者指派實驗組,然後將該群組儲存至「共用」 要在跨網站環境中存取的儲存空間。

嘗試 A/B 測試

如要透過共用儲存空間執行 A/B 測試實驗,請確認您使用的是 Chrome 104.0.5086.0 以上版本。啟用 chrome://settings/adPrivacy 下的所有廣告隱私權 API。

您也可以在指令列中使用 --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames 旗標啟用共用儲存空間。

使用程式碼範例進行實驗

若想確認實驗能否帶來所需效果,您可以在多個網站中執行 A/B 測試。廣告客戶或內容製作者可以選擇根據使用者指定的群組顯示不同的內容或廣告。群組作業會儲存在共用儲存空間中,但無法洩露。

在這個例子中:

  • ab-testing.js」應嵌入頁框中,而頁框會對應一個控制組和兩項實驗內容。指令碼會呼叫實驗的共用儲存空間工作程式。
  • ab-testing-worklet.js 是共用儲存空間工作程式,會傳回使用者獲派的群組,以決定要顯示哪則廣告。

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

  • Unique Reach 評估: 許多內容製作者和廣告客戶都想知道有多少獨有的 觀眾收看了自己的內容使用共用儲存空間記錄使用者首次記錄 觀看您的廣告、嵌入影片或出版品,並防止重複 計算同一名使用者在不同網站上出現的相同曝光次數接著,您可以使用 Private Aggregation API 輸出觸及率的摘要報表。
  • 客層評估: 內容製作者往往會想瞭解自己的觀眾客層 目標對象您可以使用共用儲存空間,記錄以下項目的使用者客層資料: 而是以您擁有的環境 (如第一方網站) 使用匯總資料 製作相關報表,製作其他多個網站上的報表,例如嵌入的內容。
  • K+ 頻率評估: 有時也稱為「有效展示頻率」通常具有最小值 在使用者辨識或召回特定內容之前 (通常是 廣告瀏覽的背景資訊)。你可以使用共用儲存空間建立報表 有多少不重複使用者看過某內容至少 K 次。

互動及分享意見回饋

共用儲存空間提案正在進行討論,因此可能隨時會有變動 如果您試用這個 API 並有意見,請不吝與我們分享。