什么是 FLoC?

FLoC 支持在不共享具体用户的浏览行为的情况下进行广告选择。

FLoC 为针对用户兴趣的广告选择提供了一种可保护隐私的机制。

当用户在网络上四处移动时,他们的浏览器会使用 FLoC 算法来确定其“兴趣同类群组”,这对于具有类似近期浏览记录的数千个浏览器来说都是相同的。浏览器会在用户的设备上定期重新计算其同类群组,而不会与浏览器供应商或其他任何人共享各个浏览数据。

广告主(付费投放广告的网站)可以在他们自己的网站上添加代码,以便收集同类群组数据并提供给其广告技术平台(提供投放广告的软件和工具的公司)。例如,广告技术平台可能会从一家在线鞋店了解到,来自同类群组 1101 和 1354 的浏览器似乎对商店的徒步装备感兴趣。广告技术平台从其他广告主那里了解这些同类群组的其他兴趣。

随后,当其中一个同类群组的浏览器请求从展示广告的网站(例如新闻网站)访问网页时,广告平台可以使用此数据选择相关广告(例如鞋店的远足靴广告)。

Privacy Sandbox 是一系列提案,旨在满足不使用第三方 Cookie 或其他跟踪机制的第三方用例。如需简要了解所有提案,请参阅深入了解 Privacy Sandbox

如果您对此方案有任何意见,请在 FLoC 说明文档代码库中创建问题。如果您对 Chrome 针对此方案的实验有反馈意见,请在用于实验的意图上发布回复。

为什么需要 FLoC?

许多企业依靠广告为其网站吸引流量,而许多发布商网站则通过销售广告资源来资助内容。用户通常更希望看到与自己相关且实用的广告,相关广告也能为广告客户带来更多业务,并为托管这些广告的网站带来更多收入。换句话说,广告空间在展示相关广告时更有价值。因此,选择具有相关性的广告可以提高含广告网站的收入。 也就是说,相关广告有助于资助内容创作,使用户受益。

不过,人们担心量身定制的广告对隐私有何影响,而定制广告目前依赖于跟踪 Cookie 和设备指纹等技术,此类技术可以向广告主或广告平台揭示您在网站上的浏览记录。FLoC 提案旨在让广告选择流程能够更好地保护隐私。

FLoC 的用途

  • 向所用浏览器属于某个同类群组(被观察到经常访问广告客户的网站或对相关主题表现出兴趣)的用户展示广告。
  • 使用机器学习模型根据用户的同类群组预测用户发生转化的可能性,以便为广告竞价出价行为提供参考。
  • 向用户推荐内容。例如,假设某新闻网站发现其体育播客页面特别受同类群组 1234 和同类群组 7 的访问者欢迎。他们可以向这些同类群组中的其他访问者推荐这些内容。

FLoC 的工作原理是什么?

以下示例介绍了使用 FLoC 选择广告时的不同角色。

  • 此示例中的广告客户(支付广告费用的公司)是在线鞋类零售商:
    shoestore.example

  • 在本示例中,发布商(销售广告空间的网站)是一个新闻网站:
    dailynews.example

  • 广告技术平台(提供用于投放广告的软件和工具)是:
    adnetwork.example

该示意图逐步显示了使用 FLoC 选择和投放广告时的不同角色:FLoC 服务、浏览器、广告客户、发布商(用于观察同类群组)、广告技术平台、发布商(用于展示广告)

在此示例中,我们将用户称为 YoshiAlex。最初,他们的浏览器都属于同一个同类群组 1354。

1. FLoC 服务

  1. 浏览器使用的 FLoC 服务会创建一个包含数千个“同类群组”的数学模型,其中每个“同类群组”都对应于数千个具有相似近期浏览记录的网络浏览器。如需详细了解相关工作原理,请参阅下文
  2. 每个同类群组都有一个编号。

2. Browser

  1. Yoshi 的浏览器会从 FLoC 服务中获取描述 FLoC 模型的数据。
  2. Yoshi 的浏览器使用 FLoC 模型的算法计算其同类群组,计算哪个同类群组与其浏览记录最贴近。在本例中,我们将选择同类群组 1354。请注意,Yoshi 的浏览器不会与 FLoC 服务共享任何数据。
  3. 以同样的方式,阿力的浏览器也会计算其同类群组 ID。Alex 的浏览记录与 Yoshi 不同,但足够相似,其浏览器均属于同类群组 1354。

3. 广告客户:shoestore.example

  1. 小丁访问了 shoestore.example
  2. 网站请求 Yoshi 的浏览器访问其同类群组:1354。
  3. Yoshi 看着远足靴。
  4. 该网站记录显示,同类群组 1354 的某浏览器对远足靴表现出兴趣。
  5. 后来,该网站又记录了来自同类群组 1354 以及其他同类群组中其产品的额外兴趣。
  6. 该网站会定期汇总有关同类群组和产品兴趣的信息,并将其与广告技术平台 adnetwork.example 共享。

现在轮到 Alex 了。

4. 发布商:dailynews.example

  1. 阿力访问了 dailynews.example
  2. 网站请求小伟的浏览器访问其同类群组。
  3. 然后,该网站向其广告技术平台 adnetwork.example 发出广告请求,其中包括阿力的浏览器同类群组 1354。

5. 广告技术平台:adnetwork.example

  1. 通过将发布商 dailynews.example 和广告客户 shoestore.example 的数据相结合,adnetwork.example 可以选择适合小雅的广告:
    • 小伟的浏览器同类群组 (1354),由 dailynews.example 提供。
    • shoestore.example 中的同类群组和产品兴趣相关数据:“来自同类群组 1354 的浏览器可能对远足靴感兴趣。”
  2. adnetwork.example 选择与阿力相符的广告:shoestore.example 上的远足靴广告。
  3. dailynews.example 会显示该广告 🥾?。

谁运行创建 FLoC 模型的后端服务?

每个浏览器供应商都需要选择如何将浏览器划分为同类群组。 Chrome 运行的是自己的 FLoC 服务;其他浏览器可能会选择使用其他聚类方法来实现 FLoC,并且会运行自己的服务来执行此操作。

FLoC 服务如何使浏览器找出其同类群组?

  1. 浏览器使用的 FLoC 服务会为所有潜在的网络浏览历史记录创建一个多维数学表示。我们将该模型称为“同类群组空间”。
  2. 该服务将这一空间划分为数千个分段。每个细分代表数千个类似的浏览历史记录的集群。这些分组并不是基于对任何实际浏览历史记录的了解,而只是在“同类群组空间”中随机选择中心,或者使用随机行来分割空间。
  3. 每个细分都会被指定一个同类群组编号。
  4. 网络浏览器会从其 FLoC 服务获取描述“同类群组空间”的数据。
  5. 当用户浏览网页时,浏览器会使用一种算法定期计算“同类群组空间”中与其浏览记录最相符的区域。
由 FLoC 服务器创建的“浏览历史记录空间”示意图,其中显示了多个细分,每个细分都有一个同类群组编号。
FLoC 服务将“同类群组空间”划分为数千个细分(此处只显示了几个)。

浏览器的同类群组会发生变化吗?

可以!浏览器的同类群组绝对会发生变化!您可能不会每周访问相同的网站,浏览器的同类群组会反映这一点。

同类群组代表浏览活动的集合,而非用户集合。同类群组的活动特征通常随时间的推移而大致一致,此类同类群组对广告选择很有用,因为它们汇集了类似的近期浏览行为。随着用户的浏览行为发生变化,其浏览器会浮动在同类群组中或移出同类群组。最初,我们预计浏览器每七天重新计算一次同类群组。

在上例中,Yoshi 和 Alex 的浏览器同类群组均为 1354。将来,如果 Yoshi 的浏览器和 Alex 的浏览器的兴趣发生变化,系统可能会将其移动到不同的同类群组。在以下示例中,Yoshi 的浏览器移至同类群组 1101,Alex 的浏览器移至同类群组 1378。随着其他人的浏览兴趣发生变化,其浏览器会移入或移出同类群组。

由 FLoC 服务器创建的“浏览历史记录空间”示意图,其中显示了多个细分,每个细分都有一个同类群组编号。该图显示了 Yoshi 和 Alex 名下用户的浏览器随着浏览兴趣随时间推移而从一个同类群组转移到另一个同类群组。
如果 Yoshi 和 Alex 的兴趣发生变化,其浏览器同类群组可能会发生变化。

浏览器如何找出其同类群组?

如上所述,用户的浏览器从其 FLoC 服务获取数据,该服务描述了同类群组的数学模型:一个多维空间,表示所有用户的浏览活动。然后,浏览器会使用一种算法来确定此“同类群组空间”的哪个区域(即哪个同类群组)与其近期的浏览行为最相符。

FLoC 如何确定合适的同类群组规模?

每个同类群组中都会有数千种浏览器。

规模较小的同类群组可能对个性化广告更有用,但不太可能停止用户跟踪,反之亦然。将浏览器分配给同类群组的机制需要在隐私保护与实用性之间进行权衡。Privacy Sandbox 使用 k-匿名性来允许用户“在人群中隐藏”。如果某个同类群组至少由 k 位用户共享,则该同类群组具有 k-匿名性。k 值越大,同类群组的隐私保护力度越大。

是否可以使用 FLoC 根据敏感类别对用户进行分组?

用于构建 FLoC 同类群组模型的聚类算法旨在评估同类群组是否与敏感类别相关联,而无需了解某个类别为何属于敏感类别。可能会透露敏感类别(例如种族、性取向或医疗记录)的同类群组会被屏蔽。换句话说,在计算其同类群组时,浏览器仅会在不会显示敏感类别的同类群组之间进行选择。

FLoC 只是为在线用户分类的另一种方式吗?

借助 FLoC,用户的浏览器将属于数千个同类群组中的一个,同时分属于数千个其他用户的浏览器。与第三方 Cookie 和其他定位机制不同,FLoC 仅显示用户浏览器所在的同类群组,而不会显示单个用户 ID。它并不能让其他人区分同类群组中的个人。此外,用于了解浏览器同类群组的浏览活动信息会在浏览器或设备本地保存,而不会上传到其他位置。浏览器可以进一步利用其他匿名化方法,例如差分隐私

网站是否需要参与并共享信息?

网站可以选择加入或退出 FLoC,因此与敏感主题相关的网站可以阻止对网站的访问被纳入 FLoC 计算。作为额外的保护,FLoC 服务的分析将评估同类群组是否可能会在不了解该同类群组敏感的原因的情况下泄露有关用户的敏感信息。如果某个同类群组所代表的敏感类别网站的访问者数量可能超过正常值,则系统会移除整个同类群组。负面财务状况信息和心理健康是本分析所涵盖的敏感类别。

网站可以从 FLoC 计算中排除某个网页,方法是为该网页设置 Permissions-Policy 标头 interest-cohort=()。对于未排除的网页,如果网页上使用了 document.interestCohort(),则每次网页访问都会包含在浏览器的 FLoC 计算中。在当前 FLoC 源试用期间,如果 Chrome 检测到某个网页会加载广告或广告相关资源,该网页也会包含在计算中。(Chromium 中的广告代码介绍了 Chrome 广告检测机制的工作原理)。

通过专用 IP 地址提供的网页(例如内网网页)不会包含在 FLoC 计算中。

FLoC JavaScript API 的工作原理是什么?

FLoC API 非常简单:只需一个方法即可返回一个 promise,该 promise 可解析为提供同类群组 idversion 的对象:

const { id, version } = await document.interestCohort();
console.log('FLoC ID:', id);
console.log('FLoC version:', version);

可用的同类群组数据如下所示:

{
  id: "14159",
  version: "chrome.2.1"
}

version 值可让使用 FLoC 的网站了解同类群组 ID 对应的浏览器和 FLoC 模型。如下所述,对于不允许 interest-cohort 权限的任何帧,document.interestCohort() 返回的 promise 将拒绝。

网站可以选择不参与 FLoC 计算吗?

借助 interest-cohort 权限政策,网站可以声明它不想包含在用户的网站列表中,用于计算同类群组。此政策默认为 allow。 对于未获得 interest-cohort 权限的任何帧,document.interestCohort() 返回的 promise 将拒绝。如果主框架没有 interest-cohort 权限,则网页访问将不会包含在兴趣同类群组计算中。

例如,某个网站可以通过发送以下 HTTP 响应标头来选择停用所有 FLoC 同类群组计算:

  Permissions-Policy: interest-cohort=()

用户是否可以阻止网站获取其浏览器的 FLoC 同类群组?

如果用户在 chrome://settings/privacySandbox 中停用 Privacy Sandbox,浏览器在通过 JavaScript 请求时不会提供用户的同类群组,因为 document.interestCohort() 返回的 promise 将拒绝。

我该如何提出建议或提供反馈?

如果您对该 API 有任何意见,请在 FLoC 说明文档代码库中创建问题

了解详情


照片由 Rhys Kentish 提供,拍摄于 Unsplash 用户。