BidRequest.device
Device
The end user's hardware, platform, connection and advertising identifier.
Fields
| Field | Type | Level | Description |
|---|---|---|---|
| geo | object | recommended | Location of the device. |
| dnt | integer | recommended | Do Not Track flag from the browser. |
| lmt | integer | recommended | Limit Ad Tracking flag from the platform. |
| ua | string | optional | Browser user agent string. |
| sua | object | optional | Structured user agent, from Client Hints. |
| ip | string | optional | IPv4 address closest to the device. |
| ipv6 | string | optional | IPv6 address if available. |
| devicetype | integer | optional | General device category. |
| make | string | optional | Device manufacturer. |
| model | string | optional | Device model, for example iPhone. |
| os | string | optional | Operating system. |
| ifa | string | optional | The advertising identifier for the device. |
Example
{
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) …",
"devicetype": 1,
"make": "Apple",
"model": "iPhone",
"os": "iOS",
"osv": "17.0",
"lmt": 0,
"ifa": "AEBE52E7-03EE-455A-B3C4-E57283966239",
"geo": { "country": "USA", "type": 2 }
}What matters in practice
lmt is not advisory. When it is 1 the user has asked the platform not to be tracked, and the ifa must not be used for targeting or attribution regardless of whether it is still present in the request. Separately, sua is the structured replacement for the user agent string as browsers reduce what ua exposes; integrations still parsing ua alone are steadily losing device detail they used to get for free.
Related objects
Field names, types and requirement levels from the IAB Tech Lab OpenRTB 2.6 specification (2.6-202211), verified 30 July 2026. The practice notes are not spec text.