Prioritizing deals for Ad Pods
Overview
These instructions guide you through how to set up an OpenWrap CTV request to enable Deal Prioritization.
Request Parameters
Parameter | Type | Description | Default value |
---|---|---|---|
| integer | Request-level parameter that indicates whether OpenWrap should prioritize a deal based on the deal tiers passed in the request. Values are:
JSON field = req.ext.wrapper.supportdeals | false |
| object | An impression-level parameter that specifies bidder specific tier information to be used by OpenWrap in determining if deal bid is satisfying the bidder's deal tier.
dealtier object hierarchy: JSON field = imp[<INDEX>].ext.bidder[<BIDDERNAME>].dealtier | |
| integer | Only for publishers using GAM as the Primary Ad Server. Request-level parameter that indicates whether the brand category is included in the targeting key.
JSON field = req.ext.wrapper.includebrandcategory | 0 |
Setting up deal prioritization
This section provides steps for setting up deal prioritization without a primary ad server ways:
- Without a primary ad server
- With a primary ad server
Set up without a primary ad server
Use this set up method if you want to prioritize deals without a primary ad server.
Endpoints:
/video/openrtb | Returns ad pod response in OpenRTB Format. |
/video/vast | Returns ad pod response in VAST XML Format. |
Pass (Optional) In this sample, we used In this sample (using Represents whether corresponding deal bid has satisfied the tier. Note: This is not applicable for If attribute is empty = deal tier was not satisfied The deal bid priority returned by the bidder. Note: This is not applicable for Non-zero positive value = priority of the deal bid Response has In this example, supportdeals = true
in the request-level wrapper extension object of the OpenWrap Ad Pod request, as follows:
Pass the dealtier
information in the impression-level bidder extension of the OpenWrap Ad Pod request, as follows: <
BIDDER_PREFIX>
with a string value bidder-specific prefix required for deal tiering.<MINIMUM_REQUIRED_DEAL_PRIORITY>
with an integer value greater than 0.includebrandcategory
to include a bid category (1
= IAB bid category) in the request-level wrapper extension object of the OpenWrap Ad Pod request:Sample Request
debug = 1
), AppNexus is passed as the bidder with a minimum deal tier priority of 4. This means deals with a priority that is greater than or equal to 4 must be considered as satisfying the deal tier. debug=1
to get the debug object inside extension.Debug attribute Description Value dealtiersatisfied
/video/vast
endpointTrue
= deal bid has satisfied the deal tierdealpriority
/video/vast
endpoint0
= attribute will not be presentSample response
seatbid.bid
object representing Ad Pod.dealtiersatisfied = true
indicates the deal bid has satisfied the deal tier. dealpriority
indicates a deal bid priority of 9.
Set up using a primary ad server
Use this set up method if you are using a primary ad server and want to compete for programmatic and guaranteed demand.
Endpoint:
/video/json | This endpoint returns targeting keys along with its values. It will not return an actual ad pod. |
In this example, we will be looking for pwtpb_cat_dur
as one of the targeting key in the Ad Response.
pwtpb_cat_dur - Provision for deal priortization
Is a targeting key returned by OpenWrap video/json endpoint. It is equivalent to Prebid Server's hb_pb_cat_dur
It is interpreted as:
pb
= price bucket of the bid
cat
= bid category
dur
= duration of video bid.
For example, pwtpb_cat_dur = 10.00_sports_5s
indicates the bid as $10.00, belonging to the IAB Sports category, and has a duration of 5 seconds.
Changes for deal prioritization
When deal prioritization is requested, OpenWrap replaces pb
with the deal tier prefix and deal priority for the deal bids satisfying the deal tier.
For example, a deal bid is returned by the bidder:
Bid Price | Bid Category | Bid Priority | Duration |
---|---|---|---|
$10.00 | IAB-17 (Sports) | 9 | 5 seconds |
The above deal bid satisfied the following bidder's deal tier:
Prefix | Minimum Deal Priority |
---|---|
apnx | 4 |
In this case pwtpb_cat_dur
will be changed as follows:
Old Value | New Value |
---|---|
10.00_sports_5s | apnx9_sports_5s |
The new value indicates the bid with deal priority 9 has satisfied the bidder's deal tier, it belongs to IAB Sports category, and has a duration of 5 seconds.
pwtpb_cat_dur
will be then used by the primary ad server as key-value targeting in the line item setup. This will ensure line items that represent corresponding deal are getting prioritized in auction of primary ad server.
Pass (Optional) In this sample, we used In this sample (using Represents whether corresponding deal bid has satisfied the tier. Note: This is not applicable for If attribute is empty = deal tier was not satisfied The deal bid priority returned by the bidder. Note: This is not applicable for Non-zero positive value = priority of the deal bid Response has In this example, supportdeals = true
in the request-level wrapper extension object of the OpenWrap Ad Pod request, as follows:
Pass the dealtier
information in the impression-level bidder extension of the OpenWrap Ad Pod request, as follows: <
BIDDER_PREFIX>
with a string value bidder-specific prefix required for deal tiering.<MINIMUM_REQUIRED_DEAL_PRIORITY>
with an integer value greater than 0.includebrandcategory
to include a bid category (1
= IAB bid category) in the request-level wrapper extension object of the OpenWrap Ad Pod request:Sample Request
debug = 1
), AppNexus is passed as the bidder with a minimum deal tier priority of 4. This means deals with a priority that is greater than or equal to 4 must be considered as satisfying the deal tier. debug=1
to get the debug object inside extension.Debug attribute Description Value dealtiersatisfied
/video/vast
endpointTrue
= deal bid has satisfied the deal tierdealpriority
/video/vast
endpoint0
= attribute will not be presentSample response
seatbid.bid
object representing Ad Pod.dealtiersatisfied = true
indicates the deal bid has satisfied the deal tier. dealpriority
indicates a deal bid priority of 9.
Failure scenarios
If the bid response does not have a category | Then the bid will be rejected by OpenWrap when |
If the same bid.id is returned by a bidder in case of multiple bids response | Then the bid will be rejected by OpenWrap when includebrandcategory = 1 or 2 |
FAQs
Question: Partner / Bidder not responded with creative duration
Answer: In such a case pwtpb_cat_dur
will be populated using corresponding impression level max duration value. Hence, the actual ad duration may not match with the max duration
Question: How does category or advertiser exclusion works when a deal bid satisfies the deal tier?
Answer: There are two possibilities:
- A combination containing the highest number of deal bids, that satisfied the deal tier, will be selected on priority and then an exclusion algorithm will be applied on top of it
- Deal bids which satisfied the deal tier will be preferred on top of other bids. These deal bid buckets will also be sorted based on bid price.
Question: Will pwtpb_cat_dur
key be populated if deal bid not satisfied the tier?
Answer: Yes, if supportdeals = true
for any winning bid, this key will be populated. However, it will contain the actual price bucket of the given bid, instead of deal tier prefix + deal priority.
Table of Contents