Device.ifa

The device's resettable advertising ID, sent unhashed, such as Apple's IDFA, Google's Android advertising ID, or the equivalent ID on a CTV platform.

CurrentstringOptionalSince 2.2

Field facts

Path
device.ifa
Object
Device
Type
string
Requirement
Optional
Added
OpenRTB 2.2
Spec section
3.2.18

How it is used

This is the main identity signal for app and CTV inventory. Unless buyer and seller agree otherwise, it should come straight from the operating system's advertising API rather than being generated by the app. When the user limits tracking, iOS returns an all-zero ID and Android does the same after the user deletes the ID, so the field arrives zeroed or absent and device.lmt should be 1. Whether it may be sent at all also depends on the consent and regulatory signals in the same request.

Example

Where the field sits in a payload, with everything else left out:

{
  "id": "req-1",
  "device": {
    "ifa": "AAAAAAAA-BBBB-4CCC-8DDD-EEEEEEEEEEEE"
  }
}

Common mistakes

  • Treating 00000000-0000-0000-0000-000000000000 as a real ID. It is what the OS returns when tracking is limited; filter it out before frequency capping or matching.
  • Sending a live ifa with device.lmt set to 1. RTBlint reports that combination as a privacy signal contradiction.
  • Hashing the value. The field is meant to be sent in the clear, and a hash breaks matching for every buyer that expects the raw ID.

Version history

Added in OpenRTB 2.2, and present in the latest snapshot. The table shows how each version's spec text types the field.

VersionsType in the specRequiredDeprecated
2.2stringNoNo
2.3 to 2.3.1stringNoNo
2.4stringNoNo
2.5 to 2.6-202606stringNoNo

Versioned rules that name this field

Related fields

Other Device fields