Requirements for Super Auction Server-to-Server Partners

Verizon Media (formerly known as Oath) offers buyers the opportunity to participate in header-bidding-like auctions for participating publishers’ inventory.

This “Super Auction” is typically accessed via a direct OpenRTB connection to Verizon Media. However, it is also possible to set up a server-to-server connection if that is more desirable. This document specifies the requirements potential buyers must adhere to when integrating into Verizon Media’s platform via the server-to-server method.

The requirements are

1) Provide S2S Call Format - Buyers must provide us with the full format the ad-serving API expects from an incoming server-to-server ad/bid request call.

  • Most typical - an http endpoint followed by a GET query string with a wide range of potential parameters.
  • Also possible - a POST request (through our OpenRTB-like bid request) with key-value pairs or JSON data attached.

In either case, one of the values or elements sent must be a unique ID for the inventory for which ads will be requested (many buyers refer to this as a placement ID. In the case of an RTB-like request, we suggest sending the value in imp.tagid.

2) JSON Response - An option to provide the ad response in JSON format must be available. The JSON response should contain an element that includes the ad markup in a format appropriate to the inventory (e.g., HTML or VAST). This markup should contain all tracking beacons required by the buyer, as Verizon Media does not parse out tracking markup. The format of the response may be similar to an OpenRTB bid response.

3) Include Bid Price Element and Details - The JSON response must contain an element with the bid price and

  • indicate either exact price or CPM
  • must be unencoded or Base64-encoded
  • must be consistent for all inventory

4) Platform Configuration - The names of the elements for 2 and 3 above can be configured in our platform. If an RTB-like response is returned, we look in seatbid.bid.adm for the ad markup and seatbid.bid.price for the bid price.

5) Verify API and Access - The buyer must provide documentation for a reporting API, which can be called daily by Verizon Media. The API must be capable of providing data broken down by day and by the unique inventory ID discussed in 1 above. Data for the previous day’s revenue must be available by 9am Eastern Time (Eastern Time is GMT -5 during Standard time and GMT -4 during Daylight Savings Time). More detail is provided in the Reporting API section below.

Summary of requirements and examples

Ad Request from Verizon Media to a Buyer

Possible Formats Required Parameter/Element
HTTP GET request, with key-value parameters in a query string. All parameter names can be configured. Verizon Media passes a unique ID in a parameter, generated either by Verizon Media or the buyer, which will be used to identify the specific unit of inventory. This ID must be available to daily reporting.
HTTP POST request, with formatted data payload. It is suggested that RTB-like requests use OpenRTB protocols. Verizon passes a unique ID used in reporting. We suggest letting us generate the value and send it in imp.tagid when an RTB-like request is used. This ID must be available to daily reporting.

 

Example GET Request with key/value query string

http://demandsource.com/requestBid/?uniqueId=12345&ip=123.45.67&ua=Mozilla/5.0+(Linux;+Android+7.0;+LGMP260+Build/NRD90U;+wv)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Version/4.0+Chrome/64.0.3282.137+Mobile+Safari/537.36&idfa=4e71d046-7ca2-4b60-a532-2f819e7ea92d&dnt=0

Example OpenRTB-like request payload

  
  {
    "id":"1234567890-0987654321}",
    "at":1,
    "imp":[
    {
    "id":"1234567890-0987654321-1",
    "tagid":"12345",
    "instl":0,
    "banner":{
    "w":320,
    "h":50
    },
    "secure":1
    }
    ],
    "site":{
    "id":"23232323",
    "publisher":{
    "id":"45454545"
    },
    "page":"http://example.com"
    },
    "device":{
    "ip":"123.45.67",
    "ua":"Mozilla/5.0 (Linux; Android 7.0; LGMP260 Build/NRD90U; wv) AppleWebKit/537.36
    (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36",
    "ifa":"4e71d046-7ca2-4b60-a532-2f819e7ea92d",
    "dnt":0
    },
    "regs":{
    "coppa":0
    }
    }
   

 

Ad Response from Buyer to Verizon Media

IMPORTANT: The bid response must be JSON-formatted.

JSON Element Comments Example
Ad Markup The name of this element is configurable, but it must contain the entirety of the ad markup, including all tracking pieces. There is no support for tracking in a different field. "markup":"<script type=\"text/javascript\" src=\"https://mydomain.com/jssrc.js></script>"
Bid Price The name of this element is configurable. The bid price can be sent as either CPM or Exact Price, and can be sent either unencoded or Base-64-encoded. For both formatting decisions, the method must remain consistent for all inventory, as configuration is done at the buyer level. "bidprice":2.23532
Other Elements It is permissible to send other elements in the response (such as a full OpenRTB response), but be advised that anything in the response other than the ad markup and bid price is ignored.  


Example OpenRTB-like response

     
  {
    "seatbid":[
    {
    "seat":"VMG0001",
    "bid":[
    {
    "id":"80808080",
    "impid":"1234567890-0987654321-1",
    "adm":"<script type=\"text/javascript\" src=\"https://mydomain.com/jssrc.js></script>",
    "price":2.23532
    }
    ]
    }
    ]
    }
  

 

Example Other (non-RTB) response

     
  {
    "markup":"<script type=\"text/javascript\" src=\"https://mydomain.com/jssrc.js></script>",
    "bidprice":2.23532
  }
  

 

Reporting API

Data for a given day must be available by 9am the following day (5am preferred). Our preferred format is a REST API for which we can specify a range of days in the API request (usually two days, but up to the past 60 days should be available if needed for redundancy). Data should be returned in CSV (preferred), JSON or XML format.

 

Required Data Points Comments
Date revenue was earned Date format is configurable.
Unique ID (as described above)  
Revenue Reported currency must be USD.
Other Other columns are allowed, however, we may not store all of them

Sample Reporting API Request

http://sampleBuyer.com/reportingAPI/?startDate=20190122&endDate=20190124&verizonmediaid=9a132bf7

Sample Reporting API Response (CSV format)

Date,UniqueID,Revenue
    01/22/2019,12345,$56.34
    01/23/2019,12345,$107.19
    01/24/2019,12345,$88.01
    01/22/2019,67890,$2087.44
    01/23/2019,67890,$1921.16
    01/24/2019,67890,$2402.52
    
Have more questions? Submit a request