测试、部署和扩缩基于 Topics 的解决方案

本页介绍了如何使用 Topics API 构建、测试和扩缩生产环境的实现。

Topics 后端实现

后端实现取决于您希望如何使用在浏览器中计算出的主题。我们建议广告技术解决方案将 Topics 用作额外的 IBA 信号。

// Use the language/framework/stack of your preference
function processTopicsBackendAPI(topics) {
 // If the list is not empty, continue
 // Use topics as an additional signal
}

将 Topics 用作额外的信号

主题数据可以与其他信号(例如网址、关键字或其他元数据)一起作为有关受众群体的额外信号进行考虑。

在弃用第三方 Cookie 后尽可能提高广告相关性中所述,您可以采用多种方法来利用 Topics 投放相关广告。其中一些方法涉及使用 Topics 来构建受众群体,而其他方法则建议将 Topics 作为众多信号之一,用于训练机器学习模型,以便推断受众群体的其他兴趣,甚至优化出价逻辑。

构建和部署

  1. 通过在正式版中观察用户来收集主题(估计实现时间:大约一周):
    • 了解您的选择:如何使用 HTTP 标头iframe 和 JavaScript 调用 Topics。
    • 定义将调用 Topics API 的 iframe 的网域。
    • 标头演示JavaScript 演示作为代码参考,构建您的解决方案。
    • 将 Topics 集成到发布商嵌入到其网站中的代码(例如,您的广告 iframe)中。确保您从嵌入内容中调用主题。
    • 如需开始观察用户主题,请在您的正式版网站上嵌入最新版本的脚本。我们建议您先在每月访问次数较少的自有网站上测试实现情况。在此阶段,我们建议您在至少 5 个网站上嵌入新的基于主题的解决方案。
    • 此时,API 应返回一个空数组作为结果。这是因为系统尚未观察到该用户的任何主题。您最多可能需要等待三周才能开始获取用户主题。
    • 执行功能测试和验证。您可以手动或自动测试解决方案。例如:
      • 使用标志打开浏览器,并将周期设置为 15 秒,以便浏览器更快地重新计算主题。
      • 访问嵌入了您的脚本的网站。
      • 检查脚本是否在 chrome://topics-internals/ 上观测到主题。
      • 了解您有望取得哪些成效
  2. 将 Topics 数据与其他情境信号(例如网址、元数据等)搭配使用(预计时间:大约 3 天)。
    • 在生产环境中运行三周后,您的脚本应该已经观察到一些用户的主题。此时,您应该能够使用 Topics 数据作为额外的信号。
    • 开始接收非空主题列表后,您可以将其与其他上下文信号一起发送到后端。

部署到目标网站

将 Topics 调用集成到脚本中后,请确保将其嵌入到一些正式版网站中以进行首次测试。确保您的实现按预期运行:

  • 调用了 Topics API。
  • 可以在此受控环境中观察主题。
  • 可以访问主题(API 会返回用户观察到的主题)。

选择目标网站

在将解决方案部署到发布商的网站之前,我们建议您先在受控环境中(在您自己的网站上)对其进行测试。我们建议您按如下方式选择目标网站:

  • 网站的每月访问次数较少(每月不到 100 万次):您应先向小部分受众群体部署该 API。
  • 您拥有并控制网站:如有必要,您可以快速停用该实现,而无需复杂的审批流程。
  • 网站并非任务关键型:从低风险目标网站开始。
  • 总共不超过 5 个网站:目前您不需要那么多流量或曝光度。
  • 目标网站代表不同的主题:选择代表不同类别的网站(例如,一个与体育相关,另一个与新闻相关,还有一个与食品和饮料相关)。您可以使用 Chrome 中的内部主题工具来验证网域以及主题机器学习分类器对网域的分类方式。

功能测试和验证

在此受限环境中调用 Topics API 时,您可以预期会获得以下结果

  • 如果这是相应设备在过去 7 天内首次针对相应网站和调用方进行调用,则返回一个空的主题数组 []
  • 一个包含 0 到 3 个主题的列表,表示相应用户的兴趣。 经过 7 天的观察,您应该会收到:

    • 一个主题,从用户最感兴趣的前五个主题中选择,根据调用方在该周内观察到主题的网页的主机名计算得出。
  • 与之前所有 Topics API 调用中的 API 响应完全相同。对于同一调用方、用户和顶级网站,该 API 在整个周期内返回的主题将保持不变。这有助于避免暴露过多的用户兴趣。如需了解更多详情,请访问 GitHub

  • 如果您在观察四周后调用 Topics,则新主题会替换三个旧主题中的一个。

  • 如果您在过去三周或更长时间内未观察到用户的主题,Topics API 将再次返回一个空数组 []

收集效果指标,以评估用户体验:

  • 应测量对跨源 iframe 内 Topics API 的 JavaScript 调用运行时间,以便用于未来的性能分析。
  • 在收到主题后,创建 iframe 和 postMessage() 主题所用的时间。

如需进行问题排查,请参阅 支持部分。

扩展到生产环境

此时,您应该已在受控环境(您拥有的一些网站)中测试过 Topics。如果一切正常,就可以开始大规模实施了。将同一代码部署到更多目标网站。这样一来,您就可以观察更多用户,收集更多主题数据,并加深对受众群体的了解。

下面简要介绍了如何扩展到生产环境:

  1. 在更大量的流量上测试基于主题的解决方案。
    • 将 iframe 添加到您拥有的访问次数更多的其他网站,然后按照以下说明执行负载测试。
  2. 将解决方案部署到发布商的网站。
    • 在您自己的测试环境中确保解决方案正常运行后,请与发布商协作,将您的 iframe 集成到他们的网站中。例如,他们可能需要更新包含您的 iframe 的库。
  3. 处理和使用主题数据(估计时间:大约四周)。
    • 将主题数据与其他数据一起作为附加信号纳入。
    • 寻找实时出价测试合作伙伴。
    • 运行实用性测试,将主题作为其他数据的附加信号。

负载测试

为确保您的系统能够处理流量,我们建议您在将基于主题的解决方案部署到发布商的网站之前,先执行负载测试。

  1. 逐步部署到您拥有的更多目标网站,尤其是流量较大的网站。
  2. 根据预期流量对主题数据执行负载测试。
    • 您需要将主题信息从 iframe 发送到后端。这样一来,您就可以进一步处理 Topics API 结果,并将其用作额外的信号,帮助选择与用户更相关的广告。随着越来越多的网站采用您的嵌入代码,对后端发出的调用次数将大幅增加。确认您的后端可以处理来自 iframe 的大量调用。
    • 设置指标收集和日志以供分析。
  3. 部署 Topics API 后,请立即检查指标,以检测任何严重的最终用户问题。请定期查看指标。
  4. 如果出现中断或意外行为,请回滚部署并分析日志,以了解并解决问题。

另请参阅

请查看我们的资源,以便更好地了解 Web 版 Topics API。