OpenRTB examples

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.

More examples