Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
OpenRTB
Introduction
OpenRTB is one of the more popular protocols used to integrate with Sociomantic. This document
is to help SSPs through the technical side of this process. It is assumed you have already read the
OpenRTB specification. If after reading this you still have some questions unanswered then, as
always, speak with your technical contact for assistance.
If you would like to see improvements to this document or anything is unclear, also please give
feedback to your technical contact. This includes if, at the end of the process, there is anything you
would have liked to have known earlier to make the process go more smoothly.
OpenRTB Versions
As of the time of writing this we currently support OpenRTB 2.1 and 2.2. If you wish to use a
different version then please ask.
Geographies
Sociomantic is interested in traffic from all regions. If your SSP only operates in limited geographic
regions then please indicate which regions they are.
For globally distributed traffic we will provide multiple endpoints for bidding requests. It is
expected that bidding requests will be sent to the endpoint closest to/most appropriate for the user to
be bid on. If you are uncertain which endpoint to use, once you have been provided with your
endpoint information, then please ask for clarification.
Currency
Please indicate the currency that auctions will be conducted in.
User Matching
User matching is the process of mapping between a user ID assigned by the SSP and one assigned
by the DSP (i.e. Sociomantic). Sometimes this is called user syncing.
We require user matching to be working for every SSP with whom we work.
The user matching can be performed by either side i.e. by you or by us. Normally we, Sociomantic,
are the ones to perform the user matching but can support either option if required. These two
alternatives are covered in more detail in following sections.
2014-12-10
Page 1/5
URLs
You must provide at least one user matching pixel URL. You may wish to provide multiple URLs
2014-12-10
Page 2/5
Protocol Extensions
OpenRTB gives much scope for flexibility. If you require extra fields to be set in bid responses, or
supply information in non-standard or less than usual fields then please let us know. The same for
specific requirements regarding e.g. adm field contents. We will try to accommodate reasonable
requests and knowing these requirements in advance can make the integration process run smoother.
Sizes
Please send us bidding requests for all sizes you support. If you support any non standard sizes then
please let us know.
Test Endpoint
Your technical contact will provide you with a test endpoint to use. The purpose of the test endpoint
is to ensure interoperability at a protocol level. You will need to ensure that you can send requests
2014-12-10
Page 3/5
and successfully parse the responses whilst using the test endpoint before further integration can
proceed.
Note that to be able to use the test endpoint with any degree of success you need to have user
matching set up because the end point will expect your bid request to contain valid user
information. Please review the section on User Matching if you have not already done so.
The test endpoint is configured to always bid on any request if the request is:
required OpenRTB fields are present and their values look reasonable
If your requests do not result in a bid then please check your formatting using a JSON validation
tool. Make sure you have spelt all field names correctly and used the appropriate (usually lower)
case. Also check that you have correctly populated either the user.id field or the
user.buyeruid field (depending on who is doing the user matching see the earlier section on
user matching).
Note that a bid from the test endpoint will often be a dummy bid. These bids should be
syntactically correct and parseable by an OpenRTB bid response parser however they will not be for
a real campaign. They will always be for 1 Euro cent (regardless of currencies you may have
specified) and the crid field will always contain the string always_bid.
Note also that the test endpoint does not run on port 80. You may need to configure your firewall
appropriately to allow requests to this URL. The test endpoint is also physically hosted in Europe
and so requests from other locations may experience some latency.
If you are having difficulties in accessing the end point or receiving a bid then please speak with
your technical contact for assistance.
Moving to Production
Once you can successfully send bid requests to, and receive bid responses from, the test endpoint
then it is time to move to production. You will be provided with 1 or several production URLs to
which to send bid requests. Each bid request should be sent to the most appropriate/closest end
point for the user who is to be bid on. If you are unsure which endpoint you would use for a given
location then please ask.
For the first few days you should send a limited number of bidding requests. We will make a limited
number of bids. Please expect to see a high rate of no-bids from us. At the end of this trial period if
neither side sees any issues then both the request and bid rate can be increased till it is at the full
rate.
2014-12-10
Page 4/5
Connection Counts
The number of simultaneous connections you make to the production endpoints is something you
must tune to find the correct balance between performance and resource usage. The number will
presumably be dynamic based on the number of bid requests being made at that time. We support
any reasonable number of connections, based on the number of bid requests you are sending. A
rough calculation for the number of connections, n, might be
n = (request rate per second / 5) * 1.1
This calculation assumes you can send and receive at least 5 bids per second (200ms per request)
over a single connection and then increases the number by 10% to allow for bursts. This is not a
hard rule but simply meant as guidance.
If you expect to make a large change in the number of connections, in either direction, then please
let us know in advance.
Users
We would like to see only bid requests for users that have been previously user matched with us. If
this is something you can support then please enable it.
Summary
First please answer the following questions:
At this point your test endpoint can be created and you can use it to test your code. To be able to
proceed to production you need to be able to successfully send a bid request, with correct user
information, and receive a bid response. Note that user matching will need to already be correctly
set up for this to happen.
If you require assistance please ask your technical contact.
2014-12-10
Page 5/5