Additional RTB Settings

When editing an RTB enabled Advertiser or Ad in the Kevel UI the final text area is the "Additional RTB Settings" input. Here it is possible to make additional transformations to the RTB request that will be sent to the Demand Partner.

These additional settings are:

  • optional
  • capable of modifying many aspects of the OpenRTB request body

Input and Reserved Keys

The value that is placed in the Additional RTB Settings input is a JSON object that makes use of Reserved Keys, these are special keys in the object that Kevel systems use internally.

Additional RTB Settings KeyValue TypeDescription
$openrtb_replacementsJSON ObjectThe value of this key will be merged into the OpenRTB request sent to the Demand Partner. This will occur before bidder specific transformations.

$openrtb_replacements

The $openrtb_replacements key allows you to modify the OpenRTB request body itself.

Example 1

To customize the OpenRTB Site name the following value would be used:

{
  "$openrtb_replacements": {
    "site": {
        "name": "Replaced Site Name"
    }
  }
}

So we see that the value of $openrtb_replacements is the JSON object {"site": {"name": "Replaced Site Name"}} this is exactly the value described in the OpenRTB Specification for the Site Object (3.2.13).

Example 2

Lets now update the additional settings to include a PMP deal. Again we can utilize the OpenRTB Specificiation for a PMP Object. Here we learn that PMP objects contain Deal Objects and reside in the Imp Object. So we adjust our settings to mirror the spec in exactly this way.

{
  "$openrtb_replacements": {
    "site": {
        "name": "Replaced Site Name"
    },
    "imp": [{
        "pmp": {
            "deals": [
                {"id": "My Deal Id"}
            ]
        }
    }]
  }
}

Important Note: In Example 2 we modify an imp object. A Kevel Ad entity always corresponds to exactly one imp. Setting more than one imp object in the imp array will result in unexpected behaviour.