Do you want to buy traffic using OpenRTB protocol but don't know how to do it? Then this article is for you!
We will explain how to set up your own OpenRTB-endpoints to buy traffic using OpenRTB from a 3rd-party adserver. You might want to check out this article if you need to sell traffic using the OpenRTB protocol.
Currently, Adserver.Online supports OpenRTB v2.5 protocol for Banners, Native, VAST, Direct Link, and Push Notification ad formats.
Before you start, we kindly recommend you examine the specification of OpenRTB protocol. It will help you understand how it generally works and the terminology used.
How to configure
First of all, it's necessary to check if you have enabled server tag mode for a particular zone in its Publisher / SSP options. Otherwise, endpoints won't be working.

Second, you must configure a revenue model for zones configured as RTB endpoints.
After that, you will find the OpenRTB endpoint available on the zone view page.

Additional parameter
You can manually add extra parameters to the endpoint's URL to adjust its behavior.
Available parameters:
- pmodel – Optional. Pricing model integer code. Possible values: 1 – CPM, 2 – CPC. By default 1 (CPM).
Example: https://srv.aso1.net?rtb/bidder?zid=34921&pmodel=2 - ifr – Optional. Enables IFrame-based adm format when applicable (e.g., banners). Possible values: 1 – enabled, 0 – disabled (default).
Example: https://srv.aso1.net?rtb/bidder?zid=34921&ifr=1 - nurlAdm – Optional. Some SSPs may require inserting NURL pixel into ADM field. Possible values: 1 – nurl pixel will be inserted into adm-field, 0 – disabled (default. nurl will be a separate field).
Example: https://srv.aso1.net?rtb/bidder?zid=34921&nurlAdm=1 - af – Optional. Allows selecting ad format. Applies to banner zones/endpoints only—possible values: banner, native. By default, any kind of banner ad can be returned by an endpoint.
Example: https://srv.aso1.net?rtb/bidder?zid=34921&af=native
Pricing Model
According to the specification, OpenRTB supports only the CPM pricing model.
Some supply parties may support other models, e.g., CPC. You must clarify it with your supply partners before they start calling your endpoints.
By default, our RTB responses contain CPM campaigns only. To change this behavior, you need to add pmodel parameter to the endpoint (see above).
Bids
As a buyer, you have to specify bids or prices you are ready to pay for an impression (in case you win an auction in the supply party system).
Since a zone is responsible for the RTB endpoint, the bid configuration is located on the zone form – Revenue Model fields in the Publisher / SSP section.
You can select between two bidding strategies: Flat Rate and Revenue Share.
In the case of a Flat Rate, your bid will be constant. In the case of Revenue Share, the bid will depend on the campaign's rate.
Read more about how the calculation works.
Multiple dimensions for banners
By default, a banner endpoint supports one banner dimension only (e.g., 200×400). This behavior is defined in the corresponding zone form. If you need to support multiple dimensions within the same endpoint, you must adjust the "Dimension matching method" property of the needed zone(s).
For example, you may select "Not wider than" and select 300×250 in the Dimensions field. In this case, the endpoint will support ads of several dimensions: 300x250, 300x100, 300x600, 100x100, etc.
Also, the system will allow you to link ads of different dimensions to that zone.
Reporting
Besides standard statistics, e.g., impressions and clicks that you can find in the Reports / Statistics menu, Adserver.Online provides extended data in these special reports:
1 . In the Reports / DSP stats report, you can find all incoming requests to your endpoints, including average bid, bidfloors, and won rate.
2. The supply party may ask you to provide a report based on imp.tagid tag. This report is available via API method.
Response codes
- 200 – Successful response
- 204 – Empty response. No ads were found
- 400 – Required parameters are missing
- 404 – Zone is inactive, or server tag is not enabled
How to buy traffic using OpenRTB – examples
IMPORTANT: OpenRTB endpoints are not regular links, so they will not work in a web browser if you try to open them like that. You will likely get an error. So instead of that, you need to use a special tool like Postman to make POST requests to the endpoint.
We provide examples for the formats not covered by OpenRTB specification: Direct links and Push notifications. For Banners, Native, and VAST, please refer to the OpenRTB specification.
Direct link / Popup
IMPORTANT: These formats are not described in OpenRTB specification, that's why different ad networks may use different approaches. Adserver.Online interprets a request as a Direct link/Popup request if it doesn't contain any ad format section (e.g., "banner", "video", "native")
This is what an endpoint looks like:
https://srv.aso1.net/rtb/bidder?zid=34921
An example of a request:
{ "id": "8b424a6120ce11e990d90242ac110004", "imp": [ { "id": "1", "tagid": "123456" } ], "site": { "id": "1", "domain": "example.com", "page": "https://example.com/hello", "ref": "https://example.com/ref" }, "device": { "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15", "geo": { "country": "US", "region": "South Dakota", "city": "Sisseton" }, "ip": "85.253.99.10", "os": "mac" }, "user": { "id": "e7252cbb0f7898f722b58a768213d8da" }, "at": 1 }
An example of a response:
{ "id": "8b424a6120ce11e990d90242ac110004", "seatbid": [ { "bid": [ { "id": "87033", "impid": "1", "price": 1.2345, "nurl": "https://track.aso1.net/won?params", "adm": "https:\/\/track.aso1.net\/link?params", "adomain": [ "adserver.online" ], "cid": "45592", "crid": "87033" } ] } ] }
Push Notification example
This is what an endpoint looks like:
https://srv.aso1.net/rtb/bidder?zid=44418
An example of a request:
{ "id": "8b424a6120ce11e990d90242ac110004", "imp": [ { "id": "1", "tagid": "7892", "native": { "request": "{\"native\":{\"ver\":\"1.1\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":75}},{\"id\":2,\"required\":1,\"img\":{\"type\":1}},{\"id\":3,\"required\":0,\"data\":{\"type\":2,\"len\":75}},{\"id\":7,\"required\":0,\"img\":{\"type\":3}}]}}" } } ], "site": { "id": "1", "domain": "example.com", "page": "https://example.com/hello", "ref": "https://example.com/ref" }, "device": { "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15", "geo": { "country": "US", "region": "South Dakota", "city": "Sisseton" }, "ip": "85.253.99.10", "os": "mac" }, "user": { "id": "e7252cbb0f7898f722b58a768213d8da" }, "at": 1 }
An example of a response:
{ "id": "8b424a6120ce11e990d90242ac110004", "seatbid": [ { "bid": [ { "id": "87033", "impid": "1", "price": 1.2345, "nurl": "https://track.aso1.net/won?params", "adm": "{\"native\":{\"ver\":\"1.1\",\"link\":{\"url\":\"https:\\/\\/track.aso1.net\\/click?_d=UllSCgZQ\"},\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Test Push #2\"}},{\"id\":2,\"required\":1,\"img\":{\"url\":\"https:\\/\\/media.aso1.net\\/storage\\/b\\/4\\/8\\/b4833c1f9dc5be9d5b97ed7e1c4e414db97de536.png\"}},{\"id\":3,\"required\":1,\"data\":{\"value\":\"Check out knowledge base for details\"}}],\"imptrackers\":[\"https:\\/\\/track.aso1.net\\/wtf.gif?cid=54182&aid=106973&d\"]}}, "adomain": [ "adserver.online" ], "cid": "45592", "crid": "87033" } ] } ] }
This article contains enough data on how to buy traffic using OpenRTB and how to set up endpoints. It's a powerful feature that can help you scale up your online business if you use it wisely.
IMPORTANT: If you plan to buy traffic using the OpenRTB protocol, you should know that each OpenRTB request generates an ad server request. But that doesn't necessarily mean that each of your OpenRTB requests will result in an impression. And that's inherent to the nature of an auction when only OpenRTB requests that won the auction can result in impressions.
NB: manuals/documentation from your partners are needed when you contact our support with questions about OpenRTB integration.
Onboarding questions and answers
When you are connecting to a new SSP partner, you might be asked the following questions. We prepared the answers.
Q: What version of OpenRTB do you support?
A: Currently, Adserver.Online supports OpenRTB v2.5
Q: What is the max RPS (Requests Per Second)?
A: We recommend answering 100 RPS despite the fact we support much more than that. This limit can be increased at any time. But initially, it will save you money since our pricing is based on the requests.
Q: Where are your RTB servers located?
A: Europe
Q: Can you control RPS on your side?
A: No.
Q: Do you place a bid per single impression or 1000 impressions (CPM)?
A: Per 1000 impressions
Q: Can you provide request and response examples?
A: Direct link request and response. For other formats, we follow this specification.