按频次选择广告素材

运行共享存储空间 Worklet,以选择网址并将其呈现在围栏框架中。

Shared Storage API 是一种 适用于通用的跨站点存储的沙盒提案,支持多种 可能的使用场景。例如,频次控制 在 Chrome 测试版 104.0.5086.0 及更高版本中进行测试。

运行 Worklet 脚本,根据存储的 然后在围栏框架中呈现该网址。它可用于选择 新广告或其他内容的广告。

按频次测试广告素材选择

若要使用共享存储空间和围栏框架按频次测试广告素材选择,请确认您 使用 Chrome 104.0.5086.0 或更高版本。启用 chrome://settings/adPrivacy 下的所有广告隐私权 API。

您还可以在命令行中使用 --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames 标志启用共享存储空间。

试用代码示例

如需选择并创建一个不透明网址,请注册一个 Worklet 模块,以读取共享的 Worklet 模块 存储数据Worklet 类会收到最多包含 8 个网址的列表,然后 返回所选网址的索引。

当客户端调用 sharedStorage.selectURL() 时,worklet 执行并返回要渲染到围栏框架中的不透明网址。

假设您想根据用户之前看到广告的次数来选择其他广告或内容进行呈现。您可以统计用户看到某内容的次数,并将该值存储到共享存储空间。存储后,您就可以在不同源中使用共享存储空间中的值。

然后,共享存储空间 Worklet 会读取共享存储空间中的值,并且每增加一个视图就会递增计数器。如果计数尚未达到预定义的上限,则系统会返回要呈现的内容(索引 1)。否则,系统会返回默认网址(索引 0)。

在此示例中:

  • creative-selection-by-frequencyjs 通过内容制作者或广告客户的 iframe 加载,负责 用于加载共享存储 Worklet,并将返回的 封装到一个围栏帧中。
  • creative-selection-by-frequency-worklet.js 是读取 频次计数,以确定为内容或广告素材返回哪个网址。

creative-selection-by-frequency.js

// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
  { url: `https://${contentProducerUrl}/default-content.html` },
  { url: `https://${contentProducerUrl}/example-content.html` },
];

async function injectAd() {
  // Load the worklet module.
  await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');

  // Set the initial frequency count
  window.sharedStorage.set('frequency-count', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose an ad based on the frequency count in shared storage.
  const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
    resolveToConfig: true
  });

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

injectAd();

creative-selection-by-frequency-worklet.js

const FREQUENCY_LIMIT = 5;

class CreativeSelectionByFrequencyOperation {
  async run(urls, data) {
    // Read the current frequency limit in shared storage
    const count = parseInt(await sharedStorage.get('frequency-count'));

    // Check if the frequency limit has been reached.
    if (count === FREQUENCY_LIMIT) {
      console.log('Frequency limit has been reached, and the default content will be rendered.');
      return 0;
    }

    // Set the new frequency count in shared storage
    await sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

使用场景

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

内容选择

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

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

生成摘要报告

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

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

互动和分享反馈

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