\r\n

51Degrees Pipeline Documentation  4.1Newer Version 4.4

Introduction

The RTB Project is an API specification for companies needing an open protocol for the automated trading of digital media across a broader range of platforms, devices, and advertising solutions. To aid those wishing to enhance the capture of device data, we've compiled a guide to map OpenRTB Object: Device fields to 51Degrees properties and values. The full Open RTB API Specification can be found here with the Device Object specification on page 23.

OpenRTB API Mappings

The following table lists the OpenRTB (3.2.18 Object: Device) field names, supported 51Degrees properties that contain equivalent data, alongside notes that may be helpful when mapping OpenRTB and 51Degrees values.

OpenRTB property OpenRTB Description 51Degrees property 51Degrees Comments
ua Browser user agent string. User-Agent field from HTTP header. The User-Agent string can be used to identify the device, application, operating system, software vendor or software version of the requesting device.
devicetype The general type of device. Refer to List 5.21. DeviceType Indicates the type of the device based on values set in other properties, such as IsMobile, IsTablet, IsSmartphone, IsSmallScreen etc.
See [OpenRTB Device Type Mappings](DeviceDetection_MigrationGuides_OpenRTBMappings_DeviceType) table below.
make Device make (e.g., “Apple”) HardwareVendor Indicates the name of the company that manufactures the device or primarily sells it, e.g. Samsung.
List of Manufactures.
model Device model (e.g., “iPhone”) HardwareModel Indicates the model name or number used primarily by the hardware vendor to identify the device, e.g.SM-T805S. When a model identifier is not available the HardwareName will be used.
List of Models.
os Device operating system (e.g., “iOS”) PlatformName Indicates the name of the operating system the device is using.
List of Operating Systems.
osv Device operating system version (e.g., “3.1.2”). PlatformVersion Indicates the version or subversion of the software platform.
hwv Hardware version of the device (e.g., “5S” for iPhone 5S). This information is contained within the HardwareModel property (OpenRTB:model).
h Physical height of the screen in pixels ScreenPixelsHeight Indicates the height of the device's screen in pixels. This property is not applicable for a device that does not have a screen. For devices such as tablets or TV which are predominantly used in landscape mode, the pixel height will be the smaller value compared to the pixel width.
w Physical width of the screen in pixels ScreenPixelsWidth Indicates the width of the device's screen in pixels. This property is not applicable for a device that does not have a screen. For devices such as tablets or TV which are predominantly used in landscape mode, the pixel width will be the larger value compared to the pixel height.
ppi Screen size as pixels per linear inch. ((ScreenPixelsWidth / ScreenInchesWidth) + (ScreenPixelsHeight / ScreenInchesHeight)) / 2 Screen size as pixels per linear inch computed from screen dimensions in pixels and inches.
js Support for JavaScript, where 0 = no, 1 = yes. Javascript Indicates if the browser supports JavaScript.

OpenRTB Device Type Mappings

This table shows the mappings between OpenRTB Device Types (5.21) and 51Degrees DeviceType Values.

OpenRTB Value OpenRTB Description 51Degrees Value
1 Mobile/Tablet Mobile
2 Personal Computer Desktop
3 Connected TV Tv
4 Phone SmartPhone, SmallScreen
5 Tablet Tablet
6 Connected Device Console, EReader, SmartWatch
7 Set Top Box MediaHub

Unsupported OpenRTB API Mappings

Currently, the following fields are not directly supported by 51Degrees. Unless stated otherwise, this is because the value is unique to an individual device.

OpenRTB property OpenRTB Description Source 51Degrees Comments
geo Location of the device assumed to be the user’s current location defined by a Geo object (Section 3.2.19). Contact Us
dnt Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track This data is not captured as it is unique to a device.
lmt “Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. This data is not captured as it is unique to a device.
ip IPv4 address closest to device. From HTTP requests. Contact Us
ipv6 IP address closest to device as IPv6. From HTTP requests. This data is not captured as IPv6 adoption is not universal enough to justify.
pxratio The ratio of physical pixels to device independent pixels. Contact Us
geofetch Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes. This data is not captured as it is unique to a device.
flashver Version of Flash supported by the browser. Not mapped as legacy property.
language Browser language using ISO-639-1-alpha-2. Accept-Language field from HTTP header. This data is not captured as it is unique to a device.
carrier Carrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders a priori. Contact Us
mccmnc Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA). Contact Us
connectiontype Network connection type. Refer to List 5.22. Contact Us
ifa ID sanctioned for advertiser use in the clear (i.e., not hashed).
didsha1 Hardware device ID (e.g., IMEI); hashed via SHA1.
didmd5 Hardware device ID (e.g., IMEI); hashed via MD5.
dpidsha1 Platform device ID (e.g., Android ID); hashed via SHA1.
dpidmd5 Platform device ID (e.g., Android ID); hashed via MD5.
macsha1 MAC address of the device; hashed via SHA1.
macmd5 MAC address of the device; hashed via MD5.
ext Placeholder for exchange-specific extensions to OpenRTB. n/a

OpenRTB Property Values

Below are several lists of values for use with OpenRTB, they are all open source Creative Commons licensed.

  • Hardware Vendors - A list of popular consumer electronic manufactures who sell connected devices.
  • Hardware Models - A list of popular consumer electronic model codes.
  • Platform Names - A list of popular operating system names.