Get in Touch

Display.io provides opportunity for publishers to monetize traffic through ad serving via the following integration types:

Platforms: iOS, Android, Web Mobile.
Viewability: supported for all the inventory – certified by IAB.
Mediation platforms adapters (for SDK integration): AdMob, GAM, Max Applovin, ironSource.
Display ad Protocol: MRAID 2.0/ 3.0.
Video ad Protocol support: VAST 2.x/3.x/4/x.

In the table below you will find display.io inventory overview:

Ad unit  Ad Format  Size Platform Integration types
Interscroller
(feed UX)

Video
Display

Display: 320×480
Video: 360×640

iOS
Android

SDK

 Web Mobile

JS tag

Headline
(feed UX)

Video
Display

Display: 300×250
Video: 640×360

iOS
Android

SDK

 Web Mobile

JS tag

Inline
(feed UX)

Video
Display

Display: 300×250, 320×480, 320×50
Video: 640×360, 360×640

iOS
Android

SDK
InRing

Audio

iOS
Android

SDK
Infeed
(feed UX)

Video
Display

Display: 300×250
Video: 640×360

iOS
Android

SDK
JS Tag

 Web Mobile

JS tag

Interstitial
Video
Display

Display:
320×480 / 480×320
Video:
360×640 / 640×360

iOS
Android

SDK
JS Tag

 Web Mobile

JS Tag

Rewarded
Video

Video:
360×640 / 640×360

iOS
Android

SDK
JS Tag

 Web Mobile

JS tag

Medium
Rectangle

Display

300×250

iOS
Android

SDK
JS Tag

 Web Mobile

JS Tag

Banner

Display

320×50

iOS
Android

SDK
JS Tag

 Web Mobile

JS Tag

Universal

Video
Display
Audio
Native

All IAB sizes

iOS
Android
Web Mobile

oRTB
VAST Tag
Prebid
OpenWrap

 

 

Display.io is GDPR, CCPA, COPPA, CalOppa compliant, that’s why it’s required from the publishers to support any certified CMP (Consent Management Platform) to get user’s consent (GDPR consent, US Privacy consent).

What version of openRTB format do you use?
openRTB 2.3, 2.5, 2.6

What do you expect to see in case of no bid?
HTTP Status 204

What auction types do you support?
1st and 2nd price auctions

What is your impression expiry time (Ad TTL)?
2 hours. In case of any specific requirement it should be communicated

What is your average tmax?
800ms

What currency do you support?
USD

Where are you servers located?
US-EAST, US-WEST, EU, ASIA

Are you able to control QPS?
Yes

What’s your potential QPS?
Average 25K QPS.
Note: auto-throttling based on performance and specific targeting potentially adjusting the QPS volume

Do you have an ability to set Blacklist and/or Whitelist?
Yes, per publisher/bundle, ad size, ad format, GEO.

Do you have dashboard or reporting API?
No (only for Publishers)

Can you track invalid bids and check the reason?
Yes

Do you support LURL / NURL / BURL?
Yes

Do you support BURL or adm beacons for impressions tracking?
Both

What VAST version do you support?
VAST 2.0, VAST 3.0

Do you support VPAID?
No

Do you encrypt auction price macro?
No

Do you replace all auction price macros inside adm? 
Yes

Do you have any oRTB custom parameters?
Yes,
Bid Response:
bidresponse.seatbid.bid.ext.aname – (string) Advertiser name
bidresponse.seatbid.bid.ext.clickurl – (string) Click URL (equals to ClickThrough url)
bidResponse.seatbid.ext.skadn.skoverlay.present / bidResponse.seatbid.ext.skadn.skoverlay.show
bidResponse.seatbid.ext.skadn.skoverlay.click
bidResponse.seatbid.ext.skadn.skoverlay.dismissible
bidResponse.seatbid.ext.skadn.skoverlay.pos / bidResponse.seatbid.ext.skadn.skoverlay.position
bidresponse.seatbid.bid.ext.aname
bidresponse.seatbid.bid.ext.clickurl

Bid Request:
bidRequest.imp.ext.skadn.skoveraly
bidRequest.ext.placementType  /  bidRequest.imp.video.ext.rewarded  /  bidRequest.imp.video.videotype  (to signal “Rewarded” inventory)
imp.banner.ext.bannertype

Overview

This document specifies SSP OpenRTB 2.5, 2.5 implementation for Demand-Side Platforms (DSPs).

Data Center Location

Currently display.io has 1 main data center located in US-EAST and extra DCs located at US-WEST, EU, ASIA.

Ad Formats

Each bid request contains only 1 ad format object:  “Video”, “Banner” , “Native.

Banner (Display) Ads

Display ad bids should contain HTML markup. display.io SDKs support MRAID 2.0 and 3.0 standards.

Video Ads

Video ad bids should contain VAST 2.0 or 3.0 InLine tag.
Also Video ad bids support Wrapper tag (up to 4 nesting levels) (https://www.iab.com/wp-content/uploads/2015/06/VASTv3_0.pdf 2.2.2.2, 2.2.3, 2.2.4).

The adm must include the “<?xml” header. VPAID is not supported.

Main Ad Units/Formats/Sizes

  Ad unit       Ad Format       Ad unit size Requested
Ad Size
   Interscroller
(feed UX)

Video
Display

320×480

Display: 320×480
Video: 360×640


Headline
(feed UX)
Video
Display
300×250 Display:
300×250
Video:
640×360
   Interstitial Video
Display
320×480
480×320

Display:
320×480 / 480×320
Video:
360×640 / 640×360

   Infeed
   (feed UX)
Video
Display
300×250
320×250

Display: 300×250
Video: 640×360

Medium
Rectangle
Display 300×250  300×250
   Banner Display 320×50 320×50

Custom parameters

Bid Request:

bidRequest.imp.video.ext.videotype
// (string) – Video placement type: 
// "rewarded", "interstitial", "infeed", "interscroller", or "adhesion" (headline video)

bidRequest.imp.banner.ext.bannertype
// (string) – Banner placement type: 
// "interstitial", "infeed", "interscroller", "banner", or "mrect"

bidRequest.imp.ext.skadn.skoverlay
// (integer) – Whether an impression is eligible for SKOverlay (1) or not (0)

bidRequest.ext.placementType
// (string) – Custom parameter to signal Rewarded video traffic ("rewarded")

bidRequest.imp.video.ext.rewarded
// (integer) – Custom parameter to signal Rewarded video traffic (1) or not (0)

Bid Response (optional):

bidResponse.seatbid.bid.ext.aname
// (string) – Advertiser name

bidResponse.seatbid.bid.ext.clickurl
// (string) – Click URL (equals to ClickThrough URL)

SKOverlay Bid Response controls (optional):

bidResponse.seatbid.ext.skadn.skoverlay.present 
// (integer) – Display the overlay (1) or not (0)

bidResponse.seatbid.ext.skadn.skoverlay.show 
// (integer) – Alternative to 'present' for showing the overlay (1) or not (0)

bidResponse.seatbid.ext.skadn.skoverlay.click 
// (integer) – Trigger click tracking when overlay is displayed (1) or not (0)

bidResponse.seatbid.ext.skadn.skoverlay.dismissible 
// (integer) – Allow user to dismiss the overlay (1) or not (0)

bidResponse.seatbid.ext.skadn.skoverlay.pos 
// (integer) – Position of the overlay:
// 0 = bottom
// 1 = bottom raised

bidResponse.seatbid.ext.skadn.skoverlay.position 
// (integer) – Alternative to 'pos' for setting overlay position

 

Viewability

For all ad units and formats, viewability measurement is supported through IAB OM SDK.

Verification for VAST ads is supported through the “AdVerifications” extension as described in the OMSDK onboarding documentation.

Verification for display ads is supported inline in the ad markup.

dispay.io SDKs are compliant with the IAB Open Measurement standards for viewability.

GDPR

In accordance with the IAB OpenRTB GDPR advisory our RTB API passes consent string and GDPR state in User.ext.consent and Regs.ext.GDPR.

 

CCPA

Display.io supports IAB CCPA Compliance Framework and has LSPA (Limited Service Provider Agreement) signed up. In accordance with the IAB CCPA Compliance Framework for Publishers & Technology Companies our RTB API passes US privacy consent string via Regs.ext.us_privacy.
Please, pay attention: if a user is opt-out of sale or a user is from California, but there is no data about his consent, and demand partner hasn’t LSPA signed up – bid request won’t be sent to a such demand partner.

 

Caching

Display ads are cached prior to being displayed to users, when cached they get loaded into a webview in the mobile SDK.

Once cached it may take a short or considerable time before the ad will be displayed to the user, or it may not be displayed to the user at all. Average time to live (TTL) for ad is 2 hours, but it may be limited according to advertiser’s requirements.

The display.io mobile SDKs support the MRAID 3.0 standard. We strongly recommend buyers who rely on beacons in ad markup to serve MRAID ads to support correct ad rendering and tracking of ad lifecycle events or use burl events for impression tracking.

The display.io ad platform will call the provided burl in the bid only on impression.

Ad Markup

The ad markup must be provided within adm property.
For billing we support nurl, burl, billing url inside VAST markup.

 

Examples

Interscroller Display Bid Request Example

{
"id":"5f33f1069c436",
"at":1,
"imp":[
    {
     "id":"1",
     "tagid":"placement7070",
     "displaymanager":"display.io SDK",
     "displaymanagerver":"4.4.4",
     "instl":1,
     "secure":1,
     "banner":
       {
        "w":320,
        "h":480,
        "pos":7,
        "btype":[3],
        "battr":[8,17,10,9],
        "ext":{"bannertype":"interscroller"},
        "api":[5,6,7]
        },
      "bidfloor":6.42
     }
   ],
 "app":
   {
    "id":"8347",
    "name":"Tumblr_Android",
    "storeurl":"https://play.google.com/store/apps/details?id=com.tumblr",
    "bundle":"com.tumblr",
    "publisher":{"id":"2101","name":"Tumblr, Inc."}
    },
  "device":
    {
     "js":1,
     "geo":
       {
        "country":"USA",
        "region":"New Mexico",
        "type":2,"ipservice":3,
        "lat":35.0845,"lon":-106.6511
        },
     "ip":"174.237.5.16",
     "devicetype":4,
     "ifa":"00e16d14-01c3-4400-9151-a3e5ca671af1",
     "carrier":"Verizon ",
     "model":"moto z4",
     "make":"motorola",
     "h":2168,
     "w":1080,
     "ua":"Mozilla/5.0 (Linux; Android 10; moto z4 Build/QDFS30.130-42-5-2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.111 Mobile Safari/537.36",
     "os":"android",
     "osv":"10.0.0",
     "lmt":0
     },
  "source":
     {
      "fd":0,
      "tid":"5f33f10695ec3",
      "pchain":"display.io:2101",
      "ext":
        {
         "schain":{"ver":"1.0","complete":1,"nodes":[{"asi":"display.io","sid":"2101","rid":"5f33f1069c436","hp":1}]},
         "omidpn":"Displayio",
         "omidpv":"4.4.4"
        }
      },
  "bcat":["IAB25","IAB26","IAB7-39"],
  "regs":
   {
    "coppa":0,"ext":{"us_privacy":"1---"}
  }
}

 

Interscroller Display Bid Response Example

{
  "id":"5f33f1069c436",
  "cur":"USD"
  "seatbid":[
    {
      "seat":"1323-1",
      "bid":[
         {
           "id":"1323-1-1",
           "impid":"1",
           "price":6.42,
           "crid":"cr-liv6ymcwulrgv2",
           "cid":"c-9ax04m0sv9",
           "adm":"<script src='https://test/example/js?excid=test&pickup=523b1bc4a13de843c30dfb308d00dcc5&zrk=8296388b401038f3939fd40ec52ae01b&zds=b6e344396c72343a27ab740162b3fa01&imp=1b82f272620d003e680a52fa5dc3584b&rtbserve=1&pv=1&prc=ZX0.000751074579120603&extra=1'></script>",
           "w":320,
           "h":480,
           "adid":"46_10011483",
           "adomain":["shop.mashable.com"]
         }
       ]
     }
   ]
}

 

Infeed Video Bid Request Example

{
  "id":"5f3407dd5cfaa",
  "at":1,
  "imp":[
    {
     "id":"1",
     "tagid":"placement5732",
     "displaymanager":"display.io",
     "displaymanagerver":"1.0.0",
     "instl":0,
     "video":
       {
        "w":320,
        "h":480,
        "pos":3,
        "protocols":[2,3,5,6],
        "mimes":["video/mp4"],
        "minduration":4,
        "maxduration":60,
        "battr":[8,17,10,9],
        "linearity":1,
        "ext":{"videotype":"infeed"},
        "minbitrate":250,
        "maxbitrate":10000
       },
     "bidfloor":1.55
    }],
  "app":
   {
    "id":"8109",
    "name":"com.naver.linewebtoon",
    "storeurl":"https://play.google.com/store/apps/details?id=com.naver.linewebtoon",
    "bundle":"com.naver.linewebtoon",
    "publisher":{"id":"2059","name":"NAVER WEBTOON CORP"}},
    "device":
      {
      "js":1,
      "geo":
        {
         "country":"USA",
         "region":"Utah",
         "type":2,
         "city":"Ogden",
         "zip":"84401",
         "ipservice":3,
         "lat":41.2215,
         "lon":-111.9621
        },
      "ip":"24.2.103.230",
      "ifa":"7f872bfe-c155-47a8-b5ed-b8e42edb0cd0",
      "model":"Samsung SM-G935T",
      "carrier":"Comcast Cable",
      "connectiontype":2,
      "ua":"Mozilla/5.0 (Linux; Android 8.0.0; SM-G935T Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.111 Mobile Safari/537.36",
      "os":"Android",
      "osv":"8.0.0",
      "lmt":0
     },
  "source":
    {
     "fd":0,
     "tid":"5f3407dd58c49",
     "pchain":"display.io:2059",
     "ext":{"schain":{"ver":"1.0","complete":1,"nodes":[{"asi":"display.io","sid":"2059","rid":"5f3407dd5cfaa","hp":1}]}}},
  "user":{"keywords":"gmext"},
  "bcat":["IAB25","IAB26","IAB7-39"],
  "regs":
   {
    "coppa":0,"ext":{"us_privacy":"1---"}
   }
}

Infeed Video Bid Response Example

{
  "id":"5f341cc57b5cb",
  "seatbid":[
    {
     "bid":[
      {
       "id":"1",
       "impid":"1",
       "price":1.78,
       "adm":"<VAST version=\"3.0\"><Ad><Wrapper><AdSystem><![CDATA[EXAMPLE Go Ad Server]]></AdSystem><VASTAdTagURI><![CDATA[http://example.com/vastd.xml?vid=1597250756_9ea55362d07f3e969dfca26ae61d06d0&aic=${AUCTION_PRICE}&pid=4980f2fde3]]></VASTAdTagURI><Impression><![CDATA[http://example.com/xcp.gif?iid=1597250756_9ea55362d07f3e969dfca26ae61d06d0&v=true&vp=1&aid=1597250756_9ea55362d07f3e969dfca26ae61d06d0]]></Impression><Error></Error><Creatives></Creatives><Extensions></Extensions></Wrapper></Ad></VAST>",
       "adomain":["musely.com"],
       "iurl":"https://cdn.w55c.net/v/s_XRXELsR2Ld_749145084.xml",
       "cid":"Xm24rhHMiP",
       "crid":"79_XRXELsR2Ld"
      }],
     "seat":"7fb78c4d5e"
    }],
  "bidid":"1597250756_9ea55362d07f3e969dfca26ae61d06d0",
  "cur":"USD"
}