Sharing FLoC on RTB Bid Requests

Federated Learning of Cohorts (FLoC) proposes a way that browsers could enable interest-based advertising without relying on cross-site identifiers and tracking by grouping users with similar browsing behavior into large cohorts.

Authorized Buyers Real-time Bidding Protocol

When available, FLoC will be provided in the BidRequest floc field:

{
  id:  "..."
  adslot: {
    ...
  }
  floc: {
    id:  "xyA_9A"
    type: SIMULATED_SIMHASH_SORTING_LSH_DOMAIN_ONE_HOT
  }
}

The fields for the Floc message include:

Field Description
id The cohort ID representing a large cohort of users with similar browsing behavior.
type
  • For the simulated FLoC, the simulated clustering algorithm type used. For a list of available algorithms, see the available enum values for the floc.type field.
  • Will be set to BROWSER_PROVIDED when browser-provided FLoC becomes supported to be provided in RTB bid requests.

OpenRTB Protocol

Both simulated and browser-provided (not yet available) FLoC cohort IDs, if available, will be communicated in the User.data and User.data.segment fields.

For exchange server-side simulated FLoC:

{
  "id": "..."
  "imp": {
    ...
  }
  "user": {
    "data": [
      {
        "name": "simulated_floc",
        "segment": [
          {
            "name": "SIMULATED_SIMHASH_SORTING_LSH_DOMAIN_ONE_HOT",
            "value": "xyA_9A"
          }
        ]
      }
    ]
  }
}

And for a FLoC cohort provided by the browser (not yet supported on bid requests to RTB partners):

{
  "id": "..."
  "imp": {
    ...
  }
  "user": {
    "data": [
      {
        "name": "browser_floc",
        "segment": [
          {
            "name": "chrome.2.1",
            "value": "1234567890"
          }
        ]
      }
    ]
  }
}

The fields for the Data and Segment objects include:

Field Description
data.name Will be set to simulated_floc for FLoC simulated server-side, or browser_floc for FLoC provided by the user’s browser (not supported yet)
data.segment.name
  • For the simulated FLoC, the simulated clustering algorithm type used. For a list of available algorithms, see the available enum values for the floc.type field.
  • The FLoC version for browser generated FLoC, for example, chrome.2.1
data.segment.value FLoC cohort ID representing a large cohort of users with similar browsing behavior.