Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titlesupportdeals (true/false) (request level parameter)

Indicates whether OpenWrap should prioritise the deals based on the deal tiers passed in the request.

1.  true indicates OW must consider deals on priority which satisfies the deal tier

2. false indicates OW should not consider any deals on priority

Default Value = false


JSON Field = req.ext.wrapper.supportdeals


...

Info
titleincludebrandcategory (0/1/2) (Request level parameter)

Only for Publisher's having DFP as Primary Ad Server

Indicates whether OpenWrap should determine the bid category while populating pwtpb_cat_dur key

  1. 0 - Indicates bid category is not expected in pwtpb_cat_dur. For Example, pwtpb_cat_dur = 10.00_5s
  2. 1 - Indicates bid category returned in bid response (by corresponding bidder) is expected. Typically it would be IAB category. For Example, pwtpb_cat_dur = 10.00_IAB-17_5s
  3. 2 - Indicates Primary Ad Server defined category (Equivalent of BID IAB Category) is expected. For Example, pwtpb_cat_dur = 10.00_Sports_5s
    1. It performs category translation from Bid Category to equivalent Category defined by Primary Ad Server
    2. Today OpenWrap only holds the category mapping for DFP as primary ad server. We determine your Primary Ad Server from the Profile ID passed in the request
Default Value = 0


JSON Field = req.ext.wrapper.includebrandcategory



Setup 1 : Prioritise My Deals in Final Ad Pod Response (Don't have Primary Ad Server)

...

Excerpt
  • Ensure you are passing  supportdeals = true in request level wrapper extension object  of OW Ad Pod request as follows

    Code Block
    titlePOST Request
    linenumberstrue
    collapsetrue
    {
        "imp": [],
        "ext": {
            "wrapper": {
                "supportdeals": true
            }
        }
    }


    Code Block
    titleGET Request
    linenumberstrue
    collapsetrue
    /video/openrtb?req.ext.wrapper.supportdeals=true
    /video/vast?req.ext.wrapper.supportdeals=true


  • Ensure you are passing tiering information (dealtier) in Impression level bidder extension of OW Ad Pod request  as follows  

    Replace <BIDDER_PREFIX> , a string value, with bidder specific prefix required for deal tiering

    Replace <MINIMUM_REQUIRED_DEAL_PRIORITY> , a integer value with non-zero positive number

    Code Block
    titlePOST Request
    linenumberstrue
    collapsetrue
    {
        "imp": [{
            "ext": {
                "bidder": {
                    "bidder1": {
                        "dealtier": {
                            "prefix": "<BIDDER_PREFIX>",
                            "mindealtier": <MINIMUM_REQUIRED_DEAL_PRIORITY>
                        }
                    },
                    "bidder2": {
                        "dealtier": {
                            "prefix": "<BIDDER_PREFIX>",
                            "mindealtier": <MINIMUM_REQUIRED_DEAL_PRIORITY>
                        }
                    }
                }
            }
        }]
    }


    Code Block
    titleGET Request
    linenumberstrue
    collapsetrue
    imp[<INDEX>].ext.bidder=encodeURI('{"bidder1":{"dealtier":{"prefix":"<BIDDER_1_PREFIX>","mindealtier":<MINIMUM_REQUIRED_DEAL_PRIORITY> }},"bidder2":{"dealtier":{"prefix":"<BIDDER_2_PREFIX>","mindealtier":<MINIMUM_REQUIRED_DEAL_PRIORITY>}}}')
    
    
    // Output - %7B%22bidder1%22:%7B%22dealtier%22:%7B%22prefix%22:%22%3CBIDDER_1_PREFIX%3E%22,%22mindealtier%22:%3CMINIMUM_REQUIRED_DEAL_PRIORITY%3E%20%7D%7D,%22bidder2%22:%7B%22dealtier%22:%7B%22prefix%22:%22%3CBIDDER_2_PREFIX%3E%22,%22mindealtier%22:%3CMINIMUM_REQUIRED_DEAL_PRIORITY%3E%7D%7D%7D


  • (Optional) Ensure you are passing  includebrandcategory = 1/2 in request level wrapper extension object  of OW Ad Pod request as follows if you want to include bid category as follows

    Code Block
    titlePOST Request
    linenumberstrue
    collapsetrue
    {
        "imp": [],
        "ext": {
            "wrapper": {
                "includebrandcategory": 1
            }
        }
    }


    Code Block
    titleGET Request
    linenumberstrue
    collapsetrue
    /video/openrtb?req.ext.wrapper.includebrandcategory=1
    /video/vast?req.ext.wrapper.includebrandcategory=1


  • Sample Request 

    Here we are requesting (with debug=1) to prioritise the deal bids of AppNexus as bidder. For this, we are passing dealtier object. It is mentioning that deal bids have deal priority greater than or equal to 4 must be considered as satisfying the tier. 

    Code Block
    titlePOST Request
    linenumberstrue
    collapsetrue
    {
        "imp": [{
            "ext": {
                "bidder": {
                    "appnexus": {
                        "dealtier": {
                            "prefix": "apnx",
                            "mindealtier": 4
                        }
                    }
                }
            }
        }],
        "ext": {
            "wrapper": {
                "supportdeals": true
            }
        }
    }


    Info
    titledebug=1 Pass this get debug object inside extension



    Info
    titledealtiersatisfied - debug attribute

    Represents, whether corresponding deal bid has satisfied the tier.

    true - Indicates corresponding deal bid has satisfied the deal tier Absence of this attribute indicates that deal tier is not satisfied NOTE: This is not applicable for /video/vast endpoint


    Info
    titledealpriority - debug attribute

    Represents, the actual deal bid priority returned by the bidder. It must be non-zero positive value

    This attribute will not be present if its value is 0

    NOTE: This is not applicable for /video/vast endpoint


  • Sample Response
    Response is having seatbid.bid object representig Ad Pod.
    ext.debug - dealtiersatisfied = true indicating deal bid has satisfied the deal tier. dealpriority indicating the deal bid's priority is 9

  • Code Block
    titleSample Response
    linenumberstrue
    collapsetrue
    {
        	"id": "1559039248176",
        	"seatbid": [{
            		"bid": [{
                			"id": "9f12b1b0-18b3-43fd-bef3-e228ead461df",
                			"impid": "28635736ddc2bb1",
                			"price": 9.970912454221653,
                			"adm": "<REFER_TO_SCREEN_SHOT>",
                <Ad Contents>",
    			"adomain": [""]
            		}],
            		"seat": "prebid_ctv"
        	}],
        	"cur": "USD",
        	"ext": {
    		"debug":        "debug{
    			"adpod": {
                "adpod				"bidresponse": {
    					"id":                "bidresponse"1559039248176",
    					"seatbid": [{
    						"bid": [{
    							"price": 7.859015151412768,
    							"ext":                "id{
    								"partner": "1559039248176appnexus",
    								"prebid":                    "seatbid{
    									"targeting": [{
                            "bid": [{
                                "price": 7.859015151412768,
                                "ext": {
                                    										"pwtpb": "1.00",
    										"pwtpb_cat_dur": "apnx9_30s"
    									},
    									"dealtiersatisfied": true,
    									"dealpriority": 9
    								}
    							}
    						}, {
    							"price": 2.111897302808885,
    							"ext": {
    								"partner": "appnexus",
    								"prebid": {
    									"targeting":                              "prebid": {
                                        "targeting": {
                                            "pwtpb": "1.00",
                                            "pwtpb_cat_dur": "apnx9_30s"
                                        },
                                        "dealtiersatisfied": true,
                                        "dealpriority": 9
                                    }
                                }
                            }],
                            {
    										"pwtpb": "1.00",
    										"pwtpb_cat_dur": "2.1_30s"
    									}
    								}
    							}
    						}],
    						"seat": "appnexus"
                        }],
                        					}],
    					"cur": "USD"
                    }
                }
            }
        				}
    			}
    		}
    	}
    }


Setup 2 : Do Provision for Deal Prioritisation and Return Targeting Key values (I have Primary Ad Server)

...

  1. It will not return actual ad pod response
  2. It will return targeting keys associated with the winning bids
  3. Here, we will be looking for pwtpb_cat_dur as one of the targeting key in the Ad Response. 

    Info
    titlepwtpb_cat_dur - Provision for Deal Priortization

    Is a targeting key returned by OpenWrap video/json endpoint. It is equivalent of Prebid Server's hb_pb_cat_dur

    It is interpreted as

    1.  pb - Price Bucket of the Bid

    2. cat - Bid Category Category 

    3. dur - Duration of Video Bid For example, pwtpb_cat_dur = 10.00_sports_5s indicates the bid as $10.00 price, belongs to Sport category and is of 5 seconds duration duration 


    Change for Deal Prioritisation When deal prioritisation is requested OpenWrap will replace pb with Deal Tier Prefix and Deal Priority for the deal bids satisfying the deal tier. For example, There is deal bid returned by the Bidder

    Bid PriceBid CategoryBid PriorityDuration
    $10.00IAB-17 (Sports)95 seconds

    above deal bid satisfied the following Bidder's deal tier

    PrefixMinimum Deal Priority
    apnx4

    In this case pwtpb_cat_dur will be changed as follows

    Old ValueNew Value
    10.00_sports_5sapnx9_sports_5s

    New value indicates the bid with deal priority 9 has satisfied the Bidder's deal tier. It belongs to Sports category and is of 5 seconds duration

    pwtpb_cat_dur will be then used by Primary Ad Server as key-value targeting in the Line Item setup, which will ensure Line Items representing corresponding deal are getting prioritised in the auction of Primary Ad Server


...