Browse the documentation

OpenRTB 2.x — Pop / Pop-under

Hosts: {rtb_domain} is your network's RTB domain, used by the bidder endpoints; a network without a dedicated RTB domain uses its ad domain there. {ad_domain} is the network's ad-serving domain. Inside the panel both are filled in for you.

Pop and pop-under windows. Either land URL or XML AdMarkup.

Endpoint#

URL

POST https://{rtb_domain}/openrtb/get.go?token={token}

Bid Request#

ext.type = "pop" is optional — the SSP campaign is bound to a specific ad type, so the gateway treats the request as a pop regardless. The hint helps when the same feed handles multiple types.

Example

{
  "id": "your_id",
  "imp": [{
    "id": "your_id",
    "tagid": "placementid",
    "bidfloor": 0.00,
    "bidfloorcur": "USD",
    "ext": { "subid": "", "type": "pop" }
  }],
  "site": {
    "id": "1", "domain": "site.com",
    "publisher": { "id": "1" },
    "page": "http://site.com/page.html"
  },
  "device": {
    "ua": "{user_agent}",
    "ip": "{client_ip}",
    "language": "{language}",
    "geo": { "country": "{country}", "ipservice": 3 },
    "ext": {
      "accept_language": "{accept_language}",
      "remote_addr": "{client_ip}",
      "requested_with": "{requested_with}"
    },
    "h": {browser_h}, "w": {browser_w}
  },
  "user": { "id": "5a80e2e5857d86a298e013ab0091c17e" },
  "curr": ["USD"],
  "at": 1
}

Bid Response#

Direct URL is the default — adm is just a landing URL string. The feed (SSP campaign) settings can opt into the XML AdMarkup form when needed (e.g. when the bidder wants to wrap the URL in their own creative envelope). Our XML wrappers (<popunderAd>, <fullpageAd>, <emailClick>, …) are proprietary — pop / fullpage / mailclicks / redirects aren't in the IAB OpenRTB spec.

Direct URL adm

{
  "id": "your id",
  "seatbid": [{
    "bid": [{
      "id": "our id",
      "impid": "your_id",
      "price": 0.0272,
      "nurl": "https://your-dsp.com/win?bid=${AUCTION_BID_ID}&price=${AUCTION_PRICE}",
      "adm": "//site.com/pop.html"
    }]
  }]
}

XML AdMarkup

{
  "id": "your id",
  "seatbid": [{
    "bid": [{
      "id": "our id",
      "impid": "your_id",
      "price": 0.0272,
      "nurl": "https://your-dsp.com/win?bid=${AUCTION_BID_ID}&price=${AUCTION_PRICE}",
      "adm": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><ad><popunderAd><url><![CDATA[https://site.com/page.html]]></url></popunderAd></ad>"
    }]
  }]
}

AdMarkup XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<ad>
  <popunderAd>
    <url><![CDATA[https://site.com/page.html]]></url>
  </popunderAd>
</ad>

Win notice (nurl)#

Optional: put a nurl on your bid and we call it (server-side GET) when your bid wins. When you send no nurl but do send burl, we call burl instead. The standard OpenRTB auction macros in the URL are filled in before the call — see the list below. Banner, video, native, push and full-page wins: we call it once, when the ad is actually shown. Pop, redirect and mail-click wins have no render step, so we call it right after the auction. Leave nurl out and no win notice is sent.

Example

https://your-dsp.com/win?bid=${AUCTION_BID_ID}&price=${AUCTION_PRICE}

Supported macros

${AUCTION_PRICE}     winning price, same unit and currency as bid.price
${AUCTION_CURRENCY}  always USD
${AUCTION_BID_ID}    your bid.id
${AUCTION_IMP_ID}    the impid of the winning bid
${AUCTION_ID}        the id of our bid request