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 Key | Value Type | Description |
| --- | --- | --- |
| `$ortb_override` | JSON Object | The value of this key will be merged into the OpenRTB request sent to the Demand Partner. This will occur before bidder specific transformations. |

## $ortb_override

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

**Example 1**

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

```json
{
  "$ortb_override": {
    "site": {
        "name": "Replaced Site Name"
    }
  }
}
```

So we see that the **value** of `$ortb_override` 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)](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#objectsite).

**Example 2**

Let's now update the additional settings to include a _PMP deal_. Again we can utilize the [OpenRTB Specification for a PMP Object](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#3211---object-pmp-). Here we learn that _PMP_ objects contain [Deal Objects](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#3211---object-pmp-) and reside in the [Imp Object](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#3211---object-pmp-). So we adjust our settings to mirror the spec in exactly this way.

```json
{
  "$ortb_override": {
    "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.
