CINXE.COM
Google Ads Developer Blog: ad_exchange_rest
<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <title> Google Ads Developer Blog: ad_exchange_rest </title> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Google Ads Developer Blog' property='og:title'/> <meta content='en_US' property='og:locale'/> <meta content='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' property='og:url'/> <meta content='Google Ads Developer Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Google Ads Developer Blog' property='og:title'/> <meta content='summary' name='twitter:card'/> <meta content='@google' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-82055326-1', 'auto'); ga('send', 'pageview'); </script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 40px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 48px; vertical-align: top; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-top: 8px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVVfowXWI6SI8HNCGPfnKyNRe-wyiGsM28Jazt5og63q6Ula3__QjfJ0krie-XTOtpO6IlDOtulriyGWBdin3XU7HN6VY_J5mT7lWez8I8QjoqsXHq5qmxyqePXRBJ_G-NZfaqplhFFBfg/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href="//ads-developers.googleblog.com/favicon.ico" rel="icon" type="image/x-icon"> <link href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Google Ads Developer Blog - Atom" href="http://ads-developers.googleblog.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Google Ads Developer Blog - RSS" href="http://ads-developers.googleblog.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Google Ads Developer Blog - Atom" href="https://www.blogger.com/feeds/7815614485808579332/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' property='og:url'/> <meta content='Google Ads Developer Blog' property='og:title'/> <meta content='The official blog for information about the Google Ads, Google Ad Manager, Google Mobile Ads SDKs for AdMob and IMA SDKs, and other Google Advertising Platform developer tools.' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 46px; overflow: hidden; margin-top: 4px; margin-right: 8px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 14px; font-style: normal; color: #757575; color: rgba(0,0,0,.54); display: block; line-height: 24px; margin-bottom: 16px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content > div { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } /*.post-content img { max-width: 100%; height: auto; width: auto; }*/ .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } #main .post-content b { font-weight: 500; } /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; font-weight: normal; } #sidebar .Label h2, #sidebar .BlogArchive h2 { display: inline-block; } .HTML .feed-title { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); background-repeat: no-repeat; background-position: 0 50%; text-indent: 30px; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; /*text-align: center;*/ } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 42px; } .header-title h2 { font-size: 32px; line-height: 40px; } .header-desc { bottom: 24px; position: absolute; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img, .post-content iframe { margin-left: -16px; max-width: inherit; width: calc(100% + 32px); } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <!-- Google tag (gtag.js) --> <script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-E4MSGF2SF9'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-E4MSGF2SF9'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=7815614485808579332&zx=e353f5ee-599a-48a0-be11-db3b2877c89f' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=7815614485808579332&zx=e353f5ee-599a-48a0-be11-db3b2877c89f' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='http://ads-developers.googleblog.com/'> <img height='50' src='https://www.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png'/> </a> <a href='/.'> <h2> Ads Developer Blog </h2> </a> </div> <div class='header-desc'> The official blog for information about the Google Ads, Google Ad Manager, Google Mobile Ads SDKs for AdMob and IMA SDKs, and other Google Advertising Platform developer tools. </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='6723137162770197568' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2018/03/ad-exchange-seller-rest-api-deprecation.html' itemprop='url' title='Ad Exchange Seller REST API Deprecation Reminder'> Ad Exchange Seller REST API Deprecation Reminder </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, March 21, 2018 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> The <a href="https://developers.google.com/ad-exchange/seller-rest/">Ad Exchange Seller REST API</a> is deprecated. Existing API clients should migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. After this date, all requests to the Ad Exchange Seller REST API will return errors.<br /> <br /> This <a href="https://developers.google.com/doubleclick-publishers/docs/adx_reporting_migration">migration guide</a> provides instructions for getting started, as well as a mapping of each Ad Exchange reporting metric to its equivalent in the DFP API. <br /> <br /> For more details about reporting in the DFP API, see the <a href="https://developers.google.com/doubleclick-publishers/docs/reporting">reporting guide</a>.<br /> <br /> For general assistance with the DFP API or your migration, reach out on our <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api">developer forum</a>.<br /> <br /></div> <span class="post-author"><a href="https://plus.google.com/+ChrisSeeleyDev/"><img height="40" src="https://lh5.googleusercontent.com/-TNi3xzhCCXs/VpbZs1v3sEI/AAAAAAAAgRI/nHHw7e2xKMw4Dsb_ZAgForpL1v-TLyf-A/s402-no/12040026.jpg?sz=120" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author">Chris Seeley</a>, DFP API Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> The <a href="https://developers.google.com/ad-exchange/seller-rest/">Ad Exchange Seller REST API</a> is deprecated. Existing API clients should migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. After this date, all requests to the Ad Exchange Seller REST API will return errors.<br /> <br /> This <a href="https://developers.google.com/doubleclick-publishers/docs/adx_reporting_migration">migration guide</a> provides instructions for getting started, as well as a mapping of each Ad Exchange reporting metric to its equivalent in the DFP API. <br /> <br /> For more details about reporting in the DFP API, see the <a href="https://developers.google.com/doubleclick-publishers/docs/reporting">reporting guide</a>.<br /> <br /> For general assistance with the DFP API or your migration, reach out on our <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api">developer forum</a>.<br /> <br /></div> <span class="post-author"><a href="https://plus.google.com/+ChrisSeeleyDev/"><img height="40" src="https://lh5.googleusercontent.com/-TNi3xzhCCXs/VpbZs1v3sEI/AAAAAAAAgRI/nHHw7e2xKMw4Dsb_ZAgForpL1v-TLyf-A/s402-no/12040026.jpg?sz=120" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author">Chris Seeley</a>, DFP API Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Ad Exchange Seller REST API Deprecation Reminder&url=http://ads-developers.googleblog.com/2018/03/ad-exchange-seller-rest-api-deprecation.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2018/03/ad-exchange-seller-rest-api-deprecation.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2018/03/ad-exchange-seller-rest-api-deprecation.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_seller' rel='tag'> ad_exchange_seller </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/dfp_api' rel='tag'> dfp_api </a> </span> </div> </div> </div> <div class='post' data-id='5155897148244069393' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2017/12/announcing-rtb-troubleshooting.html' itemprop='url' title='Announcing RTB troubleshooting resources for the DoubleClick Ad Exchange Buyer REST API'> Announcing RTB troubleshooting resources for the DoubleClick Ad Exchange Buyer REST API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, December 7, 2017 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> You can now access <a href="https://support.google.com/adxbuyer/topic/6156723?hl=en&ref_topic=4525606">RTB Breakout</a> metrics programmatically with new RTB troubleshooting resources added to the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>. These include the following:<br /> <div> <ul style="text-align: left;"> <li><code>filterSets</code></li> <li><code>filterSets.bidMetrics</code></li> <li><code>filterSets.bidResponseErrors</code></li> <li><code>filterSets.bidResponsesWithoutBids</code></li> <li><code>filterSets.filteredBidRequests</code></li> <li><code>filterSets.filteredBids</code></li> <li><code>filterSets.filteredBids.creatives</code></li> <li><code>filterSets.filteredBids.details</code></li> <li><code>filterSets.impressionMetrics</code></li> <li><code>filterSets.losingBids</code></li> <li><code>filterSets.nonBillableWinningBids</code></li> </ul> RTB troubleshooting resources are placed hierarchically under both <code>bidders</code> and <code>bidders.accounts</code>. For more information about these resources and how they differ when used at the bidder or account level see the <a href="https://developers.google.com/ad-exchange/buyer-rest/guides/v2/rtb-troubleshooting">RTB troubleshooting guide</a>.<br /> <br /> If you have any feedback or questions about the RTB troubleshooting resources, feel free to reach out to us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">DoubleClick Ad Exchange Buyer API support forum</a>.</div> <div> <br /></div> </div> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> You can now access <a href="https://support.google.com/adxbuyer/topic/6156723?hl=en&ref_topic=4525606">RTB Breakout</a> metrics programmatically with new RTB troubleshooting resources added to the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>. These include the following:<br /> <div> <ul style="text-align: left;"> <li><code>filterSets</code></li> <li><code>filterSets.bidMetrics</code></li> <li><code>filterSets.bidResponseErrors</code></li> <li><code>filterSets.bidResponsesWithoutBids</code></li> <li><code>filterSets.filteredBidRequests</code></li> <li><code>filterSets.filteredBids</code></li> <li><code>filterSets.filteredBids.creatives</code></li> <li><code>filterSets.filteredBids.details</code></li> <li><code>filterSets.impressionMetrics</code></li> <li><code>filterSets.losingBids</code></li> <li><code>filterSets.nonBillableWinningBids</code></li> </ul> RTB troubleshooting resources are placed hierarchically under both <code>bidders</code> and <code>bidders.accounts</code>. For more information about these resources and how they differ when used at the bidder or account level see the <a href="https://developers.google.com/ad-exchange/buyer-rest/guides/v2/rtb-troubleshooting">RTB troubleshooting guide</a>.<br /> <br /> If you have any feedback or questions about the RTB troubleshooting resources, feel free to reach out to us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">DoubleClick Ad Exchange Buyer API support forum</a>.</div> <div> <br /></div> </div> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing RTB troubleshooting resources for the DoubleClick Ad Exchange Buyer REST API&url=http://ads-developers.googleblog.com/2017/12/announcing-rtb-troubleshooting.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2017/12/announcing-rtb-troubleshooting.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2017/12/announcing-rtb-troubleshooting.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> </span> </div> </div> </div> <div class='post' data-id='6108876222284642611' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2017/10/ad-exchange-seller-rest-api-deprecation.html' itemprop='url' title='Ad Exchange Seller REST API Deprecation'> Ad Exchange Seller REST API Deprecation </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, October 26, 2017 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> The <a href="https://developers.google.com/ad-exchange/seller-rest/">Ad Exchange Seller REST API</a> is being deprecated as of October 26, 2017. No new API clients will be supported after this date. Existing API clients will need to migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. After this date, all requests to the Ad Exchange Seller REST API will return errors.<br /> <br /> <h4 style="text-align: left;"> What action is required</h4> <div> <br /></div> Current Ad Exchange Seller REST API users will need to migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. This <a href="http://developers.google.com/doubleclick-publishers/docs/adx_reporting_migration">migration guide</a> provides a mapping of each Ad Exchange reporting metric to its equivalent in the DFP API. <br /> <br /> <div> For more details about reporting in the DFP API, see the <a href="http://developers.google.com/doubleclick-publishers/docs/reporting">reporting guide</a>.</div> <div> For general assistance with the DFP API or your migration, reach out on our <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api">developer forum</a>.<br /> <div> <div> <h4> </h4> <h4> Why this is happening</h4> <br /> As a part of our effort to provide a unified tool to manage your ad business and monetize your inventory, the DoubleClick for Publishers API now supports all of the features of the Ad Exchange Seller REST API. The DFP API is more robust and has more frequent updates.<br /> <br /> <h4 style="text-align: left;"> What isn't changing</h4> <br /> Users will not need to create new accounts. All Ad Exchange Seller users already have a <a href="https://www.google.com/dfp">DoubleClick for Publishers</a> account.<br /> <br /> No data is changing. The only change is how you programmatically access that data.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/+ChrisSeeleyDev/"><img height="40" src="https://lh5.googleusercontent.com/-TNi3xzhCCXs/VpbZs1v3sEI/AAAAAAAAgRI/nHHw7e2xKMw4Dsb_ZAgForpL1v-TLyf-A/s402-no/12040026.jpg?sz=120" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author">Chris Seeley</a>, DFP API Team</span> </div> </div> </div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> The <a href="https://developers.google.com/ad-exchange/seller-rest/">Ad Exchange Seller REST API</a> is being deprecated as of October 26, 2017. No new API clients will be supported after this date. Existing API clients will need to migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. After this date, all requests to the Ad Exchange Seller REST API will return errors.<br /> <br /> <h4 style="text-align: left;"> What action is required</h4> <div> <br /></div> Current Ad Exchange Seller REST API users will need to migrate to the <a href="http://developers.google.com/doubleclick-publishers/">DoubleClick for Publishers API</a> before July 26, 2018. This <a href="http://developers.google.com/doubleclick-publishers/docs/adx_reporting_migration">migration guide</a> provides a mapping of each Ad Exchange reporting metric to its equivalent in the DFP API. <br /> <br /> <div> For more details about reporting in the DFP API, see the <a href="http://developers.google.com/doubleclick-publishers/docs/reporting">reporting guide</a>.</div> <div> For general assistance with the DFP API or your migration, reach out on our <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api">developer forum</a>.<br /> <div> <div> <h4> </h4> <h4> Why this is happening</h4> <br /> As a part of our effort to provide a unified tool to manage your ad business and monetize your inventory, the DoubleClick for Publishers API now supports all of the features of the Ad Exchange Seller REST API. The DFP API is more robust and has more frequent updates.<br /> <br /> <h4 style="text-align: left;"> What isn't changing</h4> <br /> Users will not need to create new accounts. All Ad Exchange Seller users already have a <a href="https://www.google.com/dfp">DoubleClick for Publishers</a> account.<br /> <br /> No data is changing. The only change is how you programmatically access that data.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/+ChrisSeeleyDev/"><img height="40" src="https://lh5.googleusercontent.com/-TNi3xzhCCXs/VpbZs1v3sEI/AAAAAAAAgRI/nHHw7e2xKMw4Dsb_ZAgForpL1v-TLyf-A/s402-no/12040026.jpg?sz=120" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/+ChrisSeeleyDev/" rel="author">Chris Seeley</a>, DFP API Team</span> </div> </div> </div> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Ad Exchange Seller REST API Deprecation&url=http://ads-developers.googleblog.com/2017/10/ad-exchange-seller-rest-api-deprecation.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2017/10/ad-exchange-seller-rest-api-deprecation.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2017/10/ad-exchange-seller-rest-api-deprecation.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_seller' rel='tag'> ad_exchange_seller </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/dfp_api' rel='tag'> dfp_api </a> </span> </div> </div> </div> <div class='post' data-id='552135578368042696' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2016/03/announcing-doubleclick-ad-exchange.html' itemprop='url' title='Announcing the DoubleClick Ad Exchange Buyer REST API v2 open beta'> Announcing the DoubleClick Ad Exchange Buyer REST API v2 open beta </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, March 10, 2016 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> We’ve just released v2beta1 of the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>. Unlike previous releases, this is an early access open beta that only allows three new resources—<a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients">Clients</a>, <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.invitations">Invitations</a>, and <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.users">Users</a>. In order to access this version, new users will need to go to the API Manager in the <a href="https://developers.google.com/console">Google Developers Console</a> and enable “Ad Exchange Buyer API II”; current users will have this enabled automatically. For access to existing resources such as Accounts or Creatives, you should continue using <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.4/#resource-types">v1.4</a>.<br /><br /> The new resources available in this release allow you to add and manage clients programmatically rather than through the <a href="https://www.google.com/adx">Ad Exchange UI</a>. A <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients#resource-client">Client</a> represents an advertiser, agency, or brand that can view, negotiate, and/or approve deals in areas of the Ad Exchange UI related to the <a href="https://support.google.com/adxbuyer/answer/6055437?hl=en">Marketplace</a>. You can send <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.invitations">Invitations</a> on behalf of a Client to add <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.users">Users</a>—the individuals accessing the UI as the Client.<br /><br /> To get even more familiar with these new resources, check out the <a href="https://developers.google.com/ad-exchange/buyer-rest/guides/client-access/">Client Access Overview</a>. There are some subtle differences when using the <a href="https://developers.google.com/ad-exchange/buyer-rest/downloads">client libraries</a> with this version, so we recommend that you look at our <a href="https://github.com/googleads/googleads-adxbuyer-examples">samples</a> for guidance on initializing clients and making API calls. At this time, the <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/java">Java</a>, <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/php">PHP</a>, and <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/python">Python</a> samples have been updated for compatibility with this version and the others are planned for the near future. If you have any questions or feedback related to these changes, feel free to reach out to us at the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">DoubleClick Ad Exchange Buyer API forums</a> or the <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ad Developers Google+ Page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> We’ve just released v2beta1 of the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>. Unlike previous releases, this is an early access open beta that only allows three new resources—<a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients">Clients</a>, <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.invitations">Invitations</a>, and <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.users">Users</a>. In order to access this version, new users will need to go to the API Manager in the <a href="https://developers.google.com/console">Google Developers Console</a> and enable “Ad Exchange Buyer API II”; current users will have this enabled automatically. For access to existing resources such as Accounts or Creatives, you should continue using <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.4/#resource-types">v1.4</a>.<br /><br /> The new resources available in this release allow you to add and manage clients programmatically rather than through the <a href="https://www.google.com/adx">Ad Exchange UI</a>. A <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients#resource-client">Client</a> represents an advertiser, agency, or brand that can view, negotiate, and/or approve deals in areas of the Ad Exchange UI related to the <a href="https://support.google.com/adxbuyer/answer/6055437?hl=en">Marketplace</a>. You can send <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.invitations">Invitations</a> on behalf of a Client to add <a href="https://developers.google.com/ad-exchange/buyer-rest/reference/rest/v2beta1/accounts.clients.users">Users</a>—the individuals accessing the UI as the Client.<br /><br /> To get even more familiar with these new resources, check out the <a href="https://developers.google.com/ad-exchange/buyer-rest/guides/client-access/">Client Access Overview</a>. There are some subtle differences when using the <a href="https://developers.google.com/ad-exchange/buyer-rest/downloads">client libraries</a> with this version, so we recommend that you look at our <a href="https://github.com/googleads/googleads-adxbuyer-examples">samples</a> for guidance on initializing clients and making API calls. At this time, the <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/java">Java</a>, <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/php">PHP</a>, and <a href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/python">Python</a> samples have been updated for compatibility with this version and the others are planned for the near future. If you have any questions or feedback related to these changes, feel free to reach out to us at the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">DoubleClick Ad Exchange Buyer API forums</a> or the <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ad Developers Google+ Page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing the DoubleClick Ad Exchange Buyer REST API v2 open beta&url=http://ads-developers.googleblog.com/2016/03/announcing-doubleclick-ad-exchange.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2016/03/announcing-doubleclick-ad-exchange.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2016/03/announcing-doubleclick-ad-exchange.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='5083143197520634855' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2015/12/doubleclick-ad-exchange-soap-api-sunset.html' itemprop='url' title='DoubleClick Ad Exchange SOAP API sunset'> DoubleClick Ad Exchange SOAP API sunset </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, December 2, 2015 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <b>The <a href="https://developers.google.com/ad-exchange/buyer-soap/">DoubleClick Ad Exchange (AdX) Buyer SOAP API</a> and <a href="https://adwords.google.com/um/signin">legacy AdX UI</a> will be sunset in January, 2016.</b> After the API is sunset, all static bidding campaigns will be terminated, and requests against any version of the API from AdX accounts will result in an error response. In addition, the legacy AdX UI will no longer be accessible.<br /><br /> As an alternative to the SOAP API, we recommend using the DoubleClick Ad Exchange <a href="https://support.google.com/adxbuyer/answer/6144586">Hosted Bidding</a> solution. Similar to the static bidding functionality offered by the SOAP API and legacy UI, Hosted Bidding allows you to bid on Ad Exchange inventory without an external real-time bidding platform. At this time, Hosted Bidding is only accessible as a UI that can be found by signing in to your Ad Exchange Account and clicking the <b>Hosted Bidding</b> tab. To learn more, read the <a href="https://support.google.com/adxbuyer/answer/6166176">Hosted Bidding guide</a>.<br /><br /> These sunsets will not affect real-time bidding applications. All features required to configure real-time bidding campaigns were migrated to the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a> when we updated our <a href="http://googleadsdeveloper.blogspot.com/2014/07/changes-to-pretargeting-for-ad-exchange.html">pretargeting capabilities</a> in July 2014.<br /><br /> If you have any comments or questions about the upcoming sunset, feel free to contact us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developer G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <b>The <a href="https://developers.google.com/ad-exchange/buyer-soap/">DoubleClick Ad Exchange (AdX) Buyer SOAP API</a> and <a href="https://adwords.google.com/um/signin">legacy AdX UI</a> will be sunset in January, 2016.</b> After the API is sunset, all static bidding campaigns will be terminated, and requests against any version of the API from AdX accounts will result in an error response. In addition, the legacy AdX UI will no longer be accessible.<br /><br /> As an alternative to the SOAP API, we recommend using the DoubleClick Ad Exchange <a href="https://support.google.com/adxbuyer/answer/6144586">Hosted Bidding</a> solution. Similar to the static bidding functionality offered by the SOAP API and legacy UI, Hosted Bidding allows you to bid on Ad Exchange inventory without an external real-time bidding platform. At this time, Hosted Bidding is only accessible as a UI that can be found by signing in to your Ad Exchange Account and clicking the <b>Hosted Bidding</b> tab. To learn more, read the <a href="https://support.google.com/adxbuyer/answer/6166176">Hosted Bidding guide</a>.<br /><br /> These sunsets will not affect real-time bidding applications. All features required to configure real-time bidding campaigns were migrated to the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a> when we updated our <a href="http://googleadsdeveloper.blogspot.com/2014/07/changes-to-pretargeting-for-ad-exchange.html">pretargeting capabilities</a> in July 2014.<br /><br /> If you have any comments or questions about the upcoming sunset, feel free to contact us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developer G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:DoubleClick Ad Exchange SOAP API sunset&url=http://ads-developers.googleblog.com/2015/12/doubleclick-ad-exchange-soap-api-sunset.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2015/12/doubleclick-ad-exchange-soap-api-sunset.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2015/12/doubleclick-ad-exchange-soap-api-sunset.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_soap' rel='tag'> ad_exchange_soap </a> </span> </div> </div> </div> <div class='post' data-id='8224713824092746426' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/12/announcing-budget-resource-for.html' itemprop='url' title='Announcing the Budget resource for the DoubleClick Ad Exchange Buyer REST API'> Announcing the Budget resource for the DoubleClick Ad Exchange Buyer REST API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, December 3, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> We’ve just released the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/budget">Budget</a> resource for the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>, which can be used to set a daily budget for your real-time bidding campaigns. Each <code>PretargetingConfig</code> will have an associated <code>Budget</code> that it is mapped to via the <code>billingId</code>. Once a <code>PretargetingConfig</code> meets or exceeds the <code>budgetAmount</code> set by its <code>Budget</code>, it will no longer receive bid requests for the remainder of the day. Additional information about this resource can be found in the <a href="https://developers.google.com/ad-exchange/buyer-rest/billing-info-guide">guide</a>.<br /><br /> The <code>Budget</code> resource in the REST API and the <a href="https://developers.google.com/adwords/api/docs/reference/v201409/BudgetService">BudgetService</a> in the <a href="https://developers.google.com/ad-exchange/buyer-soap/">SOAP API</a> can be used interchangeably; however, we recommend that you use the REST API for managing the budgets of your real-time bidding campaigns.<br /><br /> If you have any questions or comments about the Budget resource, please contact us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developer G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="40" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="40"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> We’ve just released the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/budget">Budget</a> resource for the <a href="https://developers.google.com/ad-exchange/buyer-rest/">DoubleClick Ad Exchange Buyer REST API</a>, which can be used to set a daily budget for your real-time bidding campaigns. Each <code>PretargetingConfig</code> will have an associated <code>Budget</code> that it is mapped to via the <code>billingId</code>. Once a <code>PretargetingConfig</code> meets or exceeds the <code>budgetAmount</code> set by its <code>Budget</code>, it will no longer receive bid requests for the remainder of the day. Additional information about this resource can be found in the <a href="https://developers.google.com/ad-exchange/buyer-rest/billing-info-guide">guide</a>.<br /><br /> The <code>Budget</code> resource in the REST API and the <a href="https://developers.google.com/adwords/api/docs/reference/v201409/BudgetService">BudgetService</a> in the <a href="https://developers.google.com/ad-exchange/buyer-soap/">SOAP API</a> can be used interchangeably; however, we recommend that you use the REST API for managing the budgets of your real-time bidding campaigns.<br /><br /> If you have any questions or comments about the Budget resource, please contact us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developer G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="40" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="40"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing the Budget resource for the DoubleClick Ad Exchange Buyer REST API&url=http://ads-developers.googleblog.com/2014/12/announcing-budget-resource-for.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2014/12/announcing-budget-resource-for.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2014/12/announcing-budget-resource-for.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> </span> </div> </div> </div> <div class='post' data-id='5146414635124389319' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/11/sunset-of-v1-and-v11-for-doubleclick-ad.html' itemprop='url' title='Sunset of v1 and v1.1 for DoubleClick Ad Exchange Buyer REST API on December 1st, 2014'> Sunset of v1 and v1.1 for DoubleClick Ad Exchange Buyer REST API on December 1st, 2014 </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, November 10, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Today we’re announcing the deprecation of <b>v1</b> and <b>v1.1</b> of the DoubleClick Ad Exchange Buyer REST API, both of which are scheduled to be sunset on <b>December 1st, 2014</b>. These versions are becoming increasingly less relevant as we expand on the latest and greatest version of the API—currently <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">v1.3</a>. We recommend that you migrate to v1.3 before this date in order to take advantage of the <a href="http://googleadsdeveloper.blogspot.com/2014/07/changes-to-pretargeting-for-ad-exchange.html">newest functionality</a> and also to continue having uninterrupted access to the API. If you have not migrated from these deprecated versions by December 1st, calls against the API will return an error response.<br /><br /> The vast majority of users have already migrated to newer versions of the API, but if you’re among the few who haven’t, we expect it to be an easy upgrade because newer versions still support all of the resources you’re familiar with. The only changes that could cause a code break when migrating from v1 to v1.3 are in the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/creatives">Creatives</a> resource; the <code>adgroup_id</code> field was removed and the <code>disapprovalReasons</code> field is no longer a list of strings. You can use the following resources to help you with your migration: <ul> <li><a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">Release Notes</a>: A listing of all changes between versions of the API.</li> <li><a href="https://github.com/googleads/googleads-adxbuyer-examples">Code Examples</a>: Examples demonstrating how to use the client libraries with the most recent version of the API.</li> <li><a href="https://developers.google.com/ad-exchange/buyer-rest/background">Developer Guides</a>: Guides covering the most recent version of the API.</li> </ul> Of course, if you have any questions or need help with the migration, feel free to reach out to us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or the <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developers G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="40" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="40"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Today we’re announcing the deprecation of <b>v1</b> and <b>v1.1</b> of the DoubleClick Ad Exchange Buyer REST API, both of which are scheduled to be sunset on <b>December 1st, 2014</b>. These versions are becoming increasingly less relevant as we expand on the latest and greatest version of the API—currently <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">v1.3</a>. We recommend that you migrate to v1.3 before this date in order to take advantage of the <a href="http://googleadsdeveloper.blogspot.com/2014/07/changes-to-pretargeting-for-ad-exchange.html">newest functionality</a> and also to continue having uninterrupted access to the API. If you have not migrated from these deprecated versions by December 1st, calls against the API will return an error response.<br /><br /> The vast majority of users have already migrated to newer versions of the API, but if you’re among the few who haven’t, we expect it to be an easy upgrade because newer versions still support all of the resources you’re familiar with. The only changes that could cause a code break when migrating from v1 to v1.3 are in the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/creatives">Creatives</a> resource; the <code>adgroup_id</code> field was removed and the <code>disapprovalReasons</code> field is no longer a list of strings. You can use the following resources to help you with your migration: <ul> <li><a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">Release Notes</a>: A listing of all changes between versions of the API.</li> <li><a href="https://github.com/googleads/googleads-adxbuyer-examples">Code Examples</a>: Examples demonstrating how to use the client libraries with the most recent version of the API.</li> <li><a href="https://developers.google.com/ad-exchange/buyer-rest/background">Developer Guides</a>: Guides covering the most recent version of the API.</li> </ul> Of course, if you have any questions or need help with the migration, feel free to reach out to us via the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or the <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Ads Developers G+ page</a>.<br /><br /> <span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="40" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="40"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, DoubleClick Ad Exchange Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Sunset of v1 and v1.1 for DoubleClick Ad Exchange Buyer REST API on December 1st, 2014&url=http://ads-developers.googleblog.com/2014/11/sunset-of-v1-and-v11-for-doubleclick-ad.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2014/11/sunset-of-v1-and-v11-for-doubleclick-ad.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2014/11/sunset-of-v1-and-v11-for-doubleclick-ad.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/code_examples' rel='tag'> code_examples </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/oauth2' rel='tag'> oauth2 </a> </span> </div> </div> </div> <div class='post' data-id='1041832551769036194' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/07/generating-snippet-status-report-with.html' itemprop='url' title='Generating the Snippet Status Report with Ad Exchange Buyer REST API'> Generating the Snippet Status Report with Ad Exchange Buyer REST API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, July 18, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> If you are running DoubleClick Ad Exchange Real-Time Bidding campaigns, you can now use the <a href="https://github.com/googleads/googleads-ssr-generator">Snippet Status Report Generator</a> to obtain a <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">Snippet Status Report</a> for your creatives. The Snippet Status Report contains the approval status of your creatives, as well as the sensitive and product categorization that Ad Exchange automatically detects. The Snippet Status Report Generator produces reports using the <a href="https://developers.google.com/ad-exchange/buyer-rest/">Ad Exchange Buyer REST API</a>.<br /><br /> There are three versions of this report available through the generator: a human readable text format, a binary protocol buffer format, and a spreadsheet-friendly CSV format. The text and protocol buffer version of the report can also be obtained via <a href="https://developers.google.com/storage/">Google Cloud Storage</a>. The CSV version can be used with spreadsheet programs such as Google Sheets, Microsoft Excel or LibreOffice Calc:<br /> <a href="https://lh5.googleusercontent.com/r-85LAnua5pnjFUfHLwcsobmq5nKbWoYx0_7vgTmGKjW4yG1HwFJ7_QigW8yeYqCiUnbJMgm7_LNMfa-4KoZY6P7kuRT9HYca5NMRQh9db2Xu3cVYTXIgIdWIuHcdywhMw"><center><img height="100" src="https://lh5.googleusercontent.com/r-85LAnua5pnjFUfHLwcsobmq5nKbWoYx0_7vgTmGKjW4yG1HwFJ7_QigW8yeYqCiUnbJMgm7_LNMfa-4KoZY6P7kuRT9HYca5NMRQh9db2Xu3cVYTXIgIdWIuHcdywhMw" width="300" /></center></a><br /> The Snippet Status Report Generator is available on <a href="https://github.com/googleads/googleads-ssr-generator">GitHub</a> as a python program. You are encouraged to download it and make modifications to generate reports in your desired format.<br /><br /> If you have any questions or feature requests for the Snippet Status Report Generator, please create an issue on the project’s <a href="https://github.com/googleads/googleads-ssr-generator/issues">issues page</a>.<br /><br /> For any questions about the Ad Exchange Buyer API, visit us on the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.google.com/+GoogleAdsDevelopers">Google+ page</a>.<br /><br /> <span class='byline-author'>- <a href="https://plus.google.com/u/0/112248862307390121308/">John Qin</a>, Ad Exchange RTB API team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> If you are running DoubleClick Ad Exchange Real-Time Bidding campaigns, you can now use the <a href="https://github.com/googleads/googleads-ssr-generator">Snippet Status Report Generator</a> to obtain a <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">Snippet Status Report</a> for your creatives. The Snippet Status Report contains the approval status of your creatives, as well as the sensitive and product categorization that Ad Exchange automatically detects. The Snippet Status Report Generator produces reports using the <a href="https://developers.google.com/ad-exchange/buyer-rest/">Ad Exchange Buyer REST API</a>.<br /><br /> There are three versions of this report available through the generator: a human readable text format, a binary protocol buffer format, and a spreadsheet-friendly CSV format. The text and protocol buffer version of the report can also be obtained via <a href="https://developers.google.com/storage/">Google Cloud Storage</a>. The CSV version can be used with spreadsheet programs such as Google Sheets, Microsoft Excel or LibreOffice Calc:<br /> <a href="https://lh5.googleusercontent.com/r-85LAnua5pnjFUfHLwcsobmq5nKbWoYx0_7vgTmGKjW4yG1HwFJ7_QigW8yeYqCiUnbJMgm7_LNMfa-4KoZY6P7kuRT9HYca5NMRQh9db2Xu3cVYTXIgIdWIuHcdywhMw"><center><img height="100" src="https://lh5.googleusercontent.com/r-85LAnua5pnjFUfHLwcsobmq5nKbWoYx0_7vgTmGKjW4yG1HwFJ7_QigW8yeYqCiUnbJMgm7_LNMfa-4KoZY6P7kuRT9HYca5NMRQh9db2Xu3cVYTXIgIdWIuHcdywhMw" width="300" /></center></a><br /> The Snippet Status Report Generator is available on <a href="https://github.com/googleads/googleads-ssr-generator">GitHub</a> as a python program. You are encouraged to download it and make modifications to generate reports in your desired format.<br /><br /> If you have any questions or feature requests for the Snippet Status Report Generator, please create an issue on the project’s <a href="https://github.com/googleads/googleads-ssr-generator/issues">issues page</a>.<br /><br /> For any questions about the Ad Exchange Buyer API, visit us on the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a href="https://plus.google.com/+GoogleAdsDevelopers">Google+ page</a>.<br /><br /> <span class='byline-author'>- <a href="https://plus.google.com/u/0/112248862307390121308/">John Qin</a>, Ad Exchange RTB API team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Generating the Snippet Status Report with Ad Exchange Buyer REST API&url=http://ads-developers.googleblog.com/2014/07/generating-snippet-status-report-with.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2014/07/generating-snippet-status-report-with.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2014/07/generating-snippet-status-report-with.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='1370185733078675363' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/07/changes-to-pretargeting-for-ad-exchange.html' itemprop='url' title='Changes to Pretargeting for Ad Exchange Buyer RTB Campaigns'> Changes to Pretargeting for Ad Exchange Buyer RTB Campaigns </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, July 8, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> DoubleClick Ad Exchange is improving its <a href="https://support.google.com/adxbuyer/answer/6048315">pretargeting system</a> by creating a new user interface and API resource to configure the inventory your bidder sees. These changes will only impact your RTB campaigns; non-RTB campaigns will continue to be managed as they were before.<br /><br /> Upgrades will begin in mid-July 2014 and all accounts will be upgraded by the end of September 2014. <b>The new functionality has been added to the v1.3 <a href="https://developers.google.com/ad-exchange/buyer-rest/">REST API</a> but will be read-only until your account has been upgraded</b>. For additional information, please review the new <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/pretargetingConfig">resource reference</a> and <a href="https://developers.google.com/ad-exchange/buyer-rest/pretargeting-guide">pretargeting guide</a>.<br /><br /> Note that once your account has been upgraded you will still have access to the <a href="https://developers.google.com/ad-exchange/buyer-soap/">SOAP API</a> for reporting, budgeting and non-RTB campaigns, but you will no longer be able to use it for pretargeting. If you need the ability to manage your pretargeting settings via the API, then you must use the latest <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">AdX REST API</a>.<br /><br /> If you have questions about these upcoming changes please contact your account manager. For questions about the Ad Exchange Buyer API, check out the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">Ad Exchange Buyer API forum</a>. Follow our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers">Google+ page</a> for other announcements and updates.<br /><br /> <span class='byline-author'>Dean Lukies, DoubleClick Ad Exchange Buyer API Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> DoubleClick Ad Exchange is improving its <a href="https://support.google.com/adxbuyer/answer/6048315">pretargeting system</a> by creating a new user interface and API resource to configure the inventory your bidder sees. These changes will only impact your RTB campaigns; non-RTB campaigns will continue to be managed as they were before.<br /><br /> Upgrades will begin in mid-July 2014 and all accounts will be upgraded by the end of September 2014. <b>The new functionality has been added to the v1.3 <a href="https://developers.google.com/ad-exchange/buyer-rest/">REST API</a> but will be read-only until your account has been upgraded</b>. For additional information, please review the new <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/pretargetingConfig">resource reference</a> and <a href="https://developers.google.com/ad-exchange/buyer-rest/pretargeting-guide">pretargeting guide</a>.<br /><br /> Note that once your account has been upgraded you will still have access to the <a href="https://developers.google.com/ad-exchange/buyer-soap/">SOAP API</a> for reporting, budgeting and non-RTB campaigns, but you will no longer be able to use it for pretargeting. If you need the ability to manage your pretargeting settings via the API, then you must use the latest <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">AdX REST API</a>.<br /><br /> If you have questions about these upcoming changes please contact your account manager. For questions about the Ad Exchange Buyer API, check out the <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">Ad Exchange Buyer API forum</a>. Follow our <a href="https://plus.sandbox.google.com/+GoogleAdsDevelopers">Google+ page</a> for other announcements and updates.<br /><br /> <span class='byline-author'>Dean Lukies, DoubleClick Ad Exchange Buyer API Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Changes to Pretargeting for Ad Exchange Buyer RTB Campaigns&url=http://ads-developers.googleblog.com/2014/07/changes-to-pretargeting-for-ad-exchange.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2014/07/changes-to-pretargeting-for-ad-exchange.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2014/07/changes-to-pretargeting-for-ad-exchange.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_soap' rel='tag'> ad_exchange_soap </a> </span> </div> </div> </div> <div class='post' data-id='8837317805942116479' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/06/updated-doubleclick-ad-exchange-buyer.html' itemprop='url' title='Updated DoubleClick Ad Exchange Buyer REST API examples to get you started'> Updated DoubleClick Ad Exchange Buyer REST API examples to get you started </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, June 4, 2014 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>Whether you’re just starting out with the DoubleClick Ad Exchange Buyer REST API or are working with an unfamiliar client library, our examples will help you get started! <a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples">Our examples are now on GitHub</a> and have been expanded to cover the following languages:</p> <ul> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/CSharp">C#</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/java/v1.x">Java</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/php">PHP</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/python">Python</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/ruby">Ruby</a></li> </ul> <p>Each of these include documentation to help you get started with the corresponding client library and demonstrate how you can use the <a target="_blank" href="https://developers.google.com/accounts/docs/OAuth2ServiceAccount">Service Account</a> authorization flow with the DoubleClick Ad Exchange Buyer REST API.</p> <p>If you have any feedback or feature requests for these examples, we’d definitely be interested in hearing about it! Feel free to contact us via the <a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a target="_blank" href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Google+ page</a>.</p> <p><span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>Whether you’re just starting out with the DoubleClick Ad Exchange Buyer REST API or are working with an unfamiliar client library, our examples will help you get started! <a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples">Our examples are now on GitHub</a> and have been expanded to cover the following languages:</p> <ul> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/CSharp">C#</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/java/v1.x">Java</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/php">PHP</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/python">Python</a></li> <li><a target="_blank" href="https://github.com/googleads/googleads-adxbuyer-examples/tree/master/ruby">Ruby</a></li> </ul> <p>Each of these include documentation to help you get started with the corresponding client library and demonstrate how you can use the <a target="_blank" href="https://developers.google.com/accounts/docs/OAuth2ServiceAccount">Service Account</a> authorization flow with the DoubleClick Ad Exchange Buyer REST API.</p> <p>If you have any feedback or feature requests for these examples, we’d definitely be interested in hearing about it! Feel free to contact us via the <a target="_blank" href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or our <a target="_blank" href="https://plus.sandbox.google.com/+GoogleAdsDevelopers/posts">Google+ page</a>.</p> <p><span class="byline-author"><a href="https://www.google.com/+MarkSaniscalchi"><img height="20" src="https://lh5.googleusercontent.com/-MhBjex2PtgE/UMnl67j4DqI/AAAAAAAAABo/QqT3HGgBIE4/w139-h140-p/2012-12-12_21-03-04_239.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://www.google.com/+MarkSaniscalchi" rel="author">Mark Saniscalchi</a>, Ad Exchange Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Updated DoubleClick Ad Exchange Buyer REST API examples to get you started&url=http://ads-developers.googleblog.com/2014/06/updated-doubleclick-ad-exchange-buyer.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2014/06/updated-doubleclick-ad-exchange-buyer.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2014/06/updated-doubleclick-ad-exchange-buyer.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/examples' rel='tag'> examples </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/oauth2' rel='tag'> oauth2 </a> </span> </div> </div> </div> <div class='post' data-id='1267115755427516020' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2013/11/buyers-guide-for-holidays.html' itemprop='url' title='Buyer's Guide for the Holidays'> Buyer's Guide for the Holidays </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, November 11, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>The end of the year is always the busiest time for advertisers, and competition for inventory in Ad Exchange is at it’s peak. Are you doing everything you can to ensure your campaigns are delivering on time and on budget? <p>To lighten the load this holiday season, optimize your ad serving with these simple steps: <p><strong>Plan ahead for the busiest time of the year</strong><br /> Make a resolution to start planning your seasonal campaigns earlier. Submit your creatives for approval two days before going live and make sure you’re using only certified vendors and declaring them when necessary. The set of allowed vendors and whether they are declarable can be determined using the vendor declaration tool found in the help centre article <a href="https://support.google.com/3pascertification/table/3191570?hl=en">Declaring 3rd- and 4th-party vendors in the Ad Exchange</a>. Any vendor not on the list in the tool is prohibited As a proactive measure, buyers can use the <a href="https://developers.google.com/ad-exchange/buyer-rest/creative-guide">creative REST API</a> to submit an ad creative for review, to check its status and retrieve a list of all active ad creatives. Be sure your ads are approved before bidding to ensure your campaigns deliver. <p>This year, the REST API has been updated with a new method allowing creatives to be sent for re-review. Should any creatives get disapproved before the start of your seasonal campaign, it is not a requirement that the buyer creative ID change to get the creative re-reviewed. To make use of this feature, use <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">version 1.3 of the REST API</a>. <p><strong>Make sure your ad creatives are eligible to serve</strong><br /> The last thing you want this time of the year is for your ad creatives to be disapproved. To make sure your campaigns aren’t delayed, make sure to avoid these common policy mistakes: <ul><li>Declare the Correct URL/Multiple URLs: please make sure you have declared the URL that the ad leads to. If you have several URLs for the same ad, they all must be declared.</li> <li>Creative Borders: On all .gif and .swf ads with partially black or white backgrounds, you must add a visible border of a contrasting color to the majority background color of the ad.</li> <li>Content Violations: Remember that Ad Exchange is “<a href="http://support.google.com/adwordspolicy/bin/answer.py?hl=en&answer=69787">family-safe</a>” content only. Therefore, ads that are classified as “limited family safe”, “non-family safe”, and “adult” are not allowed (unless you are participating in the Restricted Category Beta for Alcohol).</li> <li>Fourth Party Calls: if you use fourth-party vendors, please make sure they are certified by Google. You can check which vendors are certified and which need to be declared <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=186777">here</a>.</li> <li>Over-animation: Please make sure your total animation time does not exceed 30 seconds. For looping or repeating animations, the total combined interval time can not exceed 30 seconds. After an animation has stopped, it cannot restart. Read the full policy <a href="http://support.google.com/adwordspolicy/bin/static.py?hl=en&topic=1308156&page=print.cs&printable_page=1">here</a>.</li></ul> <p>Review the <a href="//www.google.com/doubleclick/adxbuyer/guidelines.html">AdX Buyer Program Guidelines</a> and <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=1325008&topic=22149&ctx=topic">Ad Exchange Policies and Enforcement Help Center page</a> for additional details. <p><strong>Ensure your bids make it to the auction (RTB buyers only)</strong><br /> Each bid response submitted to Ad Exchange undergoes a screening process before it can enter the live auction. During this process, your bid may be filtered out by Google, the publisher, or during the actual auction for many different reasons. <p>To ensure your bid is not filtered, remember to always review the following: <ol><li>Disapproved ads in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">snippet status report</a></li> <li>Excluded dimensions in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide">publisher settings report</a></li> <li>Publisher’s min CPM requirement in the <a href="https://developers.google.com/ad-exchange/rtb/downloads/realtime-bidding-proto.txt">bid request</a></li></ol> <p>You can read more about <a href="//www.google.com/url?q=http://googleadsdeveloper.blogspot.com/2012/11/optimization-series-post-filtered-bids.html&sa=D&sntz=1&usg=AFQjCNHoU6crJzJCyyeAYAHJ2PKS8iAdmA">post-filtered bids</a> in our developer blog. <p>As part of your preparation for a smooth running seasonal campaign, make use of the new RTB Dashboard - a tool designed to bring greater transparency to you, as a buyer, and help you refine your bidder to produce more efficient bidding and better results for your campaigns. With <a href="https://www.google.com/adxbuyer/uploader/BiddingClient.html">RTB Dashboard</a>, you have the ability to review the “RTB insights” section which helps you understand which bids are being filtered out and why. <p><strong>Plan ahead to make the end of year a success</strong><br /> Nobody wants to start the new year with an unexpected surprise. So, after checking that your ad creatives are approved, make sure your campaigns continue into the new year by reviewing the items below: <ul><li>Campaign End Date: Make sure you’ve set correct campaign end date set. You don’t want to come back from the holidays to find your campaigns switched off by mistake because the end date was set to the default date, 12/31/12.</li> <li>Budgets: Take some time to review campaign budgets before heading out to that holiday party. CTRs remain high throughout these festive times and into the new year and it’s a good idea to plan ahead to ensure budgets don't run out early.</li></ul> <p><strong>Need help over the holidays?</strong><br /> Hopefully everything goes as planned this holiday season, but if any emergencies like UI outages or major drops in RTB traffic come up, our U.S. support teams will be on hand to make sure you’re back up and running. Please note the U.S. Google offices will be closed on the following days: <ul><li>Tuesday December 24th</li> <li>Wednesday December 25th</li> <li>Tuesday December 31st</li> <li>Wednesday January 1st</li></ul> <p>If you follow these best practices, you can focus on other initiatives on your wishlist (e.g. mobile, video). <p><span class="post-author">Posted by the Ad Exchange Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>The end of the year is always the busiest time for advertisers, and competition for inventory in Ad Exchange is at it’s peak. Are you doing everything you can to ensure your campaigns are delivering on time and on budget? <p>To lighten the load this holiday season, optimize your ad serving with these simple steps: <p><strong>Plan ahead for the busiest time of the year</strong><br /> Make a resolution to start planning your seasonal campaigns earlier. Submit your creatives for approval two days before going live and make sure you’re using only certified vendors and declaring them when necessary. The set of allowed vendors and whether they are declarable can be determined using the vendor declaration tool found in the help centre article <a href="https://support.google.com/3pascertification/table/3191570?hl=en">Declaring 3rd- and 4th-party vendors in the Ad Exchange</a>. Any vendor not on the list in the tool is prohibited As a proactive measure, buyers can use the <a href="https://developers.google.com/ad-exchange/buyer-rest/creative-guide">creative REST API</a> to submit an ad creative for review, to check its status and retrieve a list of all active ad creatives. Be sure your ads are approved before bidding to ensure your campaigns deliver. <p>This year, the REST API has been updated with a new method allowing creatives to be sent for re-review. Should any creatives get disapproved before the start of your seasonal campaign, it is not a requirement that the buyer creative ID change to get the creative re-reviewed. To make use of this feature, use <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">version 1.3 of the REST API</a>. <p><strong>Make sure your ad creatives are eligible to serve</strong><br /> The last thing you want this time of the year is for your ad creatives to be disapproved. To make sure your campaigns aren’t delayed, make sure to avoid these common policy mistakes: <ul><li>Declare the Correct URL/Multiple URLs: please make sure you have declared the URL that the ad leads to. If you have several URLs for the same ad, they all must be declared.</li> <li>Creative Borders: On all .gif and .swf ads with partially black or white backgrounds, you must add a visible border of a contrasting color to the majority background color of the ad.</li> <li>Content Violations: Remember that Ad Exchange is “<a href="http://support.google.com/adwordspolicy/bin/answer.py?hl=en&answer=69787">family-safe</a>” content only. Therefore, ads that are classified as “limited family safe”, “non-family safe”, and “adult” are not allowed (unless you are participating in the Restricted Category Beta for Alcohol).</li> <li>Fourth Party Calls: if you use fourth-party vendors, please make sure they are certified by Google. You can check which vendors are certified and which need to be declared <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=186777">here</a>.</li> <li>Over-animation: Please make sure your total animation time does not exceed 30 seconds. For looping or repeating animations, the total combined interval time can not exceed 30 seconds. After an animation has stopped, it cannot restart. Read the full policy <a href="http://support.google.com/adwordspolicy/bin/static.py?hl=en&topic=1308156&page=print.cs&printable_page=1">here</a>.</li></ul> <p>Review the <a href="//www.google.com/doubleclick/adxbuyer/guidelines.html">AdX Buyer Program Guidelines</a> and <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=1325008&topic=22149&ctx=topic">Ad Exchange Policies and Enforcement Help Center page</a> for additional details. <p><strong>Ensure your bids make it to the auction (RTB buyers only)</strong><br /> Each bid response submitted to Ad Exchange undergoes a screening process before it can enter the live auction. During this process, your bid may be filtered out by Google, the publisher, or during the actual auction for many different reasons. <p>To ensure your bid is not filtered, remember to always review the following: <ol><li>Disapproved ads in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">snippet status report</a></li> <li>Excluded dimensions in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide">publisher settings report</a></li> <li>Publisher’s min CPM requirement in the <a href="https://developers.google.com/ad-exchange/rtb/downloads/realtime-bidding-proto.txt">bid request</a></li></ol> <p>You can read more about <a href="//www.google.com/url?q=http://googleadsdeveloper.blogspot.com/2012/11/optimization-series-post-filtered-bids.html&sa=D&sntz=1&usg=AFQjCNHoU6crJzJCyyeAYAHJ2PKS8iAdmA">post-filtered bids</a> in our developer blog. <p>As part of your preparation for a smooth running seasonal campaign, make use of the new RTB Dashboard - a tool designed to bring greater transparency to you, as a buyer, and help you refine your bidder to produce more efficient bidding and better results for your campaigns. With <a href="https://www.google.com/adxbuyer/uploader/BiddingClient.html">RTB Dashboard</a>, you have the ability to review the “RTB insights” section which helps you understand which bids are being filtered out and why. <p><strong>Plan ahead to make the end of year a success</strong><br /> Nobody wants to start the new year with an unexpected surprise. So, after checking that your ad creatives are approved, make sure your campaigns continue into the new year by reviewing the items below: <ul><li>Campaign End Date: Make sure you’ve set correct campaign end date set. You don’t want to come back from the holidays to find your campaigns switched off by mistake because the end date was set to the default date, 12/31/12.</li> <li>Budgets: Take some time to review campaign budgets before heading out to that holiday party. CTRs remain high throughout these festive times and into the new year and it’s a good idea to plan ahead to ensure budgets don't run out early.</li></ul> <p><strong>Need help over the holidays?</strong><br /> Hopefully everything goes as planned this holiday season, but if any emergencies like UI outages or major drops in RTB traffic come up, our U.S. support teams will be on hand to make sure you’re back up and running. Please note the U.S. Google offices will be closed on the following days: <ul><li>Tuesday December 24th</li> <li>Wednesday December 25th</li> <li>Tuesday December 31st</li> <li>Wednesday January 1st</li></ul> <p>If you follow these best practices, you can focus on other initiatives on your wishlist (e.g. mobile, video). <p><span class="post-author">Posted by the Ad Exchange Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Buyer's Guide for the Holidays&url=http://ads-developers.googleblog.com/2013/11/buyers-guide-for-holidays.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2013/11/buyers-guide-for-holidays.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2013/11/buyers-guide-for-holidays.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> </span> </div> </div> </div> <div class='post' data-id='8135992274125113274' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2013/09/updates-to-doubleclick-ad-exchange.html' itemprop='url' title='Updates to the DoubleClick Ad Exchange Buyer REST API'> Updates to the DoubleClick Ad Exchange Buyer REST API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, September 25, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>We've recently made several enhancements to version v1.3 of the DoubleClick Ad Exchange Buyer REST API. To make it even easier for buyers to work with the DoubleClick Ad Exchange, our team is improving the functionality of our APIs. Today we would like to let you know about some recent enhancements to version v1.3 of the Ad Exchange Buyer REST API. Below are the details of the new features and stay tuned for more releases over the coming year.</p> <p><strong>Performance Report Resource</strong></p> <p>A new resource, <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/performanceReport">performanceReport</a>, has been added. This resource is an improvement on the existing CSV performance reports. You can now use the API to view these reports in JSON format and without having to interface with Google Cloud Storage. These reports are aggregated over 5 minute intervals rather than the 1 minute intervals that the CSV reports use. </p> <p><strong>Creatives Resource</strong></p> <p>We’ve improved the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/creatives">creatives</a> resource with the addition of two new sets of fields: filtering reasons and corrections. The filteringReasons are intended to give you better insight into why some snippets have been filtered out of the auction. The Buyer REST API will show you the metrics for the previous day. If you’d like to see longer term filtering metrics, they can be found in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">Snippet Status Report</a>.</p> <p>The corrections field is intended to help you correctly submit creative declarations. We recommend using our corrections as feedback to update your application to submit the right attributes, ensuring your ads serve correctly and on time.</p> <p>You can always find a listing of the latest updates on our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">release notes page</a>. Your feedback and questions are welcome on our <a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or <a href="https://plus.google.com/+GoogleAdsDevelopers/posts">Google+ Page</a>. Let us know what you think!</p> <span class="post-author"> <a href="https://plus.google.com/113204894998269100367/"><img height="40" src="https://lh3.googleusercontent.com/pfPm0rPDkipJy2nFHjKla5eDx7OZNXwoACOHvKUnK36dts4CyDoHzxyWS3UVSG1DBwOGlvjK0TjHV7fDBntQKYHjDO1KT_2Q0g12BJOmR2sOTprePug" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/113204894998269100367/">Joseph DiLallo</a>, the DoubleClick Ad Exchange Buyer API Team </span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>We've recently made several enhancements to version v1.3 of the DoubleClick Ad Exchange Buyer REST API. To make it even easier for buyers to work with the DoubleClick Ad Exchange, our team is improving the functionality of our APIs. Today we would like to let you know about some recent enhancements to version v1.3 of the Ad Exchange Buyer REST API. Below are the details of the new features and stay tuned for more releases over the coming year.</p> <p><strong>Performance Report Resource</strong></p> <p>A new resource, <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/performanceReport">performanceReport</a>, has been added. This resource is an improvement on the existing CSV performance reports. You can now use the API to view these reports in JSON format and without having to interface with Google Cloud Storage. These reports are aggregated over 5 minute intervals rather than the 1 minute intervals that the CSV reports use. </p> <p><strong>Creatives Resource</strong></p> <p>We’ve improved the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/creatives">creatives</a> resource with the addition of two new sets of fields: filtering reasons and corrections. The filteringReasons are intended to give you better insight into why some snippets have been filtered out of the auction. The Buyer REST API will show you the metrics for the previous day. If you’d like to see longer term filtering metrics, they can be found in the <a href="https://developers.google.com/ad-exchange/rtb/report-guide#snippet">Snippet Status Report</a>.</p> <p>The corrections field is intended to help you correctly submit creative declarations. We recommend using our corrections as feedback to update your application to submit the right attributes, ensuring your ads serve correctly and on time.</p> <p>You can always find a listing of the latest updates on our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">release notes page</a>. Your feedback and questions are welcome on our <a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-ad-exchange-buyer-api">forum</a> or <a href="https://plus.google.com/+GoogleAdsDevelopers/posts">Google+ Page</a>. Let us know what you think!</p> <span class="post-author"> <a href="https://plus.google.com/113204894998269100367/"><img height="40" src="https://lh3.googleusercontent.com/pfPm0rPDkipJy2nFHjKla5eDx7OZNXwoACOHvKUnK36dts4CyDoHzxyWS3UVSG1DBwOGlvjK0TjHV7fDBntQKYHjDO1KT_2Q0g12BJOmR2sOTprePug" style="border: none; vertical-align: middle;" width="40" /></a> - <a href="https://plus.google.com/113204894998269100367/">Joseph DiLallo</a>, the DoubleClick Ad Exchange Buyer API Team </span> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Updates to the DoubleClick Ad Exchange Buyer REST API&url=http://ads-developers.googleblog.com/2013/09/updates-to-doubleclick-ad-exchange.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2013/09/updates-to-doubleclick-ad-exchange.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2013/09/updates-to-doubleclick-ad-exchange.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='716378521384547471' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2013/08/announcing-v13-of-ad-exchange-buyer.html' itemprop='url' title='Announcing v1.3 of the Ad Exchange Buyer REST API'> Announcing v1.3 of the Ad Exchange Buyer REST API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, August 26, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Today we’re announcing the v1.3 release of the <a href="https://developers.google.com/ad-exchange/buyer-rest/">Ad Exchange Buyer REST API</a>. This release improves the behavior of creative submission by allowing you to resubmit creatives with the same buyer creative ID. If you resubmit a creative with the same ID, the new creative will replace the old and will initiate a new review. Additional information about the changes implemented in v1.3 can be found in our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">release notes</a> and in the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">reference documentation</a>.<br /><br /> You can contact us on our <a href="https://devsite.googleplex.com/ad-exchange/buyer-rest/community/">forum</a> to discuss these changes, and to keep informed on all of our ads-related technologies, follow the <a href="https://plus.google.com/+GoogleAdsDevelopers/posts">Google Ads Developers Google+ page</a>.<br /><br /> <span class='post-author'>- Mark Saniscalchi, Ad Exchange API Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Today we’re announcing the v1.3 release of the <a href="https://developers.google.com/ad-exchange/buyer-rest/">Ad Exchange Buyer REST API</a>. This release improves the behavior of creative submission by allowing you to resubmit creatives with the same buyer creative ID. If you resubmit a creative with the same ID, the new creative will replace the old and will initiate a new review. Additional information about the changes implemented in v1.3 can be found in our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes">release notes</a> and in the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.3/">reference documentation</a>.<br /><br /> You can contact us on our <a href="https://devsite.googleplex.com/ad-exchange/buyer-rest/community/">forum</a> to discuss these changes, and to keep informed on all of our ads-related technologies, follow the <a href="https://plus.google.com/+GoogleAdsDevelopers/posts">Google Ads Developers Google+ page</a>.<br /><br /> <span class='post-author'>- Mark Saniscalchi, Ad Exchange API Team</span> </div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing v1.3 of the Ad Exchange Buyer REST API&url=http://ads-developers.googleblog.com/2013/08/announcing-v13-of-ad-exchange-buyer.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2013/08/announcing-v13-of-ad-exchange-buyer.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2013/08/announcing-v13-of-ad-exchange-buyer.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='2539231749871216453' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2013/03/announcing-v12-of-ad-exchange-buyer.html' itemprop='url' title='Announcing v1.2 of the Ad Exchange Buyer Rest API'> Announcing v1.2 of the Ad Exchange Buyer Rest API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, March 29, 2013 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p>We’re pleased to announce that version 1.2 of the Ad Exchange Buyer REST API is now available. This release provides one of the most requested features— detailed creative disapproval reasons. Additionally, it also provides a new field for creatives that can be used to identify the agency providing the creative and a new field for direct deals that can be used to determine whether a deal originated from a private auction. You may view a more specific listing of the changes implemented in v1.2 in our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes#v.12">release notes</a>.</p> <h2>Detailed Creative Disapproval Reasons</h2> <p>The Creatives resource now has an improved <code>disapprovalReasons</code> field. Previously, this field provided a list of strings that described the reason for disapproval in a broad context that may have been somewhat ambiguous. Each element of <code>disapprovalReasons</code> now provides two additional fields— <code>reason</code> and <code>details</code>. One can use <code>disapprovalReasons.reason</code> in order to access a categorized reason for disapproval, or use <code>disapprovalReasons.details</code> to retrieve a list of strings describing the disapproval reason in detail.</p> <h2>Identify Where Your Ads Came From</h2> <p>Publishers now have greater control over their inventory— e.g. with the new inventory management system, they may set rules that could offer special pricing or limit access to a specific set of creative agencies. With the new <code>agencyId</code> field, you can identify the creative agency that produced the ad with one of the IDs listed in <a href="https://developers.google.com/ad-exchange/rtb/downloads#txt-files">agencies.txt</a>, and consequently gain access to publisher inventory that utilizes these features.</p> <h2>Determine Your Eligibility for Private Auction Deals</h2> <p>We’ve given publishers the ability to create private auction deals, which you can <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=2839853&topic=2839881&ctx=topic">read more about in our help center</a>. You can now determine whether you have a fixed price deal or private auction deal by checking the <code>private_exchange_min_cpm</code> field— if it is set instead of the <code>fixed_cpm</code> field, you have a private auction deal. When you bid on ad slots from the publisher offering this deal, you are expected to offer at least the amount provided by this field.</p> <p>You can read more about the new features in the Buyer REST v1.2 documentation. As always, we welcome you to join us on our <a href="https://devsite.googleplex.com/ad-exchange/buyer-rest/community/">forum</a> to discuss and ask questions about these changes. To keep informed on all of our ads-related technologies, follow our <a href="https://plus.google.com/u/0/b/115658573333388777174/">Google Ads Developers Google+ page</a>.</p> <p><span class="post-author"><a href="https://plus.google.com/u/0/114766339347028771937//"><img height="20" src="https://lh6.googleusercontent.com/-8vnfBavMfOs/UVWRZzP-_GI/AAAAAAAAABw/bae0qlxOOUQ/s250/photo.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://plus.google.com/u/0/114766339347028771937/" rel="author">Mark Saniscalchi</a>, Ad Exchange Buyer Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p>We’re pleased to announce that version 1.2 of the Ad Exchange Buyer REST API is now available. This release provides one of the most requested features— detailed creative disapproval reasons. Additionally, it also provides a new field for creatives that can be used to identify the agency providing the creative and a new field for direct deals that can be used to determine whether a deal originated from a private auction. You may view a more specific listing of the changes implemented in v1.2 in our <a href="https://developers.google.com/ad-exchange/buyer-rest/relnotes#v.12">release notes</a>.</p> <h2>Detailed Creative Disapproval Reasons</h2> <p>The Creatives resource now has an improved <code>disapprovalReasons</code> field. Previously, this field provided a list of strings that described the reason for disapproval in a broad context that may have been somewhat ambiguous. Each element of <code>disapprovalReasons</code> now provides two additional fields— <code>reason</code> and <code>details</code>. One can use <code>disapprovalReasons.reason</code> in order to access a categorized reason for disapproval, or use <code>disapprovalReasons.details</code> to retrieve a list of strings describing the disapproval reason in detail.</p> <h2>Identify Where Your Ads Came From</h2> <p>Publishers now have greater control over their inventory— e.g. with the new inventory management system, they may set rules that could offer special pricing or limit access to a specific set of creative agencies. With the new <code>agencyId</code> field, you can identify the creative agency that produced the ad with one of the IDs listed in <a href="https://developers.google.com/ad-exchange/rtb/downloads#txt-files">agencies.txt</a>, and consequently gain access to publisher inventory that utilizes these features.</p> <h2>Determine Your Eligibility for Private Auction Deals</h2> <p>We’ve given publishers the ability to create private auction deals, which you can <a href="http://support.google.com/adxbuyer/bin/answer.py?hl=en&answer=2839853&topic=2839881&ctx=topic">read more about in our help center</a>. You can now determine whether you have a fixed price deal or private auction deal by checking the <code>private_exchange_min_cpm</code> field— if it is set instead of the <code>fixed_cpm</code> field, you have a private auction deal. When you bid on ad slots from the publisher offering this deal, you are expected to offer at least the amount provided by this field.</p> <p>You can read more about the new features in the Buyer REST v1.2 documentation. As always, we welcome you to join us on our <a href="https://devsite.googleplex.com/ad-exchange/buyer-rest/community/">forum</a> to discuss and ask questions about these changes. To keep informed on all of our ads-related technologies, follow our <a href="https://plus.google.com/u/0/b/115658573333388777174/">Google Ads Developers Google+ page</a>.</p> <p><span class="post-author"><a href="https://plus.google.com/u/0/114766339347028771937//"><img height="20" src="https://lh6.googleusercontent.com/-8vnfBavMfOs/UVWRZzP-_GI/AAAAAAAAABw/bae0qlxOOUQ/s250/photo.jpg" style="vertical-align:middle; border:none;" width="20"></a> - <a href="https://plus.google.com/u/0/114766339347028771937/" rel="author">Mark Saniscalchi</a>, Ad Exchange Buyer Team</span></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing v1.2 of the Ad Exchange Buyer Rest API&url=http://ads-developers.googleblog.com/2013/03/announcing-v12-of-ad-exchange-buyer.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2013/03/announcing-v12-of-ad-exchange-buyer.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2013/03/announcing-v12-of-ad-exchange-buyer.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='7579815640139889753' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2012/09/upcoming-extended-adwords-apiscripts.html' itemprop='url' title='Upcoming extended AdWords API/Scripts, Ad Exchange, and DFP API Downtime'> Upcoming extended AdWords API/Scripts, Ad Exchange, and DFP API Downtime </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, September 10, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> <i>Update: Ad Exchange will be affected by the downtime as well. Please see below for details.</i> <br /><br /> As <a href="http://googleadsdeveloper.blogspot.com/2012/09/upcoming-adwords-apiscripts-and-dfp-api.html">previously mentioned</a>, we have an upcoming AdWords, Ad Exchange, and DFP service outage. This will occur on Saturday, September 22 -- AdWords, Ad Exchange, and DFP systems will be unavailable from approximately 10:00 am to 8:00 pm Pacific Time (17:00 Saturday to 03:00 Sunday GMT) due to system maintenance.<br /> <br /> <b>AdWords</b><br /> During this time, your campaigns will continue to run as usual (with the settings you established as of 10am PST), but you won’t be able to make SOAP API calls or download reports. Requests to the AdWords API will fail with an HTTP 50x error during the maintenance window. Please also keep in mind that any automated rules scheduled during this time will not run and AdWords scripts will not execute during this period. We encourage you to verify your campaign settings prior to the outage.<br /> <br /> <b>Ad Exchange</b><br /> During this time, your ad serving will continue to run per changes made prior to downtime period, but you will not be able to make API calls to Ad Exchange Buyer SOAP API. On Ad Exchange Buyer REST API, only the Direct Deals related API calls will be affected. For the Ad Exchange Real-Time Bidding Protocol, you will not be able to make changes to pre-targeting settings, everything else should continue to run as usual.<br /> <br /> <b>DFP</b><br /> As mentioned above, ad serving will continue to run per changes made prior to the downtime period. If you use the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201208/AudienceSegmentService">audience feature</a> in your network, any API call to the AudienceSegmentService service will fail with a SegmentError.UNEXPECTED_ERROR error. Also, if you target any <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201208/LineItemService.AudienceSegmentCriteria">audience segments</a> in your line items, any calls to LineItemService, ForecastService, or LineItemCreativeAssociationService that involve those line items will fail.<br /> <br /> We apologize for any inconvenience, and appreciate your patience as our engineers work to keep AdWords, Ad Exchange, and DFP running smoothly.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/u/0/110892224480992063622/posts"><img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://plus.google.com/u/0/110892224480992063622/posts" rel="author">Kevin Winter</a>, Ads Developer Relations Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> <i>Update: Ad Exchange will be affected by the downtime as well. Please see below for details.</i> <br /><br /> As <a href="http://googleadsdeveloper.blogspot.com/2012/09/upcoming-adwords-apiscripts-and-dfp-api.html">previously mentioned</a>, we have an upcoming AdWords, Ad Exchange, and DFP service outage. This will occur on Saturday, September 22 -- AdWords, Ad Exchange, and DFP systems will be unavailable from approximately 10:00 am to 8:00 pm Pacific Time (17:00 Saturday to 03:00 Sunday GMT) due to system maintenance.<br /> <br /> <b>AdWords</b><br /> During this time, your campaigns will continue to run as usual (with the settings you established as of 10am PST), but you won’t be able to make SOAP API calls or download reports. Requests to the AdWords API will fail with an HTTP 50x error during the maintenance window. Please also keep in mind that any automated rules scheduled during this time will not run and AdWords scripts will not execute during this period. We encourage you to verify your campaign settings prior to the outage.<br /> <br /> <b>Ad Exchange</b><br /> During this time, your ad serving will continue to run per changes made prior to downtime period, but you will not be able to make API calls to Ad Exchange Buyer SOAP API. On Ad Exchange Buyer REST API, only the Direct Deals related API calls will be affected. For the Ad Exchange Real-Time Bidding Protocol, you will not be able to make changes to pre-targeting settings, everything else should continue to run as usual.<br /> <br /> <b>DFP</b><br /> As mentioned above, ad serving will continue to run per changes made prior to the downtime period. If you use the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201208/AudienceSegmentService">audience feature</a> in your network, any API call to the AudienceSegmentService service will fail with a SegmentError.UNEXPECTED_ERROR error. Also, if you target any <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201208/LineItemService.AudienceSegmentCriteria">audience segments</a> in your line items, any calls to LineItemService, ForecastService, or LineItemCreativeAssociationService that involve those line items will fail.<br /> <br /> We apologize for any inconvenience, and appreciate your patience as our engineers work to keep AdWords, Ad Exchange, and DFP running smoothly.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/u/0/110892224480992063622/posts"><img height="20" src="https://lh6.googleusercontent.com/-Bm_0uFwE20M/AAAAAAAAAAI/AAAAAAAAALY/hflk83UJtt4/s200-c-k/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://plus.google.com/u/0/110892224480992063622/posts" rel="author">Kevin Winter</a>, Ads Developer Relations Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Upcoming extended AdWords API/Scripts, Ad Exchange, and DFP API Downtime&url=http://ads-developers.googleblog.com/2012/09/upcoming-extended-adwords-apiscripts.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2012/09/upcoming-extended-adwords-apiscripts.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2012/09/upcoming-extended-adwords-apiscripts.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_soap' rel='tag'> ad_exchange_soap </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/adwords_api' rel='tag'> adwords_api </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/adwords_scripts' rel='tag'> adwords_scripts </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/dfp_api' rel='tag'> dfp_api </a> </span> </div> </div> </div> <div class='post' data-id='3239142099274862771' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2012/09/doubleclick-ad-exchange-buyer-rest-api.html' itemprop='url' title='DoubleClick Ad Exchange Buyer REST API Version 1.1 Released'> DoubleClick Ad Exchange Buyer REST API Version 1.1 Released </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, September 7, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> Version 1.1 of the Buyer REST API has been released bringing the following changes:<br /> <br /> <ul style="text-align: left;"> <li>A <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/creatives/list" target="_blank">list</a> method has been added for the Creatives resource. </li> <li>The <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> has been removed from the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/creatives" target="_blank">Creatives</a> resource. </li> <li>A <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/accounts" target="_blank">region</a> property has been added to the <span style="font-family: Courier New, Courier, monospace;">bidderLocation[]</span> object. </li> </ul> <br /> <b>Creatives.List Method added </b><br /> The list method retrieves a list of all of the authenticated user's active creatives. Optional parameters allow you to set the maximum number of Creatives resources to return each time you call the method. You can also filter the contents of the list by the status of creatives, for example to restrict the contents of the list to those ads that have been approved. Valid status values are <span style="font-family: Courier New, Courier, monospace;">approved<i>, </i>disapproved</span><i>, </i>and <span style="font-family: Courier New, Courier, monospace;">not_checked</span>.<br /> <br /> <b>Removed adgroupId property </b><br /> Beginning with Version 1.1 of the Buyer REST API, the <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> will no longer be returned from method calls. In addition, passing the <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> value to a Creatives method will raise an error. However, a creative submitted through the API can be used to respond to a pretargeting match for any ad group. The removal of this value means that the key to uniquely identify a creative now consists of <span style="font-family: Courier New, Courier, monospace;">accountId</span> + <span style="font-family: Courier New, Courier, monospace;">buyerCreativeId</span>.<br /> <br /> <b>Added region property to bidderLocation[] </b><br /> The <span style="font-family: Courier New, Courier, monospace;">bidderLocation[]</span> list in the Account resource now includes a third value. The region property describes the region for the bidder location. You can contact your customer representative to determine whether or not your account is in the new quota system.<br /> <br /> The value of <span style="font-family: Courier New, Courier, monospace;">region</span> describes the geographical region from which the Ad Exchange should send requests. This value is used by the new quota system. Allowed values:<br /> <br /> <ul style="text-align: left;"> <li><span style="font-family: Courier New, Courier, monospace;">ASIA</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">EUROPE</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">US_EAST</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">US_WEST</span> </li> </ul> -- Irene Smith, Ad Exchange Team</div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> Version 1.1 of the Buyer REST API has been released bringing the following changes:<br /> <br /> <ul style="text-align: left;"> <li>A <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/creatives/list" target="_blank">list</a> method has been added for the Creatives resource. </li> <li>The <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> has been removed from the <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/creatives" target="_blank">Creatives</a> resource. </li> <li>A <a href="https://developers.google.com/ad-exchange/buyer-rest/v1.1/accounts" target="_blank">region</a> property has been added to the <span style="font-family: Courier New, Courier, monospace;">bidderLocation[]</span> object. </li> </ul> <br /> <b>Creatives.List Method added </b><br /> The list method retrieves a list of all of the authenticated user's active creatives. Optional parameters allow you to set the maximum number of Creatives resources to return each time you call the method. You can also filter the contents of the list by the status of creatives, for example to restrict the contents of the list to those ads that have been approved. Valid status values are <span style="font-family: Courier New, Courier, monospace;">approved<i>, </i>disapproved</span><i>, </i>and <span style="font-family: Courier New, Courier, monospace;">not_checked</span>.<br /> <br /> <b>Removed adgroupId property </b><br /> Beginning with Version 1.1 of the Buyer REST API, the <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> will no longer be returned from method calls. In addition, passing the <span style="font-family: Courier New, Courier, monospace;">adgroupId</span> value to a Creatives method will raise an error. However, a creative submitted through the API can be used to respond to a pretargeting match for any ad group. The removal of this value means that the key to uniquely identify a creative now consists of <span style="font-family: Courier New, Courier, monospace;">accountId</span> + <span style="font-family: Courier New, Courier, monospace;">buyerCreativeId</span>.<br /> <br /> <b>Added region property to bidderLocation[] </b><br /> The <span style="font-family: Courier New, Courier, monospace;">bidderLocation[]</span> list in the Account resource now includes a third value. The region property describes the region for the bidder location. You can contact your customer representative to determine whether or not your account is in the new quota system.<br /> <br /> The value of <span style="font-family: Courier New, Courier, monospace;">region</span> describes the geographical region from which the Ad Exchange should send requests. This value is used by the new quota system. Allowed values:<br /> <br /> <ul style="text-align: left;"> <li><span style="font-family: Courier New, Courier, monospace;">ASIA</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">EUROPE</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">US_EAST</span> </li> <li><span style="font-family: Courier New, Courier, monospace;">US_WEST</span> </li> </ul> -- Irene Smith, Ad Exchange Team</div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:DoubleClick Ad Exchange Buyer REST API Version 1.1 Released&url=http://ads-developers.googleblog.com/2012/09/doubleclick-ad-exchange-buyer-rest-api.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2012/09/doubleclick-ad-exchange-buyer-rest-api.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2012/09/doubleclick-ad-exchange-buyer-rest-api.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> </span> </div> </div> </div> <div class='post' data-id='7971314726889545710' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2012/03/announcing-new-ad-exchange-developer.html' itemprop='url' title='Announcing new Ad Exchange developer resources'> Announcing new Ad Exchange developer resources </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, March 29, 2012 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <div dir="ltr" style="text-align: left;" trbidi="on"> The Ad Exchange Team is excited to make this set of resources available to our developer community. Below you’ll find new and better ways to work with the Ad Exchange. If you have any questions or feedback, please contact us via the <a href="https://developers.google.com/ad-exchange/discussion">forum</a>.<br /><br /> <b>New <a href="https://developers.google.com/ad-exchange">website</a></b><br /> <ul style="text-align: left;"> <li>Built on top of Google’s new developers platform <a href="http://developers.google.com">developers.google.com</a>, we’ve created a new site for our community. There you’ll find docs for the real-time bidding (RTB) protocol, the REST API and the SOAP API. Plus, we’ve revamped the docs to make them easier to use and understand. </li> </ul> <b>Access to the Ad Exchange REST API</b><br /> <ul style="text-align: left;"> <li>This API gives you the ability to manage your RTB account configurations, submit creatives and list direct deals. Contact your technical account representative to set up access to the API. Then, try it out before you write a line of code, using the <a href="http://code.google.com/apis/explorer/#_s=adexchangebuyer&_v=v1">API explorer</a>. </li> </ul> <b>Client library support and code examples in major programming languages </b><br /> <ul style="text-align: left;"> <li>Trying out the client libraries first might save you a lot of time compared to coding directly against the APIs. Also, check out our code examples in your preferred programming language for both the <a href="https://developers.google.com/ad-exchange/buyer-soap/downloads">SOAP</a> and <a href="https://developers.google.com/ad-exchange/buyer-rest/downloads">REST</a> APIs. </li> </ul> <b>Access to the Ad Exchange Buyer API’s Forum </b><br /> <ul style="text-align: left;"> <li>The <a href="https://developers.google.com/ad-exchange/discussion">Ad Exchange Buyer APIs Forum</a> is a Google-monitored environment for public discussions where you can ask - and, if you like, answer - questions regarding the REST and SOAP APIs.</li> </ul> <br /> <span class="post-author"><a href="https://profiles.google.com/david.t.developer.support"><img height="20" src="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/photo.jpg?sz=20" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" width="20" /></a> - <a href="https://profiles.google.com/david.t.developer.support" rel="author">David Torres</a>, Ad Exchange Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <div dir="ltr" style="text-align: left;" trbidi="on"> The Ad Exchange Team is excited to make this set of resources available to our developer community. Below you’ll find new and better ways to work with the Ad Exchange. If you have any questions or feedback, please contact us via the <a href="https://developers.google.com/ad-exchange/discussion">forum</a>.<br /><br /> <b>New <a href="https://developers.google.com/ad-exchange">website</a></b><br /> <ul style="text-align: left;"> <li>Built on top of Google’s new developers platform <a href="http://developers.google.com">developers.google.com</a>, we’ve created a new site for our community. There you’ll find docs for the real-time bidding (RTB) protocol, the REST API and the SOAP API. Plus, we’ve revamped the docs to make them easier to use and understand. </li> </ul> <b>Access to the Ad Exchange REST API</b><br /> <ul style="text-align: left;"> <li>This API gives you the ability to manage your RTB account configurations, submit creatives and list direct deals. Contact your technical account representative to set up access to the API. Then, try it out before you write a line of code, using the <a href="http://code.google.com/apis/explorer/#_s=adexchangebuyer&_v=v1">API explorer</a>. </li> </ul> <b>Client library support and code examples in major programming languages </b><br /> <ul style="text-align: left;"> <li>Trying out the client libraries first might save you a lot of time compared to coding directly against the APIs. Also, check out our code examples in your preferred programming language for both the <a href="https://developers.google.com/ad-exchange/buyer-soap/downloads">SOAP</a> and <a href="https://developers.google.com/ad-exchange/buyer-rest/downloads">REST</a> APIs. </li> </ul> <b>Access to the Ad Exchange Buyer API’s Forum </b><br /> <ul style="text-align: left;"> <li>The <a href="https://developers.google.com/ad-exchange/discussion">Ad Exchange Buyer APIs Forum</a> is a Google-monitored environment for public discussions where you can ask - and, if you like, answer - questions regarding the REST and SOAP APIs.</li> </ul> <br /> <span class="post-author"><a href="https://profiles.google.com/david.t.developer.support"><img height="20" src="https://lh5.googleusercontent.com/-ahPvNYi7enw/AAAAAAAAAAI/AAAAAAAAAAk/ML8VpQbTG9M/photo.jpg?sz=20" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" width="20" /></a> - <a href="https://profiles.google.com/david.t.developer.support" rel="author">David Torres</a>, Ad Exchange Team</span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Ads Developer Blog:Announcing new Ad Exchange developer resources&url=http://ads-developers.googleblog.com/2012/03/announcing-new-ad-exchange-developer.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://ads-developers.googleblog.com/2012/03/announcing-new-ad-exchange-developer.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://ads-developers.googleblog.com/2012/03/announcing-new-ad-exchange-developer.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange' rel='tag'> ad_exchange </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest' rel='tag'> ad_exchange_rest </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb' rel='tag'> ad_exchange_rtb </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/ad_exchange_soap' rel='tag'> ad_exchange_soap </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='http://ads-developers.googleblog.com/'> <i class='material-icons'>  </i> </a> <i class='material-icons disabled'>  </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest?updated-max=2012-03-29T14:44:00-07:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'>  </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Labels </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/account_management'> account_management </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_clicks'> ad_clicks </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_customizers'> ad_customizers </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange'> ad_exchange </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_buyer'> ad_exchange_buyer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_optimization-series'> ad_exchange_optimization-series </a> </li> <li> <span dir='ltr'> ad_exchange_rest </span> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rtb'> ad_exchange_rtb </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_seller'> ad_exchange_seller </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_soap'> ad_exchange_soap </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_extensions'> ad_extensions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_inspector'> ad_inspector </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager'> ad_manager </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api'> ad_manager_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201805'> ad_manager_api_v201805 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201808'> ad_manager_api_v201808 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201811'> ad_manager_api_v201811 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201902'> ad_manager_api_v201902 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201905'> ad_manager_api_v201905 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201908'> ad_manager_api_v201908 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v201911'> ad_manager_api_v201911 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202002'> ad_manager_api_v202002 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202005'> ad_manager_api_v202005 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202008'> ad_manager_api_v202008 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202011'> ad_manager_api_v202011 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202102'> ad_manager_api_v202102 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202105'> ad_manager_api_v202105 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202108'> ad_manager_api_v202108 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202111'> ad_manager_api_v202111 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202202'> ad_manager_api_v202202 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202205'> ad_manager_api_v202205 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202208'> ad_manager_api_v202208 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202211'> ad_manager_api_v202211 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202302'> ad_manager_api_v202302 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202305'> ad_manager_api_v202305 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202308'> ad_manager_api_v202308 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202311'> ad_manager_api_v202311 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202402'> ad_manager_api_v202402 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202405'> ad_manager_api_v202405 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202408'> ad_manager_api_v202408 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_manager_api_v202411'> ad_manager_api_v202411 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_param'> ad_param </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_speed'> ad_speed </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adexchangebuyer'> adexchangebuyer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/AdGroup'> AdGroup </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/AdGroupAd'> AdGroupAd </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admanager_api'> admanager_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob'> admob </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_api'> admob_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_api_v1'> admob_api_v1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_mediation'> admob_mediation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_sdk'> admob_sdk </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_v4.3.1'> admob_v4.3.1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_v5.0.5'> admob_v5.0.5 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/admob_v6.0.1'> admob_v6.0.1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ads'> ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense'> adsense </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_api'> adsense_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_host_api'> adsense_host_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_host_api_v3'> adsense_host_api_v3 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api'> adsense_management_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api_v1'> adsense_management_api_v1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api_v1.1'> adsense_management_api_v1.1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api_v1.2'> adsense_management_api_v1.2 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api_v1.3'> adsense_management_api_v1.3 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adsense_management_api_v1.4'> adsense_management_api_v1.4 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/advanced_apis'> advanced_apis </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwhirl'> adwhirl </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwhirl_v3.1.1'> adwhirl_v3.1.1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords'> adwords </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/AdWords%20Scripts'> AdWords Scripts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_AdGroupCriterionService'> adwords_AdGroupCriterionService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api'> adwords_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201302'> adwords_api_v201302 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201306'> adwords_api_v201306 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201309'> adwords_api_v201309 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201402'> adwords_api_v201402 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201406'> adwords_api_v201406 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201409'> adwords_api_v201409 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201502'> adwords_api_v201502 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201506'> adwords_api_v201506 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201509'> adwords_api_v201509 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201601'> adwords_api_v201601 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201603'> adwords_api_v201603 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201605'> adwords_api_v201605 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201607'> adwords_api_v201607 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201609'> adwords_api_v201609 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201702'> adwords_api_v201702 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201705'> adwords_api_v201705 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201708'> adwords_api_v201708 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201710'> adwords_api_v201710 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201802'> adwords_api_v201802 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201806'> adwords_api_v201806 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_v201809'> adwords_api_v201809 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_api_workshops'> adwords_api_workshops </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_BatchJobService'> adwords_BatchJobService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_CampaignService'> adwords_CampaignService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_CreateAccountService'> adwords_CreateAccountService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_for_video'> adwords_for_video </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_ManagedCustomerService'> adwords_ManagedCustomerService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_MutateJobService'> adwords_MutateJobService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_ReportDefinitionService'> adwords_ReportDefinitionService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_scripts'> adwords_scripts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201109'> adwords_v201109 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201206'> adwords_v201206 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201209'> adwords_v201209 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201302'> adwords_v201302 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201306'> adwords_v201306 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201309'> adwords_v201309 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201601'> adwords_v201601 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201605'> adwords_v201605 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201607'> adwords_v201607 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201609'> adwords_v201609 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201702'> adwords_v201702 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201802'> adwords_v201802 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201806'> adwords_v201806 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/adwords_v201809'> adwords_v201809 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/alerting'> alerting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/amp'> amp </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/analytics'> analytics </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/analyticsapi'> analyticsapi </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/android'> android </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/android_layout'> android_layout </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/animation'> animation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/announcement'> announcement </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/annual%20developer%20survey'> annual developer survey </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/api'> api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/app_engine'> app_engine </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/asset_group'> asset_group </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/asset_group_listing_group_filter'> asset_group_listing_group_filter </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/asset_group_signal'> asset_group_signal </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/assets'> assets </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/attribution_reporting_api'> attribution_reporting_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/audiences'> audiences </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/authentication'> authentication </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/authorization'> authorization </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/authorized_buyer'> authorized_buyer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/authorized_buyers'> authorized_buyers </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/aw_reporting'> aw_reporting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/awql'> awql </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/batch_processing'> batch_processing </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/beacon_api'> beacon_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/best_practices'> best_practices </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/beta'> beta </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/bid_manager_api'> bid_manager_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/bid_modifiers'> bid_modifiers </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/bidding'> bidding </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/billing'> billing </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/brand%20guidelines'> brand guidelines </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/brand_guidelines'> brand_guidelines </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/budget_order_service'> budget_order_service </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/budgets'> budgets </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/builders'> builders </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/bulk_upload'> bulk_upload </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/c%23'> c# </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/caf_sdk'> caf_sdk </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/call_extensions'> call_extensions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/call_metrics'> call_metrics </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/call_only'> call_only </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/call_tracking'> call_tracking </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/call-only'> call-only </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/callout_extensions'> callout_extensions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/campaign'> campaign </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/CampaignCriterion'> CampaignCriterion </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/case_study'> case_study </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/cast'> cast </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/certificates'> certificates </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/certification'> certification </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/chart_tools'> chart_tools </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/chrome'> chrome </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/chromecast'> chromecast </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/click'> click </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/click_tracking'> click_tracking </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/click_type'> click_type </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/click-to-download'> click-to-download </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/clicks'> clicks </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/client_libraries'> client_libraries </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/client_library'> client_library </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/cm360'> cm360 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/code_examples'> code_examples </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/common_questions'> common_questions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/conference'> conference </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/content'> content </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/content_api'> content_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/conversion'> conversion </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/conversions'> conversions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ConversionTrackerService'> ConversionTrackerService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/converted_clicks'> converted_clicks </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/creative_platforms'> creative_platforms </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/creatives'> creatives </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/custom_fields'> custom_fields </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/customer_match'> customer_match </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/DAI'> DAI </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dart'> dart </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dbm_api'> dbm_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/debugging'> debugging </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/decorators'> decorators </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/deprecation'> deprecation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/developer'> developer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_ad_service'> dfa_ad_service </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_api'> dfa_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_api_v118'> dfa_api_v118 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_creative_service'> dfa_creative_service </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_reporting_api'> dfa_reporting_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_site_service'> dfa_site_service </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_v1.16'> dfa_v1.16 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_v1.17'> dfa_v1.17 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_v1.18'> dfa_v1.18 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_v1.19'> dfa_v1.19 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfa_v1.20'> dfa_v1.20 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp'> dfp </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_api'> dfp_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_appengine'> dfp_appengine </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_creatives'> dfp_creatives </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_inventory'> dfp_inventory </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_mobile'> dfp_mobile </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_pql'> dfp_pql </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_reports'> dfp_reports </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_sales'> dfp_sales </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_teams'> dfp_teams </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201111'> dfp_v201111 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201201'> dfp_v201201 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201203'> dfp_v201203 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201204'> dfp_v201204 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201206'> dfp_v201206 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201208'> dfp_v201208 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201211'> dfp_v201211 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201302'> dfp_v201302 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201308'> dfp_v201308 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201608'> dfp_v201608 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dfp_v201711'> dfp_v201711 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/display'> display </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/display_network'> display_network </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/display_select'> display_select </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/display_smart_campaign'> display_smart_campaign </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/docs'> docs </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dotnet'> dotnet </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/doubleclick'> doubleclick </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/DoubleClick_Rich_Media'> DoubleClick_Rich_Media </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/doubleclick_studio'> doubleclick_studio </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/drafts'> drafts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dsa'> dsa </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dv360'> dv360 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dv360_api'> dv360_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/dynamic_creative'> dynamic_creative </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/enhanced_campaigns'> enhanced_campaigns </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/entity_read_files'> entity_read_files </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/erf'> erf </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/error%20handling'> error handling </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/eta'> eta </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/examples'> examples </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/excluded_placement_lists'> excluded_placement_lists </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/exoplayer'> exoplayer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/expanded_text_ads'> expanded_text_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/experiment'> experiment </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/experiments'> experiments </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/faq'> faq </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/feedback'> feedback </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/feeds'> feeds </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/firebase'> firebase </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/flash'> flash </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/flash_sdk'> flash_sdk </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/floc'> floc </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/flutter'> flutter </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/forecast_service'> forecast_service </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/games'> games </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gaql'> gaql </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gclid'> gclid </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gdc'> gdc </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gdl'> gdl </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/geo_targets'> geo_targets </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/geotargeting'> geotargeting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gmail_ads'> gmail_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gmail_image_ads'> gmail_image_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gmail_multi_product_ads'> gmail_multi_product_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gmail_single_promotion_ads'> gmail_single_promotion_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/GMF'> GMF </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gmp'> gmp </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/golang'> golang </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads'> google_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api'> google_ads_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_migration_workshop'> google_ads_api_migration_workshop </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0'> google_ads_api_v0 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_1'> google_ads_api_v0_1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_3'> google_ads_api_v0_3 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_4'> google_ads_api_v0_4 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_5'> google_ads_api_v0_5 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_6'> google_ads_api_v0_6 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v0_7'> google_ads_api_v0_7 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v1_0'> google_ads_api_v1_0 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v1_1'> google_ads_api_v1_1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v1_2'> google_ads_api_v1_2 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v1_3'> google_ads_api_v1_3 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v2_1'> google_ads_api_v2_1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v3_0'> google_ads_api_v3_0 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v3_1'> google_ads_api_v3_1 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v4'> google_ads_api_v4 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v5'> google_ads_api_v5 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_api_v6'> google_ads_api_v6 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_scripts'> google_ads_scripts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_ads_solutions'> google_ads_solutions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_apis'> google_apis </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_apps_script'> google_apps_script </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_drive'> google_drive </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_play_services'> google_play_services </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/google_plus'> google_plus </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/gpt'> gpt </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/guide'> guide </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/guides'> guides </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/hangout'> hangout </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/hotel_ads'> hotel_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/hotel_campaigns'> hotel_campaigns </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/html5'> html5 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/html5_ads'> html5_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/https'> https </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/i18n'> i18n </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ids'> ids </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_android'> ima_android </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_flash'> ima_flash </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_html5'> ima_html5 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_ios'> ima_ios </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_roku'> ima_roku </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ima_sdk'> ima_sdk </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/image'> image </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/image_ads'> image_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/implementation'> implementation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/impression_share'> impression_share </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/interstitial'> interstitial </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/interview'> interview </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/io13'> io13 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/iOS'> iOS </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/iOS9'> iOS9 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/java_app_engine'> java_app_engine </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/java_dart_api'> java_dart_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/jdbc'> jdbc </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/keyword_optimizer'> keyword_optimizer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/keywords'> keywords </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/kotlin'> kotlin </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/labels'> labels </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/limits'> limits </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/line_item'> line_item </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/linq'> linq </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/listing_groups'> listing_groups </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/location_extensions'> location_extensions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/location_feeds'> location_feeds </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/LocationExtensionOperand'> LocationExtensionOperand </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/LocationGroups'> LocationGroups </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/logging'> logging </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/manager_accounts'> manager_accounts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/maps_api'> maps_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/marketplace'> marketplace </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/maximize'> maximize </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mcc'> mcc </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/media'> media </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/media_bundle'> media_bundle </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mediation_test_suite'> mediation_test_suite </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/merchant_api'> merchant_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/migration'> migration </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile'> mobile </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_ads'> mobile_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_ads_garage'> mobile_ads_garage </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_ads_sdk'> mobile_ads_sdk </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_sites'> mobile_sites </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_speed'> mobile_speed </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_targeting'> mobile_targeting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/mobile_ux'> mobile_ux </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/monitoring'> monitoring </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/native'> native </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/native_ads_express'> native_ads_express </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/new_features'> new_features </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/oath2'> oath2 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/oauth'> oauth </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/oauth2'> oauth2 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/offline_conversions'> offline_conversions </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/OfflineConversionFeedService'> OfflineConversionFeedService </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/open_source'> open_source </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/openrtb'> openrtb </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/optimization'> optimization </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/Performance%20Max'> Performance Max </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/performance_max'> performance_max </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/performance_max_api_workshop'> performance_max_api_workshop </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/php'> php </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/PLA'> PLA </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/placements'> placements </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/PMax'> PMax </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/policy'> policy </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/policy_violation'> policy_violation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/PQL'> PQL </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/price_extension'> price_extension </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/privacy'> privacy </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/privacy_sandbox'> privacy_sandbox </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/product_listing_ads'> product_listing_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/proguard'> proguard </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/promotion_line'> promotion_line </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/publisher_ads_audits'> publisher_ads_audits </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/python'> python </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/qa'> qa </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/quality_score'> quality_score </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/query_builder_blog_series'> query_builder_blog_series </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/query_language'> query_language </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/quota'> quota </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/rate_limiter'> rate_limiter </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/rate_sheet'> rate_sheet </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/RateExceededError'> RateExceededError </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/realtime_bidding'> realtime_bidding </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/realtime_bidding_api'> realtime_bidding_api </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/realtime_bidding_protocol'> realtime_bidding_protocol </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/realtimebidding'> realtimebidding </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/recommendations'> recommendations </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/referer'> referer </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/release'> release </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/remarketing'> remarketing </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/reporting'> reporting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/reports'> reports </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/responsive_ads'> responsive_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/rewarded_video'> rewarded_video </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/rmf'> rmf </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ruby'> ruby </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sa360'> sa360 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sandbox'> sandbox </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/scripts'> scripts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sdf'> sdf </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sdkless'> sdkless </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search'> search </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search%20audience'> search audience </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search%20terms'> search terms </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search_audience'> search_audience </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search_network'> search_network </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/search_theme'> search_theme </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/selector'> selector </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sendbeacon'> sendbeacon </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/service_accounts'> service_accounts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/shared_negative_keywords'> shared_negative_keywords </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/shopping'> shopping </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/simulations'> simulations </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sitelinks'> sitelinks </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/smart'> smart </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/snds'> snds </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/spend'> spend </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ssl'> ssl </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/StepInsideAdWords'> StepInsideAdWords </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/success_stories'> success_stories </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/suggested_ad_units'> suggested_ad_units </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/sunset'> sunset </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/survey'> survey </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/swift'> swift </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/swiftui'> swiftui </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/target'> target </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/target_cpa'> target_cpa </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/targeting'> targeting </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/template_ads'> template_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/terms'> terms </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/test_accounts'> test_accounts </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/test_network'> test_network </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/testing'> testing </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/text_ads'> text_ads </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/text_asset_automation'> text_asset_automation </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/tools'> tools </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/trials'> trials </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/turtledove'> turtledove </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ui'> ui </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/unity'> unity </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/update'> update </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/updates'> updates </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/upgrade'> upgrade </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/upgraded_urls'> upgraded_urls </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/v201509'> v201509 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/vast3'> vast3 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/vcpm'> vcpm </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/video'> video </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/viewable-cpm'> viewable-cpm </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/webinar'> webinar </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/workshop'> workshop </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/workshops'> workshops </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/wp8'> wp8 </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/xml'> xml </a> </li> <li> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/youtube'> youtube </a> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'>  </i> <h2> Archive </h2> <i class='material-icons arrow'>  </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2025/'> 2025 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2025/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2025/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/'> 2024 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2024/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/'> 2023 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2023/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/'> 2022 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2022/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/'> 2021 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2021/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/'> 2020 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2020/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/'> 2019 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2019/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/'> 2018 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2018/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/'> 2017 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2017/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2016/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2015/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2014/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2013/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2012/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'>  </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'>  </i>   </span> </a> <a class='post-count-link' href='http://ads-developers.googleblog.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2011/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://ads-developers.googleblog.com/2011/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <div class='widget-content'> <div class='followgooglewrapper'> <script src="https://apis.google.com/js/plusone.js"></script> <div class="g-ytsubscribe" data-channel="AdsDevelopers" data-layout="full"></div> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML7'> <div class='widget-content'> Give us feedback in our developer product forums:<br /><br /> <a href="https://groups.google.com/forum/#!forum/adwords-api">Google Ads API</a><br /> <a href="https://groups.google.com/forum/#!forum/adwords-scripts">Google Ads scripts</a><br /> <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-publishers-api">Google Ad Manager API</a><br /> <a href="https://groups.google.com/forum/#!forum/google-doubleclick-for-advertisers-api">DCM API</a><br /> <a href="https://groups.google.com/forum/#!forum/google-admob-ads-sdk">Google Mobile Ads SDK</a><br /> <a href="https://groups.google.com/g/google-admob-api-developer-forum">Google AdMob API</a><br /> <a href="https://groups.google.com/forum/#!forum/ima-sdk">Google Interactive Media Ads SDK</a><br /> <a href="https://groups.google.com/forum/#!forum/google-content-api-for-shopping">Google Content API for Shopping</a><br /> <a href="https://groups.google.com/forum/#!forum/google-doubleclick-ad-exchange-buyer-api">Authorized Buyers API</a><br /> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <!-- Footer --> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/1704033933-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY5ejBvIolainnrvygzswWKFpL9taA:1740374384223';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d7815614485808579332','//ads-developers.googleblog.com/search/label/ad_exchange_rest','7815614485808579332'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '7815614485808579332', 'title': 'Google Ads Developer Blog', 'url': 'http://ads-developers.googleblog.com/search/label/ad_exchange_rest', 'canonicalUrl': 'http://ads-developers.googleblog.com/search/label/ad_exchange_rest', 'homepageUrl': 'http://ads-developers.googleblog.com/', 'searchUrl': 'http://ads-developers.googleblog.com/search', 'canonicalHomepageUrl': 'http://ads-developers.googleblog.com/', 'blogspotFaviconUrl': 'http://ads-developers.googleblog.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': false, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-E4MSGF2SF9', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Google Ads Developer Blog - Atom\x22 href\x3d\x22http://ads-developers.googleblog.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Google Ads Developer Blog - RSS\x22 href\x3d\x22http://ads-developers.googleblog.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Google Ads Developer Blog - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/7815614485808579332/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/c320e3f9c6626331', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'ad_exchange_rest', 'pageName': 'ad_exchange_rest', 'pageTitle': 'Google Ads Developer Blog: ad_exchange_rest'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Google Ads Developer Blog', 'description': 'The official blog for information about the Google Ads, Google Ad Manager, Google Mobile Ads SDKs for AdMob and IMA SDKs, and other Google Advertising Platform developer tools.', 'url': 'http://ads-developers.googleblog.com/search/label/ad_exchange_rest', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'ad_exchange_rest', 'resultsMessage': 'Showing posts with the label ad_exchange_rest', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3ead_exchange_rest\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3ead_exchange_rest\x3c/b\x3e. \x3ca href\x3d\x22http://ads-developers.googleblog.com/\x22\x3eShow all posts\x3c/a\x3e', 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2332438401-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/1964470060-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML7', 'sidebar-bottom', document.getElementById('HTML7'), {}, 'displayModeFull')); </script> </body> </html>