K-anonymity

For a creative to be considered k-anonymous, the tuple of interest group owner URL, bidding script URL, creative URL, and ad size must meet the specified threshold (k) over a past time period (w), and the k-anonymity status is updated periodically (p). Note that k is impacted by noise. Ad size won't be a part of the k-anonymity check until at least 2025. Learn more about the parameters from the k-anonymity algorithm explainer.

The following example describes how the values checked for k-anonymity may look like:

{
  owner: 'https://dsp.example',
  biddingLogicURL: 'https://dsp.example/bidding-logic.js',
  ads: [{
    renderURL: 'https://dsp.example/ad.html',
    // Ad size is not checked until after 2025
    sizeGroup: mediumRectangle
  }],
  adSizes: { mediumRectangle: { width: 300, height: 250 } },
}

For a creative to be considered k-anonymous, we will require in the future that the tuple is seen by 50 users (k=50) over a period of 30 days (w=30), and the k-anonymity status will be updated every 1 hour (p=1). We will gradually ramp up the parameters, traffic percentage, and values checked for k-anonymity to the final state over time.

The following table describes how the k-anonymity check will be ramped up:

Time Traffic Threshold (k) Update period (p) Values checked
1 Q4 2023 Available in pre-stable release channels, excluding Mode A and Mode B experimental traffic 10 12 hours IG owner URL, bidding script URL, and creative URL
2 Q1 2024 Available in pre-stable release channels, and rolling out to the Stable release channel, excluding experimental traffic. 10 12 hours IG owner URL, bidding script URL, and creative URL
3 Q3 2024 Available in all release channels 10 12 hours IG owner URL, bidding script URL, and creative URL
4 Sometime after the 3PCD process starts Available in all release channels 50 1 hour IG owner URL, bidding script URL, and creative URL
5 Sometime after 2025 Available in all release channels 50 1 hour IG owner URL, bidding script URL, creative URL, and ad size
  1. In Q4 2023, for up to 50% of Chrome Dev and Canary traffic, excluding Mode A and Mode B experimental traffic, we will begin to check k-anonymity for the interest group, bidding script, and creative URLs (ad size is not checked), and require 10 users per creative (k=10) over a 30 day period (w=30). The k-anonymity status will be updated every 12 hours (p=12).
  2. In Q1 2024, for up to 20% of Chrome Stable traffic, excluding Mode A and Mode B experimental traffic, we will begin to check k-anonymity with the same parameters.
  3. In Q3 2024, when the third-party cookie deprecation (3PCD) ramp-up process is planned to begin, k-anonymity will be checked for 100% of Chrome Stable traffic with the same parameters.
  4. After the third-party cookie deprecation process begins, we will raise the k-anonymity threshold to the final value of 50 (k=50) and set the update period to 1 hour (p=1).
  5. Not before 2025, we will begin to check k-anonymity for the ad size.

Reporting IDs and interest group name

A buyer is able to associate identifiers to an ad by defining reporting IDs (buyerReportingID, buyerAndSellerReportingId, and selectableBuyerAndSellerReportingIds) in the interest group, and the IDs become available in the buyer and seller reporting functions. If a reporting ID is not defined, then the interest group name becomes available instead.

Before these IDs, or the interest group name, become available in buyer and seller reporting functions, they are checked for k-anonymity with the interest group owner, bidding logic URL, render URL, and ad size (ad size is not checked until at least 2025). Exactly which ID or interest group name is checked for k-anonymity depends on how the reporting IDs are used. To learn more about various ways that reporting IDs can be used, and how the k-anonymity check differs, see the Reporting ID developer guide.

Local testing

For testing, you can disable the k-anonymity check by starting Chrome from the command line with the following flag:

--disable-features=FledgeEnforceKAnonymity

See the "Run Chromium with command-line switches" article to learn more.

What's next?

We want to engage in conversations with you to ensure we build an API that works for everyone.

Discuss the API

Like other Privacy Sandbox APIs, this API is documented and discussed publicly.

Experiment with the API

You can experiment and participate in conversation about the Protected Audience API.