Supply inventory with Prebid server
Overview
Prebid Server is a server-side header bidding solution that offloads the entire auction process from the client's browser.
Unlike a client-side Prebid.js implementation, where the browser communicates directly with each demand partner, Prebid Server consolidates these interactions.
The browser sends a single request, enabling the server to manage the bidding and return the optimal ad. This architecture dramatically reduces page latency and enhances site performance.
Documentation
To access the Prebid Server documentation and related resources, see the Prebid.org home page.
The Smart AdServer bidder page (bidder code: smartadserver
) provides the bid parameters and other useful information related to the Prebid Server adapter (Smart AdServer is Equativ's previous name).
Don't use the Equativ bidder page (bidder code: equativ
) for Prebid Server implementations because the Prebid Server adapter is not yet available under the Equativ brand.
Prebid Server adapter
Prior to the activation of Prebid Server, make sure you have the appropriate contract with Equativ signed.
To use Prebid Server, you must implement the prebid.js library and configure Prebid Server as the only bidder. Note that Equativ is not to be configured as a bidder in the client-side prebid.js library.
As stated in section “Documentation”, Equativ's Prebid Server adapter is available only under Equativ's legacy brand name Smart Adserver (bidder code: smartadserver
). For more details, see the Smart AdServer bidder page.
Supported parameters
For the list of supported parameters, refer to the ”Bid params" section of the Smart AdServer bidder page.
Configuration
To enable Equativ (formerly Smart AdServer) as a bidder to be called by Prebid Server, you must declare it in the s2sConfig
object, as shown in the following snippet:
pbjs.setConfig({
s2sConfig: {
accountId: 'YOUR_PBS_ACCOUNT_ID', // Obtained from the Prebid Server host.
enabled: true,
bidders: ['smartadserver'], // Enables Equativ s2s bidder.
timeout: 1000, // Should be approx. 200ms-300ms less than Prebid.js timeout.
adapter: 'prebidServer', // Prebid.js adapter used to communicate with the S2S endpoint.
endpoint: 'YOUR_PBS_ENDPOINT_URL', // Auction endpoint for your Prebid Server instance.
syncEndpoint: 'YOUR_PBS_SYNC_URL', // Cookie sync endpoint for your Prebid Server instance.
adapterOptions: {
smartadserver: {
networkId: 12345 // The required network ID for the Equativ adapter.
}
}
}
});
You can configure the Equativ adapter either in the s2sConfig.adapterOptions
, as shown in the example above, or as a standard bidder within your adUnits
configuration. For the second option, ensure you include Equativ in the s2sConfig.bidders
array and have s2sConfig.enabled: true
to ensure its auction is run on the server side.
Enable debug mode for Prebid.js.by adding pbjs_debug=true
to the URL as a query string parameter.
The following message in the debug console logs confirms that your Prebid.js client-side setup has successfully identified (Equativ's former name) as a server-side bidder and is preparing to send a request for bids on its behalf to the configured Prebid Server:
Prebid MESSAGE: CALLING S2S HEADER BIDDERS ==== smartadserver
Multi-Impression Type (MIT) and Multi-Impression Object (MIO) support
Equativ's Prebid Server adapter versions earlier than GO 3.23.0, don't support multi-format ad units: each ad unit may contain only a single media type (format), such as banner
or video
.
Equativ's Prebid Server adapter supports Multi-Impression Type (MIT) and Multi-Impression Object (MIO) from version GO 3.23.0. To benefit from these features, it is sufficient to implement the adapter version 3.23.0 or later. There is no further activation required.
With the Multi-Impression Type feature, a single ad unit can be configured to accept bids for multiple ad formats, for example a banner
, native
, or audio
/video
ad format. This increases competition for the given ad unit, improving fill rates and driving up revenues.
With the Multi-Impression Object feature, a single bid request can contain multiple ad units: Equativ's Prebid Server adapter can handle requests that bundle multiple ad slots from a page into one single auction. The browser makes only one request to Prebid Server, which handles the communication with all the demand partners. This reduces latency and improves page load speed.
Banner ads
The following snippet shows a configuration for a banner ad unit (300x250).
<script>
var PREBID_TIMEOUT = 1000;
var adUnits = [{
code: '300x250',
mediaTypes: {banner: {sizes: [[300, 250]]}},
bids: [
{
bidder: 'smartadserver',
params: {networkId: 458, siteId: 317777, pageId: 1143112, formatId: 84313}
}]
}
];
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
</script>
Video ads
The following snippet shows an in-stream video ad unit:
adUnits = [{
code: '400x600',
mediaTypes: {
video: {
context: 'instream',
mimes: ['video/mp4'],
playerSize: [400, 600],
protocols: [1, 2],
startdelay: 2,
placement: 1
// other OpenRTB video parameters
}
},
In-app ads (Prebid Mobile)
For in-app ads with Prebid Server, you need to install Prebid Mobile, the Prebid SDK for in-app inventory:
For details about the configuration and samples, see the Prebid Mobile documentation.
AMP ads
To use Prebid Server as an intermediary for Equativ in AMP environments, you need to have a Prebid Server instance plugged to your AMP tag through RTC. The ad server must be compliant with Fast Fetch. This integration leverages Prebid Server's Stored Requests.
For details about the configuration and samples, see the Prebid AMP documentation.
Privacy framework compliance
Equativ's Prebid Server endpoint receives the consent_string
and processes the data appropriately. Within the TCF and GPP frameworks, Prebid Server behaves like a data processor. Cookie syncing saves the user ID for each bidder in the cookie, and each bidder’s ID is sent back to that bidder during the auction.
Prebid Server does not use this ID for any other reason. If the Prebid Server host company does not have consent to read and write cookies, /cookie_sync
will return an empty response without any syncs. Otherwise, it will return a response limited to syncs for bidders that have consent to read and write cookies.
For more information, see Comply with Global Privacy Platform (GPP).
For COPPA compliance, the publisher can send the coppa: true
parameter to signal that a request is subject to COPPA regulations. Prebid server will then alter the bid request as follows:
- Removal of all device ID fields:
device.ifa
,device.macsha1
,device.macmd5
,device.dpidsha1, device.dpidmd5, device.didsha1, device.didmd5
. - Truncation of the
device.ip
field (removal of lowest 8 bits). - Truncation of the
device.ipv6
field (removal of lowest 32 bits). - Removal of
geo.lat
,geo.lon
,geo.metro
,geo.city
, andgeo.zip
. - Removal of
user.id
,user.buyeruid
,user.yob
, anduser.gender
.
Reporting
The following dimensions, available in the Reporting API, are of particular relevance in Prebid Server integrations:
- HeaderBiddingTypeId
- HeaderBiddingTypeName
- ServerSideBiddingCallerId
- ServerSideBiddingCallerName (in case of Prebid Server, the value is “Prebid Server”)
For definitions of these dimensions, see Reporting API: dimension reference. For more details about the Reporting API, see Reporting API: get started.
Deals and delivery rules
As Equativ's Prebid Server adapter supports the placement identifiers siteId
, pageId
, and formatId
, you can also target these in your deals and delivery rules.
For more information, see Create private auction and preferred deal (legacy workflow) and Set delivery rules.