TripleLift
Features
| Bidder Code | triplelift | Prebid.org Member | yes |
|---|---|---|---|
| Prebid.js Adapter | yes | Prebid Server Adapter | yes |
| Media Types | display, video, native | Multi Format Support | check with bidder |
| TCF-EU Support | yes | IAB GVL ID | 28 |
| GPP Support | some (check with bidder) | DSA Support | check with bidder |
| USP/CCPA Support | yes | COPPA Support | yes |
| Supply Chain Support | yes | Demand Chain Support | check with bidder |
| Safeframes OK | yes | Supports Deals | yes |
| Floors Module Support | yes | First Party Data Support | yes |
| Endpoint Compression | check with bidder | ORTB Blocking Support | check with bidder |
| User IDs | all | Privacy Sandbox | check with bidder |
| Prebid Server App Support | yes |
Table of Contents
- Table of Contents
- Overview
- Bid Params
- Media Types
- Configuration Examples
- Previous Auction Info
- First Party Data
- Programmatic DMP
Overview
Publishers may integrate with Triplelift through our Prebid.js and/or Prebid Server adapters. See below for more information.
The Triplelift Prebid Server bidding adapter and user sync endpoint require setup before beginning. Please contact us at prebid@triplelift.com.
Starting with Prebid.js v11.36.0, the Triplelift Prebid.js adapter uses the oRTB Conversion Library to build requests/responses. Please reach out to your Triplelift representative to discuss specifics of the integration.
If you would like to flag an issue for Triplelift to investigate or a question about the Triplelift Prebid.js adapter, please fill out the following Salesforce form: https://triplelift.my.site.com/publishersupport/s/contactsupport. Please include the following information in your request: Case Type: Integration assistance Case Subtype: Prebid Adapter Update Questions
Bid Params
Starting with Prebid.js v11.36.0, the parentId parameter is required for all Triplelift bid requests. Bid requests that do not contain parentId from v11.34.0 forward will be dropped.
Please contact your Triplelift representative to obtain your parentId value.
Starting with Prebid.js v11.36.0, the publisherId parameter is recommended for all Triplelift bid requests. Please contact your Triplelift representative to obtain your publisherId value(s).
| Name | Scope | Description | Example | Type |
|---|---|---|---|---|
inventoryCode |
required | TripleLift inventory code for this ad unit (provided to you by your partner manager) | 'pubname_top_banner' |
string |
parentId |
required | TripleLift parent ID associated with internal parent account. (provided to you by your partner manager) | '1234' |
string |
publisherId |
recommended | TripleLift publisher ID associated with internal publisher. (provided to you by your partner manager) | '5678' |
string |
floor |
required | Bid floor | 1.00 |
float |
Media Types
Banner
var adUnits = [
{
code: 'banner1',
mediaTypes: {
banner: {
sizes: [
[728, 90],
[970, 250]
]
}
},
bids: [{
bidder: 'triplelift',
params: {
inventoryCode: 'pubname_top_banner',
parentId: '1234',
publisherId: '5678',
floor: 1.00
}
}]
}];
Video
Triplelift bid params for video mediaTypes are identical, but be sure to include the appropriate video.plcmt or video.placement value (if OpenRTB 2.6 is not supported) to indicate instream/outstream format.
The following fields begin with adUnit.mediaTypes.video and are supported by Triplelift. See the Ad Unit Reference for more info:
| Name | Scope | Description | Example | Type |
|---|---|---|---|---|
plcmt |
required | Instream: 1; Outstream: 3, 4, 5. | 3 |
int |
placement |
required | Instream: 1; Outstream: 3, 4, 5. | 3 |
int |
playerSize |
required | Video player dimensions or size in pixels | [640, 480] |
integer array |
mimes |
recommended | List of content MIME types supported by the player | ["video/mp4"] |
string array |
protocols |
recommended | Supported video protocol values (see OpenRTB spec) | [2,3,4,5,6] |
integer array |
linearity |
recommended | OpenRTB lineary - 1: linear (in-stream ad), 2: non-linear (overlay ad) | 1 |
integer |
maxduration |
recommended | Maximum video ad duration in seconds | 30 |
integer |
minduration |
recommended | Minimum video ad duration in seconds | 5 |
integer |
api |
recommended | Supported API framework values (see OpenRTB spec) | [2] |
integer array |
skip |
optional | Indicates if the player will allow the video to be skipped | 1 |
integer |
skipafter |
optional | Number of seconds a video must play before skipping is enabled | 5 |
integer |
minbitrate |
optional | Minimum bit rate in Kbps | 300 |
integer |
maxbitrate |
optional | Maximum bit rate in Kbps | 9600 |
integer |
startdelay |
optional | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements | 0 |
integer |
Native
As of version 11.36.0, Triplelift supports native ads. Please reach out to your Triplelift representative to discuss specifics of the integration.
We highly recommend using the OpenRTB Native 1.2 Specification. If you cannot support OpenRTB Native 1.2, please reach out to us.
The following fields begin with adUnit.mediaTypes.native.ortb and are supported by Triplelift:
| Name | Scope | Description | Example | Type |
|---|---|---|---|---|
ver |
recommended | OpenRTB native version | '1.2' |
string |
context |
recommended | The context for which the ad appears (see OpenRTB Native 1.2 spec) | 1 |
integer |
plcmttype |
recommended | The design/format/layout of the ad unit (see OpenRTB Native 1.2 spec) | 1 |
integer |
privacy |
recommended | Set to 1 when the native ad support buyer-specific privacy notice | 0 |
integer |
eventtrackers |
recommended | Specifies what type of event tracking is supported | 0 |
object array |
assets.id |
required | Unique asset ID | 0 |
integer |
assets.title |
required | Title object for title assets | See example below |
See example below |
assets.img |
required | Image object for image assets | See example below |
See example below |
assets.img.w |
required | Width of image for image asset | See example below |
See example below |
assets.img.h |
required | Height of image for image assets | See example below |
See example below |
assets.data |
required | Data object for brand name, description, rating, etc. | See example below |
See example below |
assets.data.type |
required | Specifies type of data object. Sponsored field (type: 1) is required (see OpenRTB Native 1.2 spec) | See example below |
See example below |
Configuration Examples
Instream Video Example
var videoAdUnit = {
code: 'video1',
mediaTypes: {
video: {
playerSize: [640, 480],
plcmt: 1,
context: 'instream',
placement: 1,
mimes: ['video/mp4'],
maxduration: 30,
minduration: 5,
protocols: [2,3,5,6]
}
},
bids: [{
bidder: 'triplelift',
params: {
inventoryCode: 'pubname_instream1',
parentId: '1234',
publisherId: '5678',
floor: 3.00
}
}]
};
Outstream Video Example
var videoAdUnit = {
code: 'video2',
mediaTypes: {
video: {
playerSize: [640, 480],
plcmt: 3,
context: 'outstream',
placement: 3,
mimes: ['video/mp4']
}
},
bids: [{
bidder: 'triplelift',
params: {
inventoryCode: 'pubname_outstream1',
parentId: '1234',
publisherId: '5678',
floor: 2.00
}
}]
};
Triplelift does not have a default outstream renderer. Publishers must provide their own outstream renderer for the Triplelift bidder to work with outstream video.
Native Example
var nativeAdUnit = {
code: 'native1',
mediaTypes: {
native: {
ortb: {
assets: [{
id: 1,
required: 1,
img: {
type: 3,
w: 150,
h: 50,
}
},
{
id: 2,
required: 1,
title: {
len: 80
}
},
{
id: 3,
required: 1,
data: {
type: 1
}
},
{
id: 4,
required: 1,
data: {
type: 2
}
},
{
id: 6,
required: 1,
img: {
type: 1,
w: 50,
h: 50,
}
}]
}
}
},
bids: [{
bidder: 'triplelift',
params: {
inventoryCode: 'pubname_native1',
parentId: '1234',
publisherId: '5678',
floor: 2.00
}
}]
};
Previous Auction Info
Triplelift is able to use information from previous auctions to improve the performance of future auctions. In order to facilitate this, you will need to do the following:
- Include the Previous Auction Info module in your Prebid.js build. See the Prebid.js Modules page for more information.
- Configure Prebid.js to enable the Previous Auction Info module and add Triplelift to the bidder list:
pbjs.setConfig({
previousAuction: {
enabled: true,
bidders: ['triplelift'],
maxQueueLength: 10
}
});
First Party Data
Publishers should use the ortb2 method of setting First Party Data. The following fields are supported:
ortb2.site.*: Standard IAB OpenRTB 2.5 site fieldsortb2.user.*: Standard IAB OpenRTB 2.5 user fields
AdUnit-specific data is supported using AdUnit.ortb2Imp.ext.*
Programmatic DMP
Triplelift provides audience and contextual targeting via the integration of a Programmatic DMP tag. Please reach out to your Triplelift representative to discuss specifics of the integration.
Requirements
- Prebid v7.1.0 or later
- In Prebid’s
bidderSettings, thestorageAllowedparameter must be set to true. In Prebid v7.0 and later,storageAlloweddefaults to false, so you will need to explicitly set this value to true.
Prebid note: please review with your legal counsel before enabling storageAllowed. Bidders utilizing browser storage may trigger the need for additional disclosures in your privacy policy and may imply that the bid adapter is performing an activity redundant with user ID systems like SharedID. See the ePrivacy Directive article 5(3) reference to ‘comprehensive information’.
pbjs.bidderSettings = {
triplelift: {
storageAllowed: true
}
}
- The Programmatic DMP tag must be included at the top of every webpage in order to collect audience and contextual information on the respective page.
- The Programmatic DMP tag should be as high up in
<head>as possible.
"Send All Bids" Ad Server Keys
These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.hb_pb_triplelift |
hb_bidder_triplelift |
hb_adid_triplelift |
hb_size_triplelift |
hb_source_triplelift |
hb_format_triplelift |
hb_cache_host_triple |
hb_cache_id_tripleli |
hb_uuid_triplelift |
hb_cache_path_triple |
hb_deal_triplelift |