Is OpenRTB backwards compatible between versions?
Answer
Within the 2.x line, largely yes: revisions are mostly additive, so a 2.4 request is generally still parseable by a 2.6 endpoint. The exceptions are field promotions (gdpr, consent, schain, us_privacy moved from ext to first-class paths in 2.6), the plcmt replacement of video placement in 2.6-202303 (different enum values, no direct mapping), and removals of long-deprecated attributes like banner wmax/hmax. OpenRTB 3.0 is explicitly not backwards compatible with 2.x: different object model, different layering, separate integration. So treat 2.x upgrades as migrations of specific fields, and 3.0 as a new protocol.
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.