Device Object Properties

Note

Fields marked with an asterisk (*) are optional.

Device Object Properties

Value

Type

Description

geo

object

Geo Object as derived from the device’s location services, or supplied by the Supplier if the device IP is missing. For more information, see the Geo Object Properties section.

ip

string

Specifies the IPv4 address closest to the device.

  • Semi-Required One of IP or IPv6 required

  • Required for almost all requests, any containing invalid IP addresses will be discarded based on IP Validation e.g. 87.224.77.0

  • Note: This field is only optional for Connected TV inventory

ipv6*

string

Semi-Required One of IP or IPv6 required. IP address in IPv6, for example, fe80:0:0:0:200:f8ff:fe21:67cf

ua*

string

Browser or application user agent string, for example, "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0)Gecko/20100101Firefox/35.0"

language*

string

Alpha-2/ISO 639-1 code of browser language, for example, en

carrier*

string

Carrier or ISP derived from the IP address, for example, WIFI

connectiontype*

integer

Connection type as defined in OpenRTB, for example, 2

didsha1*

string

Hardware device ID (e.g., IMEI); hashed via SHA1, for example, CCF6DC12B98AEB2346AFE1BEE7860DF01FDE158B

didmd5*

string

Hardware device ID (e.g., IMEI); hashed via MD5. 93D05D4D69DEE2BC6645D9F0A0C1938C

dpidsha1*

string

Platform device ID (e.g., Android ID); hashed via SHA1, for example, CCF6DC12B98AEB2346AFE1BEE7860DF01FDE158B

dpidmd5*

string

Platform device ID (e.g., Android ID); hashed via MD5, for example, 93D05D4D69DEE2BC6645D9F0A0C1938C

ifa*

string

The ID for Advertisers (IFA) in clear text (i.e. not hashed), for example Apple’s IDFA or Android’s Advertising ID.

The Apple IDFA is usually uppercase, and the Android Advertiser ID is usually lowercase. For example:

  • Android "035911ea-467d-4056-903b-65cf44f5633b"

  • iOS "30255BCE-4CDA-4F62-91DC-4758FDFF8512"

  • iOS 14 00000000-0000-0000-0000-000000000000, with Apple’s deprecation of the IDFA as part of iOS 14, this field should be passed using all zeros, rather than removed or an empty string, as all zeros are the expected format.

Note: This fields can use UUIDv4 or UUIDv5 formats. If passing synthetic IFAs, you should use either the v4 or v5 implementation of RFC 4122 to generate them. There’s a number of online tools for checking the version if you need to troubleshoot UUID issues, e.g. UUID / GUID Validator

make*

string

Device make, for example, Apple

mccmnc*

string

Mobile carrier as the concatenated MCC-MNC code (e.g., "310-005" identifies Verizon Wireless CDMA in the USA). Refer to https://en.wikipedia.org/wiki/Mobile_country_code for further examples. Note: that the dash between the MCC and MNC parts is required to remove parsing ambiguity

model*

string

Device mode, for example, iPhone

os*

string

Device operating system, for example, iOS

osv*

string

Device operating system version, for example, 3.1.2

h*

integer

Physical height of the screen in pixels, for example, 750

w*

integer

Physical width of the screen in pixels, for example, 1334

pxratio*

float

The ratio of physical pixels to device independent pixels, for example, 1.0

dnt*

integer

Do not track.

  • 0: do not track is set to false

  • 1: do not track is set to true in the browser, for example, 0

lmt*

integer

Limit Ad Tracking. Signal commercially endorsed (e.g., iOS, recommended Android):

  • 0: tracking is unrestricted,

  • 1: tracking must be limited per commercial guidelines, for example, 0

devicetype*

integer

Device type as defined by OpenRTB, for example, 4

js*

integer

1 if the device supports JavaScript; otherwise 0.

flashver*

string

Flash version detected, for example, 10.1

ext*

object

Device extension object

Device Ext

Device Ext Object Properties

Value

Type

Description

atts*

int

(iOS Only) An integer passed to represent the app’s app tracking authorization status, can contain the following values.

  • 0 = not determined

  • 1 = restricted

  • 2 = denied

  • 3 = authorized

dooh*

object

Passes the DOOH Object for Digital out of Home inventory, required to indicate DooH inventory

truncated_ip*

integer

Indicates whether the IP address in the device.ip field is truncated. 1 = truncated 0 = not truncated. It is assumed not truncated and required if the IP address is truncated. If not declared the bid request might be classified as invalid traffic, by Google. This is a field only for Google, see the Display & Video 360 OpenRTB Specification

ifa_type*

string

Indicates the origin of the device.ifa field, whether it was provided from the device itself or generated by a publisher or Supplier in the supply chain. Takes the following values from the Guidelines for Identifier for Advertising (IFA) on CTV/OTT platforms

  • "aaid" Android TV

  • "rida" Roku

  • "afai" Amazon Fire

  • "idfa" Apple tvOS

  • "msai" Xbox/Microsoft

  • "dpid" Generic device platform ID

  • "ppid" Publisher provided ID

  • "sspid" SSP provided ID

  • "sessionid" Short-lived session ID (frequency capping only)

idfv*

str

Passes the ID for Vendor (IDFV).

A persistent unique identifier for each app on a device that identifies the device to the app’s vendor. The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor, e.g. "1F277D46-12BF-482A-9085-B4F811DD6E4D"

Note

Initially this field was passed as idfv but was officially changed after version 1 of the IAB specification. The fields can have the following forms: idfv, ifv, or idv.

cdep*

string

The cookie deprecation test label as received from Chrome or an upstream partner, for example, treatment_1.1 or control_2