Knowledge Base

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 and IAB OpenRTB Native 1.1. 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 e-mail 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.

 
 
 
 

Change History

Date Responsible Change
11/14/2014 Dave Wright

Incorporated object and attribute tables from OpenRTB spec. Updated to OpenRTB 2.2:

- add secure flag in impression object

- remove deprecated buyerid attribute in user object

- remove unused yob and gender from user object

- note change to 2.2 in message headers.

11/25/2014 Dave Wright Updated version to OpenRTB v2.3; no content changes
11/26/2014 Graham Gnall

Updated description of page attribute of site object for custom use

7/10/2015 Graham Gnall

Added bid.categories field to bid response

2/22/2016  Kyle Brown

Overall cleanup and minor corrections/clarifications 

12/07/2016 Kyle Brown 

Added bid.badv (blocked advertisers), bid.imp.pmp (Deal ID support) to bid request

05/26/2017 Vladimir Furman

Added examples for Native request and response

06/15/2017 Vladimir Furman

Updating the examples for Native request and response

 

Overview

 

Process Flow

A typical process flow for a buyer using the LiveIntent Programmatic Bidding API:

  1. A user opens an email, and a request is sent to the LiveIntent e-mail ad server platform from the user’s browser.

  2. LiveIntent initiates a bid request to all RTB buyers.

  3. The buyers respond with bids and creative tags for the email impression.

  4. LiveIntent selects the highest bid in a real-time auction.

  5. LiveIntent serves the buyer’s creative replacing the price macro.

  6. 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
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": {
        "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
}

 

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
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.

 

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 will have to extract the anchor and image sources. Failure to extract it properly will result in a no bid. Also, any use of JavaScript, iFrames or Flash at any point in the redirection chain will result in a failure of the creative being served.

Site Object

Field OpenRTB Scope Type Default Description
id recommended string - Site ID
domain optional string - Site domain
name optional string - Site name
cat optional array of strings - Site category
page recommended string - Custom url representing domain and category
publisher optional object - Publisher object
 

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
 

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 - Whitelist 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 Whitelist 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
 
 
Sample Bid Response
 
{
  "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.idfrom 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 click and image URLs must explicitly follow this structure:

<a ... href="..." ...><img ... src="..." .../></a> 

Due to email inventory specifics LiveIntent will have to extract the anchor and image sources. Failure to extract it properly will result in a no bid. Also, any use of JavaScript, iFrames or Flash at any point in the redirection chain will result in a failure of the creative being served.

LiveIntent extracts anchor and image sources from the adm attribute using the following approach:

  1. Remove all <script> sections
  2. Search for and extract an anchor with a nested image source. If a <noscript> section exists, LiveIntent will attempt to extract from the <noscript>section first before searching the rest of the attribute.
  3. Search for and extract up to two image sources using the same criteria as above. If more than two image sources found, LiveIntent will extract only the first two. (See Impression Tracking below.)
 

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 (titledescription, creative background (iconlogomain)) 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 1x1 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)

 

 

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 admattribute 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.
For standard integrations, the bidder may use up to two (2) impression tracking pixels as needed. 
For S2S integrations, up to five (5) impression tracking pixels can be supported.
For native integrations, up to five (5) impression tracking pixels can be supported because only S2S is supported.

 

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 nurlattributes. 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 (admnurl) 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: 300x250, 728x90, 160x600, 300x600, 970x250
  • 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

When LiveIntent receives an impression request from a user that has not been previously matched, the user will be redirected to the DSP, who will then redirect him to LiveIntent via a callback URL thereby completing the cookie sync. User matching for no-cookie users will not be done.

Alternatively, the DSP can submit its user ID on its own by pulling out the LiveIntent match URL.

The DSP has an option to either receive bids 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

 

The sync request call is initiated from the user’s browser dislaying the user syncing pixel:

<img width=”1” height=”1” src=”http://adserver.bidder.com/match?li_uuid=123456&bidder_id=1&callback_url=http%3A%2F%2Fi.liadm.com%2Fs%2F{ADVERTISER ID}%3Fbidder_id%3D{BIDDER ID}%26bidder_uuid%3D{REPLACE WITH DSP UUID}” />

 

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:

Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk