User Object

Note

Fields marked with asterisk (*) are optional.

User Object Properties

Value

Type

Description

id*

string

Unique BidSwitch ID of this user, for example, "252eb154-b3e5-473f-bad8-9b6d7f8646e5". For in-app traffic the lowercase IDFA, or Android ID is used. For example, "38f72eaf-5d6f-4143-824f-deaf753d7239". The User ID can be a maximum of 50 characters.

buyeruid*

string

The Buyer user ID as mapped by BidSwitch for the DSP. The User ID can be a maximum of 50 characters.

suid*

string

Unique Supplier ID of the user if the BidSwitch user ID is unknown for some reason, for example, "252eb154-b3e5-473f-bad8-9b6d7f8646e5".

keywords*

string

Comma separated list of keywords, interests, or intent, for example, Cars, sports, vacation

yob*

integer

Year of birth as a 4-digit integer, for example, 1977

gender*

string

Specifies the user gender, for example, "F"

  • "M" = Male

  • "F" = Female

  • "O" = Known to be other, or omitted if unknown

data*

array of objects

Additional data. Each data object represents a different data source, for more information, see the Data Object section.

ext*

object

For more information, see the User Ext Object Properties section.

User Ext Object Properties

User Ext Object Properties

Value

Type

Description

ug*

integer

User group set up for the target user during cookie syncing, for example 1. This takes the following values:

  • 0: unmatched user

  • 1: matched user

  • 2 - 99: custom user group.

cookie_age*

integer

Number of days since the user cookie has been dropped, for example, 10

floc*

object

Cohort ID that is common to a large cohort of users with similar browsing habits. Currently the cohort ID is simulated by the exchange (as opposed to by the browser). When simulated cohort ID is provided, traditional pseudonymous cookie-based user identifiers or device advertising identifiers would not be populated. Experimental feature; may be subject to change. See https://github.com/WICG/floc for more background on FLoC.

Note

In the event FLOC is being used there should be no user.id or user.buyerid present.

digitrust*

object

Deprecated since version 5.3: passing this value moved to the xuid object

Container object for the DigiTrust ID and related attributes, see the DigiTrust Object object for more details.

xuid*

array of objects

Contains cross-platform user ID information for the following possible vendors: "nonID", "TDID", "id5", "IDL", "sharedID", see Cross-Platform UID

Deprecated since version December: 2020, replaced by eids

eids*

array of objects

Contains the Extended identifiers object, see the Extended Identifiers section for details

google_consent*

array of integers

Set of IDs corresponding to providers for whom the publisher has provided user consent using Google vendor list. A mapping of provider ID to provider name is posted at https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv

Deprecated since version 5.3.

Replaced by the consented_providers_settings object, with the IDs passed in its consented_providers array.

impdepth*

int

The count of impressions for a specific placement type in a given app session. The impression depth is reset once the session ends, e.g 2

sessionduration*

int

The total duration of time a user has spent so far in a specific app session expressed in seconds. For example, a user has been playing Word Game for 45 seconds, e.g. 45

consented_providers _settings*

object

Passes a set of IDs corresponding to providers for whom the publisher has provided user consent using Google vendor list. See the Consented Provider Settings

consent*

string

Passes the Transparency & Consent Framework string. The current valid version of this string is v2.0. You can read more about the the information encoded within the consent string here: Transparency and Consent String with Global Vendor & CMP List Formats

The Buyer should use the information in the consent string to ascertain which vendors and for which purposes the user gave consent.

  • If the user has not given consent, then do not respond with an ad which utilises user information and neither access nor store information on the user’s device e.g. cookies, IDFA, fingerprints

  • If the user has given consent, then identify all vendors to whom the user has given consent and for which purposes

    • Buyers should also only use and store user data if the user has given consent to the buyer and only for the purposes for which the user has given consent

    • Buyers should only allow third-party direct or redirect links to those who have received consent from the user

    • https://vendor-list.consensu.org/v2/vendor-list.json

  • If no consent is given, you cannot use personal data and may not have the right to use cookies. Each party is responsible for determining what that means for their business. If user consent explicitly states that it is not given, then do not respond with an ad which utilises user information and neither access nor store information on the user’s device e.g. cookies, IDFA, fingerprints

For more information see the following links:

Consented Provider Settings

Consented Providers

Value

Type

Description

consented_providers

array of integers

Set of IDs corresponding to providers for whom the publisher has provided user consent using Google vendor list. A mapping of provider ID to provider name is posted at https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv

FloC Object

FloC Object Properties

Value

Type

Description

id

string

The value of a cohort ID – a string identifier that is common to a large cohort of users with similar browsing habits.

type

integer

Identifies the method of generating the cohort ID, see this Google whitepaper for more details: Evaluation of Cohort Algorithms for the FloC API

  • FLOC_TYPE_UNKNOWN = 0; Default value that should not be used.

  • SIMULATED_AFFINITY_CLUSTERING_CENTROID_VERTICAL = 2; FLoC simulated using affinity hierarchical clustering with centroids and feature extraction based on Topic categories as described in the whitepaper.

  • SIMULATED_SIMHASH_SORTING_LSH_DOMAIN_ONE_HOT = 3; FLoC simulated using SortingLSH clustering algorithm and Domain One-hot encoding feature extraction as described in the whitepaper. FLoC simulated using a k Random Centers locality-sensitive hash function as described in github.com/google/ads-privacy/ blob/master/proposals/FLoC/k-random-centers.md with Domain TF-IDF feature extraction as described in the whitepaper.

  • KCENTER_DOM_FILTERED_TFDIF = 4;

{
  "user":{
    "ext":{
      "floc":{
        "id":"str123",
        "type":3
      }
    }
  }
}

DigiTrust Object

Object Properties

Value

Type

Description

id

string

User ID as provided by DigiTrust.

id

string

User ID as provided by DigiTrust.

Cross-Platform UID

Important

This field has been deprecated and replaced by the IAB OpenRTB community extension, see the Extended Identifiers section. Until all partners have switched over to the replacement field, you will see both objects in bid requests.

Cross-platform User ID object used to pass any additional User IDs the Supplier may have for this user.

xuid Object Properties

Value

Type

Description

provider

string

(Required) The provider of the additional User ID value, the possible values are: "nonID", "TDID", "id5", "IDL", "sharedID"

id

string

(Required) User ID with this provider.

Extended Identifiers

Supports the official Open RTB community extension for passing multiple third party user identifiers, see the official Extended Identifiers spec for more details.

This object passes any additional User IDs a Supplier, Consent Management Platform (CMP), Data Management Platform (DMP), or BidSwitch may have for a user. There is a number of identity solutions that provide IDs for users that are not based on 3rd party data, and many of these solution providers extend their first-party data as offerings that can be used to offset the decline of 3rd party cookies.

BidSwitch and many of our partners support these offerings and have build systems to collate, map, and make these IDs available to Buyers, who can use them to improve the robustness of targeted advertising. When the appropriate consent is in place (e.g CCPA, GDPR) BidSwitch passes all and any correctly set ID in this field. The following IDs are the most commonly sent through BidSwitch, but if you are looking for a particular ID in requests, you should check the source value to identify it. You can find a more extensive list of possible IDs on the Prebid User ID Module page

Note

  • The LiveRamp ID is encrypted and only enabled for certain Buyers that have the business contracts in place to decrypt and use this ID, contact support@bidswitch.com if you are a LiveRamp partner.

  • The LiveIntent ID is only available to certain Buyers to whom LiveIntent wish to grant usage rights.

eids Object Properties

Value

Type

Description

source

string

(Required) Source or technology provider responsible for the set of included IDs. Expressed as a top-level domain. BidSwitch includes the following IDs when available.

  • The Trade Desk backed Unified ID passed using "adserver.org" for v1.0 and as "uidapi.com" for v2.0.

  • id5 passed using "id5-sync.com"

  • The LiveIntent ID passed using "liveintent.com"

  • IDL passed using "liveramp.com"

  • SharedID passed using "sharedid.org"

uids

array of objects

(Required) Passes the User IDs matched from the given provider.

uids Object

uids Object Properties

Value

Type

Description

id

string

(Required) The User ID with this provider.

atype

int

(Optional) The type of user agent the match is from.

  • 1 An ID which is tied to a specific web browser or device (cookie-based, probabilistic, or other).

  • 2 In-app impressions, which will typically contain a type of device ID (or rather, the privacy-compliant versions of device IDs).

  • 3 A person-based ID, i.e., that is the same across devices.

  • 500+ Vendor-specific codes.

User Object Example

{
  "user":{
    "id":"45asdf987656789adfad4678rew656789",
    "buyeruid":"1234567890",
    "keywords":"sports, entertainment",
    "yob":1976,
    "gender":"F",
    "ext":{
      "ug":1,
      "cookie_age":15,
      "consent":"Y29uc2VudCBkYXRh",
      "consented_providers_settings":{
        "consented_providers":[
          1791
        ]
      },
      "eids":[
        {
          "source":"adserver.org",
          "uids":[
            {
              "id":"zzz",
              "atype":1
            },
            {
              "id":"DB700403-9A24-4A4B-A8D5-8A0B4BE777D2",
              "atype":2
            }
          ]
        },
        {
          "source":"liveintent.com",
          "uids":[
            {
              "id":"IPl4zj44RhezVyNE83bYfogYRN6W8LaCy3USy8dPQ==",
              "atype":3
            }
          ]
        },
        {
          "source":"liveramp.com",
          "uids":[
            {
              "id":"0db20294a3908612bc7e732c2022095391074cf3"
            }
          ]
        }
      ]
    },
    "xuid":[
      {
        "provider":"TDID",
        "id":"abc12345"
      },
      {
        "provider":"id5",
        "id":"ID5-abc12345"
      }
    ]
  }
}