DSP Integration Guide

OpenRTB specifics

  • PubNX currently supports Open RTB Protocol 2.3.1. IAB documentation for  OpenRTB 2.3.1 implementation can be found here.

Limitations imposed on the OpenRTB specs

  • CPM campaigns only.
  • Currency: USD only.
  • Creative (ad markup) shall be sent by the DSP directly within the bid response.
  • One bid per request only. Multiple bid/seat responses won’t be accepted.
  • Campaign formats (ad types): image, VAST video.
  • PubNX currently supports Vast 2.0 & 3.0.

Bid response compliance

The bid response must at all times (regardless of test or live mode) fulfill following condition

  • Compliance with the OpenRTB specs.
  • The ad returned must correspond with the requested ad type. E.g. if the request only allows an image banner, you may not return a Rich Media ad, etc., see the OpenRTB specs regarding the attributes Banner.btype and Banner.mimes.
  • The size of the returned ad needs to match the requested width & height, or at least the aspect ratio, as specified above.
  • The bid response should contain the following parameters which are optional as per the official OpenRTB documentation, but required by PubNX:
  • nurl – Win notice URL that is used to notify the DSP each time when an auction was won.
  • crid – Creative ID for reporting content issues or defects. This could also be used as a reference to a creative ID that is posted within an exchange.
  • adomain – An advertiser’s primary or top-level domain for advertiser checking. Please Note: A bid will be rejected in case any domain(s) in this parameter matches the domain(s) passed inside of the badv parameter of the bid request.
  • iurl – Sample image URL (without cache busting) for content checking.

Checkpoints for DSP Integration

  • DSP Endpoint url

Our Servers are located in North Virginia and Singapore. The DSP endpoints should reside in these or nearby regions    for reducing network latency. The DSP should mail us their endpoint details at partners@pubnx.com. Please send the DSP endpoint url by email. Example of DSP endpoint url: http://xyz.abc.com/?rtb=1234

You may send different urls for test and production purposes.

  • Latency Requirements

PubNX Ad exchange gives demand sources 200ms (roundtrip time on bid request) to respond to bid requests.

  • Send us your Reporting API

PubNX would need DSP Reporting API for reconciliation of auction wins, impression and revenue numbers. PubNX would also create an account for the DSP user on our platform to check the relevant metrics recorded by us.

  • Discrepancy Research

Once the integration of the DSP endpoint is completed, and the traffic produces data, we will monitor and reconcile key metrics and check for discrepancies if any.

Following table describes the attributes, type and description of the Bid Request:

Attributes Type Description
 id String:required  Represents the exchange-specific publisher ID.
 imp String:required  Represents the impressions offered at least one impression object is required.
 tagid String  Represents the identifier for specific ad placement or ad tag that was used to initiate the auction.
 banner object:required  Indicates that the impression is offered as a banner ad opportunity.
 bidfloor String  Represents the minimum bid for this impression expressed in CPM.
 site String:required  Represents the details of the website called for the impression.
 page String:required  Represents the URL of the page where the impression is displayed.
 cat String: Array  Represents the Array of IAB content categories of the site.
 name String  Represents the site name.
 device String  Represents the details through a Device object about the user device for which the impression will be  delivered.
 dnt integer  Represents the Standard “Do Not Track” flag as set in the header by the browser, where 0 is tracking  means unrestricted and 1 is do not track.
 ua String  Represents the Browser user agent string.
 ip String:required  Represents the IPv4 address closest to device.
 devicetype integer  Represents the general type of device.
 user object  Represents the details through a user object.
 buyeruid String  Represents the buyer-specific ID for the user that is mapped by the exchange for the buyer.

Following table describes the attributes, type and description of the Bid Response:

Attributes Type Description
 id String:required  Represents the exchange-specific publisher Id.
 seatbid String:required  Represents the collection of bids made by the bidder on behalf of a specific seat.
 bid String:required  Represents the offer to buy a specific impression under certain business terms.
 impid String  Represents the Id of the Imp object in the bid request
 price float: required  Represents the bid price expressed as CPM although the actual transaction is for  a unit impression only.
 adid String  Represents the Id of a preloaded ad to be served, if the bid wins.
 nurl String:required  Represents the win notice URL called by the exchange, if the bid wins.
 adm String:required  Describes the optional means of conveying ad markup, if the bid wins.
 adomain String: Array  Represents the advertiser domain for block list validation (for example, ford.com
 iurl String  Represents the URL without cache-busting to an image that is representative of  the content of the campaign for ad quality or safety checking
 cid String  Represents the campaign Id to assist with ad quality check.
 crid String  Represents the creative Id to assist with ad quality check.
 group integer  Represents 0 as the impressions that can be won individually, and 1 as the  impressions that may be won or lost as a group.
 bidid String:required  Represents the bidder generated response Id to assist with logging or tracking.
 cur String  Represents the Bid currency which uses ISO-4217 alpha codes.