Programmatic Bidding API
Introduction
The LiveIntent Programmatic Bidding API allows Demand Side Platforms (DSP) to bid on and buy LiveIntent e-mail inventory. The price is determined in real-time by a set of server-to-server calls between LiveIntent and the buyer. The DSP creative is served when their buyer bid is the highest for the auctioned impression.
The LiveIntent Programmatic Bidding API incorporates a subset of the IAB OpenRTB specification v2.5, IAB OpenRTB Native 1.1, and IAB OpenRTB Native 1.2. The OpenRTB specification continues to evolve, and the LiveIntent Programmatic Bidding API is expected to follow the OpenRTB specification over time.
The OpenRTB specification provides details on transports, security, data formats, headers, etc., and should be used for further understanding of the overall approaches to the interfaces. Per the specification, the OpenRTB version should be passed in the header of a bid request with a custom header parameter. Additionally, it is recommended that the same version be passed back in the bid response:
x-openrtb-version: 2.5
Due to the nature and limitations of email inventory this API specification only incorporates a subset of the OpenRTB specification. This document provides the details of LiveIntent’s use of the OpenRTB specification for the Programmatic Bidding API.
Process Flow
A typical process flow for a buyer using the LiveIntent Programmatic Bidding API:
-
A user opens an email, and a request is sent to the LiveIntent e-mail ad server platform from the user’s browser.
-
LiveIntent initiates a bid request to all RTB buyers.
-
The buyers respond with bids and creative tags for the email impression.
-
LiveIntent selects the highest bid in a real-time auction.
-
LiveIntent serves the buyer’s creative replacing the price macro.
-
LiveIntent optionally notifies the buyer via a server-side or client-side call of the winning bid and price.
Bidding API
In order to receive bid requests and provide bids/creative tags, the DSP must implement the LiveIntent Programmatic Bidding API. As part of the implementation, the DSP buyer provides LiveIntent with a bidding URL for bid requests, and optionally with a winning bid notification URL.
Bid Request
The OpenRTB specification provides a comprehensive list of required, recommended, and optional objects to be included in the bid request. The LiveIntent Programmatic Bidding API supports a subset of these objects (including all required objects/attributes) as described below.
Object | OpenRTB Scope | Notes | Attributes |
---|---|---|---|
Bid Request Object | required | Top-level Object. Implicit: tmax=150ms, currency=USD | id, imp, site, device, user, at |
Impression Object | required | At least one impression object is required in a bid request object | id, banner, native, secure |
Banner Object | optional | Child of impression object; the ad opportunity within the email | w, h, id, pos, btype, battr |
Site Object | recommended | The website associated with ad content | id, name, domain, cat, page (custom), publisher |
App Object | recommended | The app associated with ad content | id, name, domain, cat, page (custom), publisher |
Device Object | recommended | The device the ad impression will be delivered to and its capabilities | ip, ua, language, geo |
User Object | recommended | The email user, identified by UUID along with other known attributes | id, buyeruid, customdata, data |
Publisher Object | optional | Child of site object; the email publisher | id, name, cat |
Geo Object | optional | Child of device object; the geographic location of device or user | country, region, metro, city, zip, type |
Data Object | optional | Child of user object; data source info about user | id, name, segment |
Segment Object | optional | Child of data object; data segments for user from data source | id, name, value |
PMP Object | optional | Child of impression object; contains any private marketplace deals in effect for this impression | private_auction, deals |
Deal Object | optional | Child of pmp object; a specific deal that was struck between a buyer and a seller | id, bidfloor, wseat |
Native Object | optional | Child of impression object; a native impression conforming to the Dynamic Native Ads API | request, ver |
Sample Bid Request (Site Object)
{"site": {"content": {"cat": ["IAB10"]},"id": "12345","page": "http://page.com","cat": ["IAB10"],"domain": "publisher.com","publisher": {"id": "54321","name": "Publisher Name"},"name": "Newsletter Name"},"imp": [{"bidfloor": 0.50,"id": "1","bidfloorcur": "USD","tagid": "12323456","secure": 0,"pmp": {"private_auction": 0,"deals": [{"bidfloor": 4,"id": "123","bidfloorcur": "USD","wseat": ["321"],"at": 2}]},"banner": {"h": 250,"pos": 0,"w": 300,"id": "0","btype": [1,4]}}],"device": {"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:61.0) Gecko/20100101 Firefox/61.0","ip": "XX.XXX.XXX.XX","language": "en","devicetype": 2,"geo": {"country": "US","city": "New York","zip": "10001","metro": "501","region": "NY","type": 2}},"ext": {"ssp": "liveintent"},"id": "111a1111-1a11-111a-a111-1a1aaaa11111","user": {"data": [{"name": "age_gender","segment": [{"name": "gender","value": "M"},{"name": "age","value": "45-54"}]}],"buyeruid": "222222b2-bbb2-2b22-b2b2-22bb2b222222","id": "3c333333-c3c3-3333-c3c3-c33c3ccc3c33"},"at": 2
}
Sample Bid Request (App Object)
{
"device": {
"ifa": "222222b2-bbb2-2b22-b2b2-22bb2b222222",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57",
"make": "Apple",
"osv": "iOS_12",
"os": "iOS",
"js": 0,
"ip": "XX.XXX.XXX.XX",
"model": "Apple_iPhone",
"language": "en",
"geofetch": 0,
"geo": {
"country": "US",
"city": "New York",
"zip": "10001",
"metro": "501",
"region": "NY",
"type": 2
},
"devicetype": 4
},
"id": "111a1111-1a11-111a-a111-1a1aaaa11111",
"imp": [
{
"bidfloor": 0.5
"id": "1",
"bidfloorcur": "USD",
"tagid": "12323456",
"secure": 1,
"pmp": {
"private_auction": 0,
"deals": [
{
"bidfloor": 4,
"id": "321",
"bidfloorcur": "USD",
"at": 2
}
]
},
"banner": {
"h": 250,
"format": [
{
"h": 250,
"w": 300
}
],
"pos": 3,
"w": 300,
"id": "1",
"btype": [
1,
4
]
}
}
],
"bcat": [
"IAB25",
"IAB26",
"IAB14",
"IAB22",
"IAB18",
"IAB11"
],
"ext": {
"ssp": "LiveIntent"
},
"app": {
"id": "12345",
"name": "Newsletter Name",
"cat": [
"IAB22"
],
"domain": "publisher.com",
"publisher": {
"id": "54321",
"name": "Publisher Name",
"domain": “publisher.com”
}
},
"user": {
"buyeruid": "222222b2-bbb2-2b22-b2b2-22bb2b222222",
"id": "3c333333-c3c3-3333-c3c3-c33c3ccc3c33"
},
"at": 2
}
Bid Request Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | string | – | Unique ID for this bid request |
imp | required | Array of objects | – | Array of impression objects |
site | recommended | object | – | Site object |
app | recommended | object | – | App object |
device | recommended | object | – | Device object |
user | recommended | object | – | User object |
at | optional | int | 2 | Auction type 1 or 2 allowed |
bcat | optional | Array of strings | – | Block list of IAB content categories. |
badv | optional | Array of strings | – | Block list of advertisers by their domains. |
Impression Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | string | – | Unique ID for this impression |
banner | optional | object | – | Banner object |
native | optional | object | – | Native Object defines the native advertising opportunity available for bid via this bid request. It will be included a direct JSON object |
secure | optional | int | 0 | Flag to indicate whether the impression requires secure HTTPS URL creative assets. A value of “1” means that the impression requires secure assets. A value of “0” means non-secure assets. If this field is omitted the bidder should interpret the secure state as unknown and assume HTTP is supported. |
The `secure` flag is new to OpenRTB 2.2 and may optionally be included to indicate a need for an _https_ creative.
Banner Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
w | recommended | integer | – | Width (pixels) |
h | recommended | integer | – | Height (pixels) |
id | recommended | string | – | Unique id for tracking banners |
pos | optional | integer | – | Ad position |
btype | optional | array of integers | – | Blocked creative types (all but type 2 are blocked) |
**Note on btype:** only pure image banners are allowed, i.e. the XHTML returned in the bid response (in the **adm** field discussed later) for the click and image URLs must explicitly follow this structure:
<a ... href="..." ...><img ... src="..." .../></a>
Due to email inventory specifics LiveIntent ignores any creative markup within <script>…</script> tags and attempts to extract an anchor HTML tag together with up to five (5) image impression tracker tags from outside the markup. Any use of JavaScript, iFrames or Flash is not supported.
Site Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | recommended | string | – | Newsletter ID |
domain | optional | string | – | Newsletter domain |
name | optional | string | – | Newsletter name |
cat | optional | array of strings | – | Newsletter category |
page | recommended | string | – | Custom url representing domain and category |
publisher | optional | object | – | Publisher object |
App Object
Field |
Open RTB Scope |
Type |
Default |
Description |
id |
recommended |
string |
– |
Newsletter ID |
name |
optional |
string |
– |
Newsletter name |
cat |
recommended |
string |
– |
Newsletter IAB category |
domain |
recommended |
string |
– |
Newsletter domain |
Device Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
ip | recommended | string | – | IP Address |
ua | recommended | string | – | User agent |
language | optional | string | – | Browser language |
geo | recommended | object | – | From device location services |
ifa | optional | string | – | ID sanctioned for advertiser use in the clear |
make | optional | string | – | Device make |
model | optional | string | – | Device model |
devicetype | optional | integer | – | The general type of device |
User Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | recommended | string | – | Unique user ID, UUID |
buyeruid | recommended | string | – | Buyer’s user ID |
customdata | optional | string | – | Cookie data |
data | optional | array of objects | – | Data objects |
*Note on `id` and `buyeruid`:** 3rd-party cookie support is currently limited in e-mail clients, with approximately 30% of users being matched.
Publisher Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | recommended | string | – | Publisher ID |
name | optional | string | – | Publisher name |
cat | optional | array of strings | – | IAB Categories |
Geo Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
country | optional | string | – | Country code |
region | optional | string | – | Region code |
metro | optional | string | – | Metro code |
city | optional | string | – | City code |
zip | optional | string | – | Zip/postal code |
type | optional | string | – | Source of geo |
Data Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | optional | string | – | Data provider |
name | optional | string | – | Data provider name |
segment | optional | Array of objects | – | Segment objects |
Segment Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | optional | string | – | Segment ID |
name | optional | string | – | Segment name |
value | optional | string | – | Segment value |
Individual segment data is provided from 3rd-party services by request and not provided by default.
PMP Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
private_auction | optional | integer | – | Indicator of auction eligibilty to seats named in the Direct Deals object, where 0 = all bids are accepted, 1 = bids are restricted to the deals specified and the terms thereof. |
deals | optional | Array of objects | – | Array of Deal objects that convey the specific deals applicable to this impressions. |
Deal Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | string | – | Unique ID for the direct deal. |
bidfloor | optional | float | 0 | Minimum bid for this impression expressed in CPM. |
wseat | optional | Array of strings | – | Allow list of buyer seats allowed to bid on this deal. Seat IDs must be communicated between bidders and the exchange prior to bidding. Omission implies no seat restrictions. |
Native Markup Request Object
The native object will be included as a JSON-encoded string in the bid request’s imp.native field.
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
asset | required | Array of objects | – | Any bid response must comply with the array of elements expressesd in the bid request |
context | recommended | integer | – | The context in which the ad appears |
plcmttype | recommended | integer | – | The number of identical placements in this Layout |
adunit | optional | integer | – | The Ad unit ID of the native ad unit |
contextsubtype | optional | integer | – | A more detailed context in which the ad appears. |
ver | optional | string | “1.1” | Version of the Native Markup version in use |
Sample Native Request
"native": {"assets": [{"title": {"len": 90},"id": 1,"required": 1}, {"id": 2,"img": {"hmin": 130,"wmin": 250,"mimes": ["image/gif", "image/jpeg", "image/png"],"type": 3},"required": 0}, {"id": 3,"img": {"hmin": 110,"wmin": 100,"mimes": ["image/gif", "image/jpeg", "image/png"],"type": 1},"required": 0}, {"id": 4,"data": {"len": 25,"type": 1},"required": 0}, {"id": 5,"data": {"len": 90,"type": 2},"required": 0}, {"id": 6,"data": {"len": 25,"type": 3},"required": 0}, {"id": 7,"data": {"len": 15,"type": 6},"required": 0}, {"id": 8,"data": {"len": 15,"type": 12},"required": 0}],"ver": "1.1","contextsubtype": 10,"context": 1,"adunit": 4,"plcmttype": 500}
Native Markup Request Asset Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | integer | – | Unique asset ID, assigned by exchange. Typically a counter for the array |
title | recommended | object | – | Title object for title assets |
img | recommended | object | – | Image object for image assets |
data | recommended | object | – | Data object for brand name, description, ratings, prices etc |
required | optional | integer | 0 | Set to 1 if asset is required (exchange will not accept a bid without it) |
Native Markup Request Title Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
len | required | integer | – | Maximum length of the text in the title element. Recommended to be 25, 90, or 140. Current value is 140 |
Native Markup Request Img Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
types | optional | integer | – | Type ID of the image element supported by the publisher. The publisher can display this information in an appropriate format. 1 – Icon, 3 – Main |
w | optional | integer | – | Width of the image in pixels |
h | optional | integer | – | Height of the image in pixels |
mimes | optional | Array of strings | All types allowed | Allow list of content MIME types supported |
Native Markup Request Data Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
type | required | integer | – | Type ID of the element supported by the publisher. The publisher can display this information in an appropriate format |
len | optional | integer | – | Maximum length of the text in the element’s response |
Bid Response
The OpenRTB specification provides a full list of required, recommended, and optional objects to be included in the bid response. The LiveIntent Programmatic Bidding API supports a subset of these objects (including all required objects/attributes) as described below.
Object | OpenRTB Scope | Notes | Attributes |
---|---|---|---|
BidResponse | required | Top level object | id, seatbid, customdata |
SeatBid | required | Collection of bids made by the bidder on behalf of a specific seat* | bid |
Bid | required | Child of seatbid; an offer to buy a specific impression | id, impid, price, adm, adomain, adid, nurl, cat, dealid |
{"id": "123456789","seatbid": [{"bid": [{"id": "1","impid": "1","price": "3.89","adomain": ["advdomain.com"],"adm": "<a href="http://adserver.com/click"><img width="300" height="250"src="http://adserver.com/imp" /></a><img width="1" height="1" src="http://adserver.com/tracker"/>","nurl": "http://adserver.com/winnotice?impid=${AUCTION_IMP_ID}&cost=${AUCTION_PRICE}","dealid": "deal_id_1"},...]}]}
BidResponse Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | string | – | Bid request id |
seatbid | required | Array of objects | – | Array of seatbid objects |
customdata | optional | string | – | Used for storing cookies |
SeatBid Object
OpenRTB Scope | Type | Default | Description | |
---|---|---|---|---|
bid | required | Array of objects | – | Array of bid objects |
seat | optional | string | – | ID of the buyer seat (e.g., advertiser, agency) on whose behalf this bid is made |
Bid Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | string | – | Unique id for bid. |
impid | required | string | – | Impression this bid applies to. |
price | required | float | – | Bid price in CPM. |
adm | optional | string | – | Required – ad markup. |
adomain | optional | Array of strings | – | Required – advertiser top level domain. |
adid | optional | string | – | Id of ad to be served if bid wins. |
nurl | optional | string | – | Win notice URL. |
cat | optional | Array of strings | – | IAB content categories of the creative. |
cid | optional | string | – | Campaign ID to assist with ad quality checking. |
crid | optional | string | – | Creative ID to assist with ad quality checking. |
dealid | optional | string | – | Reference to deal.id from the bid request if this bid pertains to a private marketplace direct deal. |
Prices are in CPM units and the buyer cannot override the currency. The XHTML returned in the bid response `adm` attribute for the creative markup should contain the following structure:
<a ... href="..." ...><img ... src="..." /></a><img ... src="..." />
<img ... src="..." />
Due to email inventory specifics LiveIntent ignores any creative markup within <script>…</script> tags and tries to extract an anchor HTML tag together with up to two image impression tracker tags from outside markup. Any use of JavaScript, iFrames or Flash is not supported.
Native Markup Response Object
The native creative shall be returned as a JSON object in the “adm” field of the Bid Object.
There are two types of Native object LiveIntent will accept: the real native and static one. Static means using only image_type 505 in Response. This particular image will be shown to User. While the real one require few assets (title
, description
, creative background (icon
, logo
, main
)) which will be processed on server side and flatten into a solid image. (warning) DSP image handler should support S2S calls.
Note Only S2S win notification is available for Native impressions.
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
asset | required | Array of objects | – | List of native ad’s assets |
link | required | object | – | Destination Link. This is default link object for the ad. Individual assets can also have a link object which applies if the asset is activated(clicked). If the asset doesn’t have a link object, the parent link object applies |
imptrackers | optional | Array of strings | – | Array of impression tracking strings URLs, expected to return a 1×1 image or 204 response – typically only passed when using 3rd party trackers. This field should NOT contain win price macro |
ver | optional | string | “1.1” | Version of the Native Markup version in use |
Sample Native Response
"adm": {"link": {"clicktrackers": ["https://advertiser.com/click/abc123"],"url": "https://blog.liveintent.com/"},"assets": [{"title": {"text": "Check out our blog!“},"id": 1}, {"img": {"w": 370,"url": "https://s3.amazonaws.com/prod-heroku/external_greenhouse_job_boards/logos/000/005/053/resized/img.jpeg?1473812430","h": 370},"id": 3}, {"data": {"value": “LiveIntent"},"id": 4}, {"data": {"value": “Connecting brands to people“},"id": 5}, {"data": {"value": "Find out more"},"id": 8}],"imptrackers": ["https://advertiser.com/imp/abc123?ssp=liveintent & dsp_id = 8 & imp = 1 "],"ver": "1.1"}
Native Markup Response Asset Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
id | required | integer | – | Unique asset ID, assigned by exchange, must match one of the asset IDs in request |
title | optional | object | – | Title object |
img | optional | object | – | Image object |
data | optional | object | – | Data object for ratings, prices etc. |
required | optional | integer | 0 | Set to 1 if asset is required. (bidder requires it to be displayed) |
Native Markup Response Link Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
url | required | string | – | Landing URL of the clickable link |
clicktrackers | optional | Array of strings | – | Click tracker URLs to be fired via S2S on Click event on LiveIntent SSP side |
Native Markup Response Title Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
text | required | string | – | The text associated with the text element |
Native Markup Response Img Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
url | required | string | – | URL of the image asset |
w | recommended | integer | – | Width of the image in pixels |
h | recommended | integer | – | Height of the image in pixels |
Native Markup Response Data Object
Field | OpenRTB Scope | Type | Default | Description |
---|---|---|---|---|
value | required | string | – | The formatted string of data to be displayed. Can contain a formatted value such as “5 stars” or “$10” or “3.4 stars out of 5” |
No-Bid
In the event that the bidder does wish to bid on an impression, a no bid should be indicated as a HTTP 204 response. No content should be included (for example, an empty JSON object) as this simply adds unnecessary overhead to the transaction.
Ad Serving in Bid
Ad markup is returned directly in the bid itself. This is accomplished via the adm
attribute in the bid
object to provide improved user experience. Ad serving via win-notification is not supported.
Impression Tracking
The basic structure of the adm
(ad markup) field in the bid response is:
<a ... href="..." ...><img ... src="..." .../></a>
The bidder may optionally include impression tracking pixels in this field in order to maintain an independent count of impressions. The extended structure of the adm
field is:
<a ... href="..." ...><img ... src="..." .../></a><img ... src="..." .../><img ... src="..." .../>
The use of impression tracking pixels is optional.
Our RTB integrations are configured S2S and we support up to five (5) tracking pixels.
Win Notification
The bidder will be notified of a winning auction via the following methods:
- The
nurl
attribute of the bid response; in this case, the URL is fired server-side immediately after auction - As a pixel embedded in the
adm
attribute of the bid response (see Impression Tracking above); in this case, the URL is fired client-side upon the impression being served
Only S2S win notification is available for Native impressions.
Substitution Marcos
Substitution macros are supported in the bid response adm
and nurl
attributes. For the adm
attribute, macros are supported both in the creative context (image and click URLs) as well as the tracking context (tracking pixel URLs). Note that the substitution is simple in the sense that wherever a legal macro is found, it will be replaced without regard for syntax correctness.
Substitution Macro | Description |
---|---|
${AUCTION_ID} | ID of the bid request; from id attribute. |
${AUCTION_IMP_ID} | ID of the impression just won; from impid attribute. |
${AUCTION_AD_ID} | ID of the ad markup the bidder wishes to serve; from adid attribute. |
${AUCTION_PRICE} | Settlement price using the same currency and units as the bid. |
The bidder may assign these macros to URL parameters as needed. LiveIntent will supply values for these macros that are communicated via the callback (adm
, nurl
) to the bidder.
Macro Substitution Example (In Bid Response)
"nurl": "http://adserver.com/winnotice?impid=${AUCTION_IMP_ID}&cost=${AUCTION_PRICE}"
Trafficking Ad Tags from Popular Ad Servers
When trafficking ad tags to be used in newsletter inventory running on the LiveIntent platform they must conform to a standard compatible with email readers (Outlook, Gmail, etc.). Some general rules to adhere to:
- Images must be JPEG, GIF or animated GIF
- Supported sizes: 300×250, 728×90, 300×600, 970×250
- Do not use iFrame, Javascript or Flash tags. They are not compatible with email and will not serve.
Below are guidelines for trafficking ad tags for several popular ad servers, including modifications that will ensure proper ad delivery and click-through.
DART for Advertisers (DFA)
Changes to be made:
- Use the
<NOSCRIPT>
section of the Javascript tag - Add “dcove=r” immediately before the “ord=” parameter, separated by a semicolon
- Replace [timestamp] with ${AUCTION_IMP_ID}
// Original<NOSCRIPT><A HREF=”http://ad.doubleclick.net/jump/n4733.127343.LIVEINTENT.COM/b6766764.7;sz=300x250;ord=[timestamp]?”><IMG SRC=”http://ad.doubleclick.net/ad/n4733.127343.LIVEINTENT.COM/b6766764.7;sz=300x250;ord=[timestamp]?”BORDER=”0” WIDTH=”300” HEIGHT=”250” ALT=”Advertisement” /></A></NOSCRIPT>// Modified for LiveIntent<A
HREF=”http://ad.doubleclick.net/jump/n4733.127343.LIVEINTENT.COM/b6766764.7;sz=300x250;dcove=r;ord=${AUCTION_IMP_ID}?”><IMG SRC=”http://ad.doubleclick.net/ad/n4733.127343.LIVEINTENT.COM/b6766764.7;sz=300x250;dcove=r;ord=${AUCTION_IMP_ID}?” BORDER=”0” WIDTH=”300” HEIGHT=”250” ALT=”Advertisement” /></A>
Atlas
Changes to be made:
- Use the
<NOSCRIPT>
section of the Javascript tag - Append ${AUCTION_IMP_ID} to the URLS.
// Original
<NOSCRIPT><A
HREF=”http://click.atdmt.com/UMC/go/abcdefgh0123456umc/direct/01/” TARGET=”_blank”><IMG SRC=”http://view.atdmt.com/UMC/view/frsrkmcs0123456umc/direct/01/” BORDER=”0”/></A></NOSCRIPT>// Modified for LiveIntent<NOSCRIPT><A
HREF=”http://click.atdmt.com/UMC/go/abcdefgh0123456umc/direct/01/${AUCTION_IMP_ID}” TARGET=”_blank”><IMG BORDER=”0” SRC=”http://view.atdmt.com/UMC/view/frsrkmcs0123456umc/direct/01/${AUCTION_IMP_ID}” /></A></NOSCRIPT>
MediaMind
Changes to be made:
- Use the
<NOSCRIPT>
section of the Javascript tag - Append &ord=${AUCTION_IMP_ID} to the URLS
// Original<NOSCRIPT><A HREF="http://bs.servingsys.com/BurstingPipe/adServer.bs?cn=brd&FlightID=127343&Page=PluID=0&Pos=5349" target="_blank"><IMG SRC="http://bs.servingsys.com/BurstingPipe/adServer.bs?cn=bsr&FlightID=127343&Page=&PluID=0&Pos=5349" BORDER=”0” WIDTH=”300” HEIGHT=”250” /></A></NOSCRIPT>// Modified for LiveIntent<NOSCRIPT><A HREF="http://bs.servingsys.com/BurstingPipe/adServer.bs?cn=brd&FlightID=127343&Page=PluID=0&Pos=5349&ord=${AUCTION_IMP_ID}" target="_blank"><IMG SRC="http://bs.servingsys.com/BurstingPipe/adServer.bs?cn=bsr&FlightID=127343&Page=&PluID=0&Pos=5349&ord=${AUCTION_IMP_ID}" BORDER=”0” WIDTH=”300” HEIGHT=”250” /></A></NOSCRIPT>
Mediaplex
Changes to be made:
- Use the
<NOSCRIPT>
section of the Javascript tag: - Replace [CACHEBUSTER] with ${AUCTION_IMP_ID}
/ Original<NOSCRIPT><A HREF="http://altfarm.mediaplex.com/ad/nc/20692- 162078-43745-3?mpt=[CACHEBUSTER]"><IMG SRC="http://altfarm.mediaplex.com/ad/nb/20692-162078-43745-3?mpt=[CACHEBUSTER]"A LT="Click Here" BORDER="0"/></A></NOSCRIPT>// Modified for LiveIntent<NOSCRIPT><A HREF="http://altfarm.mediaplex.com/ad/nc/20692-162078-43745-3?mpt=${AUCTION_IMP_ID}<IMG SRC="http://altfarm.mediaplex.com/ad/nb/20692-162078-43745- 3?mpt=${AUCTION_IMP_ID} ALT="Click Here" BORDER="0"/></A></NOSCRIPT>
User Syncing
LiveIntent prefer DSPs partners to initiate the user sync. LiveIntent will store the match table and return the ID sync response with the DSP buyer ID.
The DSP has an option to either receive bid requests from all users including unknown or only from matched users.
Sync Requests
The bidder should provide a URL that accepts parameters within a GET request from the user syncing pixel:
Parameter | Required | Description |
---|---|---|
li_uuid | yes | LiveIntent unique id for the user |
bidder_id | yes | Unique id for the DSP |
callback_url | yes | Callback URL to redirect to LiveIntent |
Sync Response
Location:
URL works with both http and https:
//i.liadm.com/s/{ADVERTISER ID}?bidder_id={BIDDER ID}&bidder_uuid={REPLACE WITH DSP UUID}
The bidder must submit a response using the provided callback URL that includes the following parameters:
Parameter | Required | Description |
---|---|---|
{ADVERTISER ID} | yes | Unique Advertiser ID for the DSP provided to you by LiveIntent. |
bidder_id | yes | Unique ID for the DSP. Provided to you by LiveIntent. |
bidder_uuid | yes | DSP’s unique identifier for the user, empty if the DSP does note want to match this user |
expiration | no | Unix timestamp of when to match the user again. Empty if no expiration |
Buyer’s user ID can be submitted directly by pulling this LiveIntent URL from buyer’s pixel:
<img width=”1” height=”1” src=”http://i.liadm.com/s/{ADVERTISER ID}?bidder_id={BIDDER ID}&bidder_uuid={REPLACE WITH DSP UUID}” />
URL works with both http and https: