NAV
Code Examples

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
07/10/2015 Graham Gnall Added bid.categories field to bid response
02/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/19/2017 Vladimir Furman Updated version to OpenRTB v2.5. Added Native support according to Open RTB Native 1.1
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

Sample Bid Request

 {
  "id": "123456789", 
  "at": 2,
  "badv": ["domainA.com", "domainB.com", "domainC.com"],
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 300,
        "h": 50,
        "id": 2,
        "pos": 1,
        "btype": [1, 3, 4]
      },
      "pmp": {
        "private_auction": 1,
        "deals": [
          {
            "id": "deal_id_1",
            "bidfloor": 2.5,
            "wseat": ["seat_id_abc"]
          },
          {
            "id": "deal_id_2",
            "wseat": ["seat_id_xyz"]
          }
        ]
      }
    }
  ],
  "site": {
    "id": "324426233",
    "name": "Site ABCD",
    "domain": "site.com",
    "cat": [
      "IAB2-1",
      "IAB2-2"
    ],
    "page": "http://site.com/keyword ",
    "publisher": {
      "id": "pub231",
      "name": "Pub A"
    }
  },
  "device": {
    "ip": "178.23.224.230",
    "ua": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16",
    "language": "en"
  },
  "user": {
    "id": "112349032465234231734908",
    "buyeruid": "983984837129123957302",
    "gender": "F"
  }
}

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

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

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

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

Sample Native Request

"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"
  }
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
ver optional string “1.1” Version of the Native Markup version in use

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

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"
        },
        ...
      ]
    } 
  ]  
}

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

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

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

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

Sample Native Response

  "adm": {
    "link": {
      "clicktrackers": ["https://sandbox.bidswitch.net/click/z6KXCiFbC93GTBmFU4A1LP4IAyhhYl0WU0fQTtTfdLhgMxWacgjAWKpcyca0EWCDWZz4X9q5e7kx64AU7NbFYAqE33vlU4gyL6WAGnEuKIpLUlC-j2gLZr1jcV4Id_R8C6lkKqRJtWa_biYDn77A0gSztHU7RmlIan9lUtffbiVi_-6bh25gmtjvKTRNjqc1Vv9_tFoeEqkmmWldhi-XeRXHx6Zr0IETbCeXF9UPvkDUW5KwZZuZ39ngP5PU7-mpULwjiwLDCGidIZ58U6S5DPA6_0N9OomkRAEO3ehtR4eTvjfO3-dtd_l5kqSkEk0ax7H97jH-UbWI3r1QEPQTNNsYz-pzcdJhbscXJQpQwDs///"],
      "url": "https://www.iponweb.com/jobs/"
    },
    "assets": [{
      "title": {
        "text": "Work for IPONWEB"
      },
      "id": 1
    }, {
      "img": {
        "w": 370,
        "url": "https://sb.bidswitch.net/iponweb-vacancy-370x370.png",
        "h": 370
      },
      "id": 3
    }, {
      "data": {
        "value": "BidSwitch"
      },
      "id": 4
    }, {
      "data": {
        "value": "Vacancies in Moscow and Berlin"
      },
      "id": 5
    }, {
      "data": {
        "value": "Find out more"
      },
      "id": 8
    }],
    "imptrackers": ["https://test.bidswitch.net/sync?ssp=liveintent & dsp_id = 8 & imp = 1 "],
    "ver": "1.1"
  }

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

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

Only S2S win notification is available for Native impressions.

Substitution Marcos

Macro Substitution Example (In Bid Response)

"nurl": "http://adserver.com/winnotice?impid=${AUCTION_IMP_ID}&cost=${AUCTION_PRICE}" 

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.

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:

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)

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

Changes to be made:

Atlas

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

Changes to be made:

MediaMind

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

Changes to be made:

Mediaplex

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

Changes to be made:

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 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}” />

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

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}” />

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