What happens to ifa when the user limits ad tracking (ATT)?
Answer
When the user denies tracking, the OS advertising API returns an all-zero identifier, so device.ifa arrives as 00000000-0000-0000-0000-000000000000 or is omitted entirely, and device.lmt should be 1. Never treat a zeroed ifa as a real ID for frequency capping, matching, or attribution; filter it out. The 2.6 spec defines ifa as the ID sanctioned for advertiser use in the clear, derived from the device OS advertising API, so once the OS stops vending it there is no compliant substitute in that field.
Fields in this answer
| Field | Type | Since | Status in 2.6 |
|---|---|---|---|
device.ifa | string | 2.2 | Current |
device.lmt | integer | 2.3 | Current |
Go deeper
More questions on privacy, identity, supply chain, and versions
- How do I pass GDPR consent in an OpenRTB bid request? Set regs.gdpr to 1 when the request is subject to GDPR and put the TCF consent string in user.consent.
- How do I pass a GPP string in OpenRTB? Put the Global Privacy Platform consent string in regs.gpp and list the applicable section IDs in regs.gpp_sid.
- GPP vs us_privacy: which should I send? Send GPP (regs.gpp plus regs.gpp_sid) where your partners support it; the US Privacy signal was deprecated by IAB Tech Lab on January 31, 2024 in favor of GPP.
- How do I signal CCPA in OpenRTB? Put the US Privacy string in regs.us_privacy, which is a first-class field in OpenRTB 2.6; on 2.5 and earlier it travels as regs.ext.us_privacy per the IAB extension.
- How do I signal COPPA in an OpenRTB request? Set regs.coppa to 1 when the request is subject to the COPPA regulations established by the US FTC, and 0 when it is not.
- What is the DSA extension in OpenRTB? The DSA transparency extension carries EU Digital Services Act ad-transparency data through OpenRTB 2.x ext blocks.
All 93 questions are listed in the OpenRTB FAQ.