Device Object¶
Note
Fields marked with an asterisk (*) are optional.
In the even that a user has opted-out under the GDPR or CCPA, the following data
will be removed from the request, device.ip
or ipv6
, and device.ifa
Value |
Type |
Description |
---|---|---|
geo |
object |
(Recommended) 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 section. |
ip |
string |
Specifies the IPv4 address closest to the device.
|
ipv6 |
string |
Semi-Required One of IP or IPv6 required. IP address in IPv6, for example
|
ua* |
string |
Browser or application user agent string, for example,
Browser user agent string. This field represents a raw user agent string from
the browser. For backwards compatibility, exchanges are recommended to always
populate |
sua* |
object |
Structured user agent. If both |
language* |
string |
Alpha-2/ISO 639-1 code of browser language, for example, |
langb* |
string |
Browser language using IETF BCP 47. Only one of language or langb should be present. |
carrier* |
string |
Carrier or ISP derived from the IP address, for example, |
connectiontype* |
integer |
Connection type as defined in OpenRTB, for example, |
ifa** |
string |
The ID for Advertisers (IFA) in clear text (i.e. not hashed), for example Apple’s IDFA or Android’s Advertising ID. Note: This field is required for in-app requests. The Apple IDFA is usually uppercase, and the Android Advertiser ID is usually lowercase. For example:
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 maker, for example, |
mccmnc* |
string |
Mobile carrier as the concatenated MCC-MNC code (e.g., |
model* |
string |
Device mode, for example, |
os* |
string |
Device operating system, for example, |
osv* |
string |
Device operating system version, for example, |
h* |
integer |
Physical height of the screen in pixels, for example, |
w* |
integer |
Physical width of the screen in pixels, for example, |
pxratio* |
float |
The ratio of physical pixels to device independent pixels, for
example, |
dnt* |
integer |
(Recommended) Do not track.
|
lmt* |
integer |
(Recommended) Limit Ad Tracking. Signal commercially endorsed (e.g., iOS, recommended Android):
|
devicetype* |
integer |
Device type as defined by OpenRTB, for example, |
js* |
integer |
1 if the device supports JavaScript; otherwise 0. |
flashver* |
string |
Flash version detected, for example, |
ext* |
object |
Device extension object |
didsha1* |
string |
Hardware device ID (e.g., IMEI); hashed via SHA1, for example,
Deprecated since version 5.3. |
didmd5* |
string |
Hardware device ID (e.g., IMEI); hashed via MD5.
Deprecated since version 5.3. |
dpidsha1* |
string |
Platform device ID (e.g., Android ID); hashed via SHA1, for example,
Deprecated since version 5.3. |
dpidmd5* |
string |
Platform device ID (e.g., Android ID); hashed via MD5, for example,
Deprecated since version 5.3. |
Structured User Agent¶
Structured user agent information, which can be used when a client supports User-Agent
Client Hints. If both device.ua
and device.sua
are present in the bid request,
device.sua
should be considered the more accurate representation of the device
attributes. This is because the device.ua may contain a frozen or reduced user agent
string due to deprecation of user agent strings by browsers.
Value |
Type |
Description |
---|---|---|
browsers* |
array of objects |
Each Brand Version object identifies a browser or similar software component.
Implementers should send brands and versions derived from the
|
platform* |
object |
A BrandVersion object that identifies the user agent’s execution platform / OS.
Implementers should send a brand derived from the Sec-CH-UA-Platform header, and
version derived from the Sec-CH-UAPlatform-Version header or an equivalent
JavaScript accessor from |
mobile* |
int |
Indicates a mobile version:
|
architecture* |
string |
Device’s major binary architecture, e.g. “x86” or “arm” |
bitness* |
string |
Device’s bitness, e.g. “64” for 64-bit architecture. |
model* |
string |
Device model. |
source* |
integer |
The source of data used to create this object
|
Brand Version Object¶
Value |
Type |
Description |
---|---|---|
brand* |
string |
(Required) A brand identifier, for example, “Chrome” or “Windows”. The value may be sourced from the User-Agent Client Hints headers, representing either the user agent brand (from the Sec-CH-UA-Full-Version header) or the platform brand (from the Sec-CH-UA-Platform header). |
version* |
array of strings |
A sequence of version components, in descending hierarchical order (major,
minor, build, patch, etc e.g. |
Device Ext¶
Value |
Type |
Description |
---|---|---|
atts* |
int |
(iOS Only) An integer passed to represent the app’s app tracking authorization status, can contain the following values.
|
truncated_ip* |
integer |
Indicates whether the IP address in the |
ifa_type* |
string |
Indicates the origin of the
|
idv* |
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. Note Initially this field was passed as |