Overview
This document specifies Server to Server (S2S) integration for Demand-Side Platforms (DSPs) interested in buying from our marketplaces
Data Center Location
Currently display.io has 1 data center located in US-EAST.
Ad Formats
S2S integration supports "Video" (through VAST tag) and "Banner" ("Display") ad format.Banner (Display) Ads
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.
Supported Ad Units/Formats/Sizes
Ad unit | Ad Format | Ad unit size | Requested Ad Size |
|
---|---|---|---|---|
![]() |
Interscroller (feed UX) |
Video |
320x480 |
Display: 320x480 |
![]() |
Headline Video (feed UX) |
Video |
300x250 |
640x360 |
|
Interstitial | Video | 320x480 480x320 |
Display: |
|
Infeed (feed UX) |
Video Display |
300x250 |
Display: 300x250 |
|
Medium Rectangle |
Display | 300x250 | 300x250 |
|
Banner | Display | 320x50 | 320x50 |
Payment model
S2S payment model is based on fixed price agreement.
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 we can pass passes consent string and GDPR state through certain macroses.
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 S2S API passes US privacy consent string via macros 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.
No Bid
We define S2S ad response as No Bid in one of these cases:
- http code is not 2xx
- http response body is empty
Supported Macroses
- DEVICE -
[IP]
[CACHEBUSTING]
[UA]
[DNT]
[LMT]
[GPID]
[IFA]
[DEVICE_ID]
[DEVICE_MAKE]
[DEVICE_MODEL]
[DEVELOPER_ID]
[DEVELOPER_NAME]
[DEVELOPER_UA]
[DEVELOPER_DOMAIN] (stub)
[DEVICE_LAT]
[DEVICE_LON]
- APP -
[APP_ID]
[APP_NAME]
[APP_PKG_NAME] | [BUNDLE_ID]
[APP_OS]
[APP_PREVIEW_URL]
[APP_CATEGORIES]
[PLACEMENT_ID]
[W]
[H]
[IAB_CONTENT_CATEGORIES]
- USER -
[YOB]
[GENDER]
[AGE]
- SCHAIN OBJECT -
[SCHAIN_COMPLETE]
[SCHAIN_ASI]
[SCHAIN_SID]
[SCHAIN_RID]
[SCHAIN_NAME]
[SCHAIN_DOMAIN]
[SCHAIN_HP]
- OTHER-
[TAG_ID]
[COPPA]
[OMIDPN]
[OMIDPV]
[US_PRIVACY] - CCPA consent string
Ad Request/Response examples
Video (VAST tag) Ad Request
https://loopme.me/api/vast/ads?appId=dc13b1ef12&vast=2&vpaid=0&ua=Mozilla%2F5.0+%28Linux%3B+Android+8.0.0%3B+SM-J337T+Build%2FR16NW%3B+wv%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Version%2F4.0+Chrome%2F81.0.4044.138+Mobile+Safari%2F537.36&lon=-87.7474&lat=41.9453&uid=803ad836-916e-485a-98ac-aa98f4d1fbf7&ip=67.162.74.2&dnt=0&bundleid=com.sega.sprint&appname=Sonic+Forces%3A+Speed+Battle&height=640&width=360&exchange=displayio&clientid=displayio
Video Ad Response - "No Ad"
<?xml version="1.0" encoding="UTF-8"?> <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="2.0"><status></status></VAST>
Display Ad Request
https://ads.undertone.com/af?zoneid=189252&s2sinapp=1&tsid=11&deviceid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f&appid=8358&bundleid=com.wallpaper.happyapp&lat=41.17&lon=-73.2&cb=09035779&dnt=0&schain=1.0,1!display.io,1967,1,,Cashbox+Group+Technology%28Hong+Kong%29+Limited,51cashbox.com
Display Ad Response
<html><head><title>Advertisement</title></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color:transparent;width:100%;text-align:center;"><script src="mraid.js"></script><script>var ut_pixels = [{type:'image', url:'https://evt.undertone.com/l?bannerid=1466025&campaignid=364815&zoneid=189252&cb=2d7f994ebee14130948498680b45892e&bk=qa5vlw&id=1fhsied8jrpi65inz1vn81ak9&stid=270&uasv=v22&slice=eJyrViooMVCyqlZKTCnNyyyJz0xRslKyMFDSUSrOyUxO9QRxQbySYoiUoSGQU1USn5hSUJSZX5RZUgkUROXX1gIAZREbsg==&tsid=11&deviceid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f&deimp=1&inapp=1&ut_pii_allowed=1&has_capping=0&platform=Mobile&placement_type=Interstitial&time_zone=America/New_York'},{type:'markup', url:'PElNRyBTUkM9Imh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS90cmFja2ltcC9ONjY0My4xMjQ1NDEuVU5ERVJUT05FTkVUV09SS1MvQjIzODQ4NjI4LjI2ODU5NTYzMjtkY190cmtfYWlkPTQ2MzI0NzI5NTtkY190cmtfY2lkPTEyOTM5NTIzMDtvcmQ9MzEwMWE3ODBjYmQwNDk5NTg1MjljMjVmYjgxNjlmNWY7ZGNfbGF0PTtkY19yZGlkPWRkN2Y1M2ZhLWUwN2ItNDUwZS04NmJhLWY2Zjk3YTJkMjkyZjt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT0/IiBCT1JERVI9IjAiIEhFSUdIVD0iMSIgV0lEVEg9IjEiIEFMVD0iQWR2ZXJ0aXNlbWVudCI+'}];var ut_pixel_event = 'ready';</script><script src="https://creative-p.undertone.com/inapp/ut_pixels.min.js"></script><script type="text/javascript">var sf_tag = 1; var ut_extra_data={ut_country:'us',ut_country_name:'united states',ut_state:'ct',ut_state_name:'can tho',ut_city_name:'naugatuck',ut_zip_code:'06770',ut_dma:'533',ut_dma_name:'hartford & new haven',ut_latitude:'41.4900017',ut_longitude:'-73.0500031',ut_today_temp_current:'50',ut_today_temp_high:'60',ut_today_temp_low:'39',ut_today_weather_type:'thunderstorms,rain showers',ut_tomorrow_temp_high:'56',ut_tomorrow_temp_low:'35',ut_tomorrow_weather_type:'Mostly Sunny'}; var ut_udms={udms:{rid:'1fhsied8jrpi65inz1vn81ak9',zid:'189252',cid:'364815',bid:'1466025'},macros:{random:'3101a780cbd049958529c25fb8169f5f',bannerid:'1466025',campaignid:'364815',iolineitemid:'263135',zoneid:'zoneid',dnt:'0',mobile_device_id:'dd7f53fa-e07b-450e-86ba-f6f97a2d292f',coppa:'0'}}; var ut_clickurl = 'https://evt.undertone.com/c?oaparams=2__deviceid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f__bannerid=1466025__campaignid=364815__zoneid=189252__cb=d0ade97b71074dc89a0726f6db799d0e__bk=qa5vlw__id=1fhsied8jrpi65inz1vn81ak9__inapp=1__ut_pii_allowed=1__oadest='; var ut_evtbase = 'https://evt.undertone.com/e?bannerid=1466025&campaignid=364815&zoneid=189252&cb=c6a94b3106dd457889e12a59b91740d3&bk=qa5vlw&id=1fhsied8jrpi65inz1vn81ak9&stid=270&uasv=v22&inapp=1&deviceid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f&ut_pii_allowed=1&time_zone=America/New_York'; var ut_scripts = ["https://pixel.adsafeprotected.com/jload?anId=927944&campId=364815&pubId=189252&chanId=18894&placementId=263135&adsafe_par&bundleId=com.wallpaper.happyapp&impId=1fhsied8jrpi65inz1vn81ak9&ias_adpath=%23div_[SF_UID]_0","https://cdn.doubleverify.com/dvtp_src.js?ctx=43425&cmp=DV310070&sid=undertone&plc=DV-UT_Viewability&adsrv=103&advid=3819603&dvtagver=6.1.src&btreg=div_[SF_UID]_0&DVP_PP_REP=1&DVP_IQM_ID=37&DVP_DV_TT=1&DVP_DV_CT=1&DVP_PP_APP_ID=com.wallpaper.happyapp&DVPX_PP_IMP_ID=1fhsied8jrpi65inz1vn81ak9&DVP_UT_1=1466025&DVP_UT_2=364815&DVP_UT_3=263135&DVP_UT_4=189252&DVP_UT_5=80&turl="];</script> <img src="data:image/png,sparkflow" style="display:none" onerror="(function (a) { if (typeof window._extra === 'undefined') window._extra = ''; if (typeof window.ut_udms === 'object') { if (ut_udms.udms && ut_udms.udms.rid != '{i'+'d}') { _extra = JSON.stringify(ut_udms); } } window._spad = { callbacks:{ ready:function(id){ id='div_'+id+'_0'; var scr0 = document.createElement('script'); scr0.src = 'https://pixel.adsafeprotected.com/rjss/st/412853/43565137/skeleton.js?ias_adpath=%23' + id; document.body.appendChild(scr0); } } }; var s = document.createElement('script'); s.src = 'https://ads.sparkflow.net?g=50462&x=189252&a='+encodeURIComponent(_extra)+'&r='+Math.round(Math.random()*99999); s.async = true; a.parentNode.insertBefore(s, a); })(this);"/> <script type="text/javascript">new Image().src="https://evt.undertone.com/e?bannerid=1466025&campaignid=364815&zoneid=189252&cb=c6a94b3106dd457889e12a59b91740d3&bk=qa5vlw&id=1fhsied8jrpi65inz1vn81ak9&stid=270&uasv=v22&inapp=1&deviceid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f&ut_pii_allowed=1&time_zone=America/New_York&e=render"</script><script type="text/javascript"> try { var adunitBlock = '|80|82|'; var adUnits = {"utPG":19, "utSS":69,"utSSFP":75, "utSSFPS":78, "utBB":58}; var siteBlockList = '|2|69|226|1179|1265|1295|2326|2581|3016|3588|3604|3627|3698|3787|3770|'; var siteBlockCS = '|69|'; var bwGAMCBlock = '|189913|189914|189915|189918|189917|189916|189921|189920|189919|189922|189923|189924|189925|189926|189927|189928|189929|189933|189934|189935|189936|189937|189938|189939|189940|189941|189943|190274|190273|191926|191927|191928|191929|191930|'; var vs={ias:{catchall:"https://pixel.adsafeprotected.com/jload?anId=927944&campId=364815&pubId=189252&chanId=18894&placementId=263135&adsafe_par&bundleId=com.wallpaper.happyapp&impId=1fhsied8jrpi65inz1vn81ak9"}, dv:{catchall:"https://cdn.doubleverify.com/dvtp_src.js?ctx=43425&cmp=DV310070&sid=undertone&plc=DV-UT_Viewability&adsrv=103&advid=3819603&dvtagver=6.1.src&DVP_PP_REP=1&DVP_IQM_ID=37&DVP_DV_TT=1&DVP_DV_CT=1&DVP_PP_APP_ID=[BID_APP-BUNDLE_ID]&DVPX_PP_IMP_ID=1fhsied8jrpi65inz1vn81ak9&DVP_UT_1=1466025&DVP_UT_2=364815&DVP_UT_3=263135&DVP_UT_4=189252&DVP_UT_5=80&turl="} }; var allScripts = document.getElementsByTagName('script'); var myScript = document.currentScript || allScripts[allScripts.length-1]; var renderPixel = function(url, type) { if (type === 'script') { var s = document.createElement('script'); s.src = url; s.async = true; if (myScript) { myScript.parentNode.insertBefore(s, myScript.nextSibling); } else if (document.body){ document.body.appendChild(s); } } else { var img = new Image(); img.src=url; } }; var updatePartnerCookie = function(partnerID, pixelCall){ if(ut_dps.indexOf(partnerID) == -1){ ut_dps.push(partnerID); renderPixel(pixelCall); if (3685 !=2) { ut_dps_changed = true; } } }; try { if((1466025 > 0) && (3685 == 3734)) { var inlineAdList = '|89|90|93|95|96|', PGList = '|75|80|92|', AdhesionList = '|86|97|'; if(inlineAdList.indexOf('|80|') !== -1) { renderPixel('https://play.nglmedia.com/track/index.php?referer_url=&ad_impression=1&order_id=1892&cb=3101a780cbd049958529c25fb8169f5f'); } if(AdhesionList.indexOf('|80|') !== -1) { renderPixel('https://play.nglmedia.com/track/index.php?referer_url=&ad_impression=1&order_id=1889&cb=3101a780cbd049958529c25fb8169f5f'); } if((PGList.indexOf('|80|') !== -1) && !1) { renderPixel('https://play.nglmedia.com/track/index.php?referer_url=&ad_impression=1&order_id=1891&cb=3101a780cbd049958529c25fb8169f5f'); } if((PGList.indexOf('|80|') !== -1) && 1) { renderPixel('https://play.nglmedia.com/track/index.php?referer_url=&ad_impression=1&order_id=1890&cb=3101a780cbd049958529c25fb8169f5f'); } } } catch(err) {} try { if ((1466025 > 0) && (3685 != 2581)){ if('|163600|'.indexOf('|263135|')==-1) { if (typeof sf_tag === 'undefined' || sf_tag != 1) { renderPixel(vs.ias.catchall, 'script'); renderPixel(vs.dv.catchall, 'script'); } } } } catch(err) {} var ut_dps=[], ut_dps_changed=false; for(var i=0,ck=document.cookie.split(';');i<ck.length;i++) { try { var c=ck[i].split('=',2); if(c[0].replace(/^\s+|\s+$/g,'')=='UTDP') { ut_dps=unescape(c[1]).split(','); break; } } catch(err) {} } if(('us' == 'us'||'us' == 'ca'||'us' == 'mx') && ''.indexOf('link')!=0 && ''!='OPTOUT' && siteBlockList.indexOf('|3685|')==-1 && '0'!='1' &&'0'=='0' && '189252'!='188790' && !(adunitBlock.indexOf('|80|') !== -1 && ('0'=='1'||'0'=='1'))) { if ('dd7f53fa-e07b-450e-86ba-f6f97a2d292f' != '0' && adunitBlock.indexOf('|80|')==-1){ updatePartnerCookie('4','https://loadm.exelator.com/load/?p=204&g=1145&j=0&utid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); } renderPixel('https://ib.adnxs.com/getuidnb?https://usr.undertone.com/userPixel/sync?partner=appnexus&uid=$UID'); renderPixel('https://us-u.openx.net/w/1.0/cm?id=fba3d144-1026-4d31-a758-943b9545e305&r=https://usr.undertone.com/userPixel/sync?partnerId=39&uid='); renderPixel('https://match.adsrvr.org/track/cmf/generic?ttd_pid=sirnsvg&ttd_tpi=1&gdpr=0&gdpr_consent='); renderPixel('https://cw.addthis.com/t.gif?pid=46&pdid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); updatePartnerCookie('33','https://ads.scorecardresearch.com/b?c1=9&c2=2113&c3=2&cs_xi=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); updatePartnerCookie('1','https://tags.bluekai.com/site/15597?id=dd7f53fa-e07b-450e-86ba-f6f97a2d292f&redir=https://ads.undertone.com/u?dp=1%26uid=$BK_UUID'); updatePartnerCookie('44','https://ads.undertone.com/u?dp=44&url=https%3A%2F%2Fpx.tvadsync.com%2Fcom.snowplowanalytics.iglu%2Fv1%3Fschema%3Diglu%3Acom.tvadsync.poc%2Fad_impression%2Fjsonschema%2F1-2-0%26aid%3DUndertone-sync%26partnercookieID%3D'); if(bwGAMCBlock.indexOf('|189252|') == -1) { updatePartnerCookie('3','https://aa.agkn.com/adscores/g.pixel?sid=9211197038&_cb=1589190980&puid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); updatePartnerCookie('32','https://dpm.demdex.net/ibs:dpid=152416&dpuuid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); updatePartnerCookie('31','https://idsync.rlcdn.com/403716.gif?partner_uid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); updatePartnerCookie('30','https://beacon.krxd.net/usermatch.gif?partner=undertone&partner_uid=dd7f53fa-e07b-450e-86ba-f6f97a2d292f'); } } if(''.indexOf('link')!=0 && ''!='OPTOUT' && siteBlockList.indexOf('|3685|')==-1 && '0'=='1'&& '0'=='0' && !(adunitBlock.indexOf('|80|') !== -1 && ('0'=='1'||'0'=='1'))) { renderPixel('https://us-u.openx.net/w/1.0/cm?id=fba3d144-1026-4d31-a758-943b9545e305&r=https://usr.undertone.com/userPixel/sync?partnerId=39&gdpr=0&gdpr_consent=&uid='); } if (siteBlockCS.indexOf('|3685|')==-1 && '0'!='1' &&'0'=='0' && bwGAMCBlock.indexOf('|189252|') == -1 && !(adunitBlock.indexOf('|80|') !== -1 && ('0'=='1'||'0'=='1'))) { if (1 == 1 && adunitBlock.indexOf('|80|')==-1 && 1466025>0) { renderPixel('https://sb.scorecardresearch.com/p?c1=8&c2=2113&c3=9&ns_ap_it=b&ns_ap_pn=Android&ns_ap_device='+'Samsung'+'_'+'SM-J330G'+'_'+'7.0'+'&rn=3101a780cbd049958529c25fb8169f5f'); } } if(ut_dps_changed && bwGAMCBlock.indexOf('|189252|') == -1) { var d=new Date(); d.setDate(d.getDate()+1); if ('0'!= '1') { document.cookie='UTDP='+escape(ut_dps.join(','))+'; SameSite=None; Secure; expires='+d.toUTCString(); } } } catch(err) {} </script></body></html>
Comments
0 comments
Please sign in to leave a comment.