RTBlintAlpha
Bid request example with GDPR and GPP consent
A mobile banner request carrying privacy signals at their OpenRTB 2.6 paths: regs.gdpr, user.consent, and the GPP pair.
The payload
{
"id": "req-banner-8842",
"test": 0,
"at": 2,
"tmax": 200,
"cur": ["USD"],
"bcat": ["IAB25", "IAB26"],
"cattax": 1,
"badv": ["competitor.example"],
"regs": { "coppa": 0, "gpp": "DBABMA~CPXxRfAPXxRfAAfKABENB", "gpp_sid": [7] },
"app": {
"id": "app-201",
"bundle": "com.example.dailynews",
"storeurl": "https://play.example.com/dailynews",
"cat": ["IAB12"],
"publisher": { "id": "pub-88", "name": "Daily News Group" }
},
"device": {
"ua": "Mozilla/5.0 (Linux; Android 14; Pixel 8)",
"sua": {
"browsers": [{ "brand": "Chromium", "version": ["124"] }],
"platform": { "brand": "Android", "version": ["14"] },
"mobile": 1,
"source": 2
},
"ip": "198.51.100.7",
"devicetype": 4,
"make": "Google",
"model": "Pixel 8",
"os": "Android",
"osv": "14",
"language": "en",
"js": 1,
"connectiontype": 6,
"ifa": "5c9b2a44-9d1e-4f6a-8a3d-72cb0e9a1f02"
},
"user": {
"eids": [
{
"source": "liveramp.com",
"uids": [{ "id": "XY1122334455", "atype": 3 }]
}
]
},
"imp": [
{
"id": "1",
"instl": 0,
"secure": 1,
"bidfloor": 0.5,
"banner": {
"format": [
{ "w": 320, "h": 50 },
{ "w": 300, "h": 250 }
],
"w": 320,
"h": 50,
"pos": 1,
"btype": [4],
"battr": [1, 3],
"api": [3, 5]
}
}
]
}Open this payload in the tester to validate it live, change fields, and watch which rules fire.
What to notice
- regs.gdpr and user.consent are the 2.6 core paths; their 2.5-era ext locations are flagged as moved by validators.
- regs.gpp and regs.gpp_sid travel together; either one alone is an uninterpretable signal.
- The TCF consent string in user.consent is carried opaque; OpenRTB transports it, TCF defines it.