Custom Parameters (Key-Value Pairs)

Publishers can create customized targeting packages using key-value pairs and sell them at higher CPMs than their regular inventory.

Key-value pairs can be used for a variety of purposes:

  • Page identification on a website
  • Audience segments
  • Content targeting
  • Target ad inventory

A key-value pair consists of two elements:

  • Key (such as “category”)
  • Value (“sport”).

Key-value pairs are attached directly to the player tag and passed to buyers through the bid request and provide context that helps advertisers identify high-performing segments.

Primis platform supports defining targeting according to key-values pairs in the campaign setup, once selecting Prebid or RTB ad integration type, you would be able to set custom parameters targeting.

Primis Custom Parameters Structure

The custom parameters field in the campaign setup has input text that is composed of two parts:
[key hierarchy]=[macro]

Key Hierarchy

  • The [key hierarchy] is built from words separated by dots
  • Keys must not include any numbers or special characters
  • The key structure represents the full hierarchy inside the bid request object in which you intend to implement the custom data

For example:
“video.ext.custom” is a legitimate key.
Notice that the custom key hierarchy must start from the top of the hierarchy.

Macro (Placeholder)

The [macro] is the placeholder that indicates to the player which value should be placed instead of it.

There are two types of placeholders:

  • Predefined key-value parameters embedded in the player tag
  • Dynamic values

Predefined KV params - can be embedded in the player tag, allowing the publisher to control specific campaign bid request values. For example:
Tag: liveView.php/……?kv_1=automobile
Campaign setup: video.ext.cat=${KV_1}
This will result in the “automobile” value passing through the specific campaign bid request in the “video.ext.cat” hierarchy

Dynamic values - embedded in the campaign setup as a placeholder macro and replaced in real-time by the corresponding value. For example:
Campaign setup: video.player_type=${PLAYER_TYPE}
In real-time, the client code will replace the ${PLAYER_TYPE} macro in the bid request structure with the flow status of the player at that time (docking or floating)