- 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 firstname.lastname@example.org. 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.
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.
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:
|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:
|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.|