CINXE.COM
Google Ads Developer Blog: New PQL tables in the DFP API
<!DOCTYPE html> <html class='v2 detail-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: New PQL tables in the DFP API </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='article' property='og:type'/> <meta content='New PQL tables in the DFP API' property='og:title'/> <meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrr-PwvV95psTLUBUnl3pjRal36AYNMXfhIblIuUICz_w0NRGtK4PVGr6DOHTA0ouC3Nrxciv56LoqvdgQo_sQMZaNk2_8ZOWZZVhGTlNFLb6qDwr90wKtRkL61c9-ZYrBoUm0e9f81U-p/s1600/googlelogo_color_200x200.png' property='og:image'/> <meta content='en_US' property='og:locale'/> <meta content='http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html' property='og:url'/> <meta content='Google Ads Developer Blog' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Google Ads Developer Blog' property='twitter:site'/> <meta content='New PQL tables in the DFP API' property='twitter:title'/> <meta content='https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s72-c/photo.jpg?sz=20' property='twitter:image'/> <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/2014/02/new-pql-tables-in-dfp-api.html' 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" /> <link rel="alternate" type="application/atom+xml" title="Google Ads Developer Blog - Atom" href="http://ads-developers.googleblog.com/feeds/8879030312289204439/comments/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <link href='https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz=20' rel='image_src'/> <meta content='http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html' property='og:url'/> <meta content='New PQL tables in the DFP API' property='og:title'/> <meta content=' In the recent DFP API releases, we announced the addition of more tables to the PublisherQueryLanguageService , starting with Line_Item a...' property='og:description'/> <meta content='https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/w1200-h630-p-k-no-nu/photo.jpg?sz=20' property='og:image'/> <!-- 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=9069ca84-be54-4ec1-91e8-db3279f51ab9' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=7815614485808579332&zx=9069ca84-be54-4ec1-91e8-db3279f51ab9' 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='8879030312289204439' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html' itemprop='url' title='New PQL tables in the DFP API'> New PQL tables in the DFP API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, February 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"> In the recent DFP API releases, we <a href="http://googleadsdeveloper.blogspot.com/2013/09/dfp-api-v201308.html" target="_blank">announced</a> the addition of more tables to the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService" target="_blank">PublisherQueryLanguageService</a>, starting with <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService#Line_Item" target="_blank">Line_Item</a> and <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService#Ad_Unit" target="_blank">Ad_Unit</a>. These tables are an alternative to retrieving entities from their respective services’ get***ByStatement methods. They allow you to retrieve sparse entities containing only the fields you’re interested in. For example, the following select statement retrieves the first page of only the ID and name of line items that are missing creatives. <br /> <pre>SELECT Id, Name from Line_Item WHERE IsMissingCreatives = true LIMIT 500 OFFSET 0</pre> In this blog post, we’ll go over some situations where this feature can be utilized to speed up entity retrieval times from hours to minutes. <br /> <h2> Entity synchronization</h2> <br /> The first major use case that benefits from these new tables is entity synchronization. For example, if you’re synchronizing line items on your network into a local database, you’re most likely using <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService#getLineItemsByStatement" target="_blank">LineItemService.getLineItemsByStatement</a> and hopefully taking advantage of the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#lastModifiedDateTime" target="_blank">LineItem.lastModifiedDateTime</a> field to only filter out line items that have changed since the last time you synchronized. But even with lastModifiedDateTime, this synchronization can still take a while, depending on how many line items you have on your network, and how complex their targetings are. If you don’t need to synchronize all the fields in your line item objects, you may be able to use the Line_Item PQL table to perform this synchronization instead. <br /> <br /> If you do need to synchronize fields not yet available in the Line_Item table, such as targeting, you can still take advantage of this table for computed fields that don’t affect lastModifiedDateTime, such as <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#status" target="_blank">LineItem.status</a>. What you can do is synchronize your line items as usual with getLineItemsByStatement filtering on lastModifiedDateTime. Then update your local statuses with selected line item statuses from the Line_Item table (a very quick process):<br /> <pre>SELECT Id, Status from Line_Item LIMIT 500 OFFSET 0</pre> <h2> Match tables for reports</h2> <br /> Local copies of line item information can also be used as match tables to construct more detailed reports. Sometimes, you may want more information in your reports than what is currently available as a <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/ReportService.DimensionAttribute" target="_blank">dimensionAttribute</a>. For example, if you run a report by line item ID, you may also want other line item information like <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#isMissingCreatives" target="_blank">isMissingCreatives</a> to show in the report. Because LineItem.isMissingCreatives is unavailable as a DimensionAttribute, you can create a local match table containing line item IDs and additional columns to be included in the report. Then you can merge this match table with the report by the line item ID to obtain a report with those additional columns. <br /> <br /> For example, let’s say you run a report with the following configuration: <br /> <pre>Dimension.LINE_ITEM_ID DimensionAttribute.LINE_ITEM_COST_TYPE Column.AD_SERVER_IMPRESSIONS</pre> The report in CSV_DUMP format looks something like this: <br /> <pre>Dimension.LINE_ITEM_ID, DimensionAttribute.LINE_ITEM_COST_TYPE, Column.AD_SERVER_IMPRESSIONS 1234567, CPM, 206 1234568, CPD, 45 1234569, CPD, 4</pre> To also include LineItem.isMissingCreatives in the report, you would fetch a match table and save it (as a CSV file for example) by retrieving ID and isMissingCreatives from the Line_Item table. <br /> <pre>SELECT Id, IsMissingCreatives from Line_Item LIMIT 500 OFFSET 0</pre> Full examples of how to fetch match tables are available in all our client libraries. For instance, Python’s is <a href="https://github.com/googleads/googleads-python-lib/blob/master/examples/adspygoogle/dfp/v201311/publisher_query_language_service/fetch_match_tables.py" target="_blank">here</a>. Then using a script or a spreadsheet program, merge the match table with the report to produce something like this: <br /> <pre>Dimension.LINE_ITEM_ID, DimensionAttribute.LINE_ITEM_COST_TYPE, Column.AD_SERVER_IMPRESSIONS, <strong>LineItem.isMissingCreatives</strong> 1234567, CPM, 206, <strong>true</strong> 1234568, CPD, 45, <strong>false</strong> 1234569, CPD, 4, <strong>false</strong></pre> If you have any questions on these new PQL tables, or suggestions on what PQL tables you want in the next release, please let us know on the <a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api" target="_blank">API forum</a>, or on our <a href="https://plus.google.com/+GoogleAdsDevelopers/posts" target="_blank">Google+ Developers page</a>.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/u/0/112590577081306037615"><img height="20" src="https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://plus.google.com/u/0/112590577081306037615" rel="author">Vincent Tsao</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"> In the recent DFP API releases, we <a href="http://googleadsdeveloper.blogspot.com/2013/09/dfp-api-v201308.html" target="_blank">announced</a> the addition of more tables to the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService" target="_blank">PublisherQueryLanguageService</a>, starting with <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService#Line_Item" target="_blank">Line_Item</a> and <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/PublisherQueryLanguageService#Ad_Unit" target="_blank">Ad_Unit</a>. These tables are an alternative to retrieving entities from their respective services’ get***ByStatement methods. They allow you to retrieve sparse entities containing only the fields you’re interested in. For example, the following select statement retrieves the first page of only the ID and name of line items that are missing creatives. <br /> <pre>SELECT Id, Name from Line_Item WHERE IsMissingCreatives = true LIMIT 500 OFFSET 0</pre> In this blog post, we’ll go over some situations where this feature can be utilized to speed up entity retrieval times from hours to minutes. <br /> <h2> Entity synchronization</h2> <br /> The first major use case that benefits from these new tables is entity synchronization. For example, if you’re synchronizing line items on your network into a local database, you’re most likely using <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService#getLineItemsByStatement" target="_blank">LineItemService.getLineItemsByStatement</a> and hopefully taking advantage of the <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#lastModifiedDateTime" target="_blank">LineItem.lastModifiedDateTime</a> field to only filter out line items that have changed since the last time you synchronized. But even with lastModifiedDateTime, this synchronization can still take a while, depending on how many line items you have on your network, and how complex their targetings are. If you don’t need to synchronize all the fields in your line item objects, you may be able to use the Line_Item PQL table to perform this synchronization instead. <br /> <br /> If you do need to synchronize fields not yet available in the Line_Item table, such as targeting, you can still take advantage of this table for computed fields that don’t affect lastModifiedDateTime, such as <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#status" target="_blank">LineItem.status</a>. What you can do is synchronize your line items as usual with getLineItemsByStatement filtering on lastModifiedDateTime. Then update your local statuses with selected line item statuses from the Line_Item table (a very quick process):<br /> <pre>SELECT Id, Status from Line_Item LIMIT 500 OFFSET 0</pre> <h2> Match tables for reports</h2> <br /> Local copies of line item information can also be used as match tables to construct more detailed reports. Sometimes, you may want more information in your reports than what is currently available as a <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/ReportService.DimensionAttribute" target="_blank">dimensionAttribute</a>. For example, if you run a report by line item ID, you may also want other line item information like <a href="https://developers.google.com/doubleclick-publishers/docs/reference/v201311/LineItemService.LineItem#isMissingCreatives" target="_blank">isMissingCreatives</a> to show in the report. Because LineItem.isMissingCreatives is unavailable as a DimensionAttribute, you can create a local match table containing line item IDs and additional columns to be included in the report. Then you can merge this match table with the report by the line item ID to obtain a report with those additional columns. <br /> <br /> For example, let’s say you run a report with the following configuration: <br /> <pre>Dimension.LINE_ITEM_ID DimensionAttribute.LINE_ITEM_COST_TYPE Column.AD_SERVER_IMPRESSIONS</pre> The report in CSV_DUMP format looks something like this: <br /> <pre>Dimension.LINE_ITEM_ID, DimensionAttribute.LINE_ITEM_COST_TYPE, Column.AD_SERVER_IMPRESSIONS 1234567, CPM, 206 1234568, CPD, 45 1234569, CPD, 4</pre> To also include LineItem.isMissingCreatives in the report, you would fetch a match table and save it (as a CSV file for example) by retrieving ID and isMissingCreatives from the Line_Item table. <br /> <pre>SELECT Id, IsMissingCreatives from Line_Item LIMIT 500 OFFSET 0</pre> Full examples of how to fetch match tables are available in all our client libraries. For instance, Python’s is <a href="https://github.com/googleads/googleads-python-lib/blob/master/examples/adspygoogle/dfp/v201311/publisher_query_language_service/fetch_match_tables.py" target="_blank">here</a>. Then using a script or a spreadsheet program, merge the match table with the report to produce something like this: <br /> <pre>Dimension.LINE_ITEM_ID, DimensionAttribute.LINE_ITEM_COST_TYPE, Column.AD_SERVER_IMPRESSIONS, <strong>LineItem.isMissingCreatives</strong> 1234567, CPM, 206, <strong>true</strong> 1234568, CPD, 45, <strong>false</strong> 1234569, CPD, 4, <strong>false</strong></pre> If you have any questions on these new PQL tables, or suggestions on what PQL tables you want in the next release, please let us know on the <a href="https://groups.google.com/forum/?fromgroups#!forum/google-doubleclick-for-publishers-api" target="_blank">API forum</a>, or on our <a href="https://plus.google.com/+GoogleAdsDevelopers/posts" target="_blank">Google+ Developers page</a>.<br /> <br /> <span class="post-author"><a href="https://plus.google.com/u/0/112590577081306037615"><img height="20" src="https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz=20" style="border: none; vertical-align: middle;" width="20" /></a> - <a href="https://plus.google.com/u/0/112590577081306037615" rel="author">Vincent Tsao</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:New PQL tables in the DFP API&url=http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-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/2014/02/new-pql-tables-in-dfp-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/2014/02/new-pql-tables-in-dfp-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/dfp_api' rel='tag'> dfp_api </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/dfp_pql' rel='tag'> dfp_pql </a> , <a class='label' href='http://ads-developers.googleblog.com/search/label/dfp_reports' rel='tag'> dfp_reports </a> </span> </div> </div> <div class='comments' id='comments'> <a name='comments'></a> <div id='backlinks-container'> <div id='Blog1_backlinks-container'> </div> </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> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='http://ads-developers.googleblog.com/2014/02/since-joining-google-play-services-back.html' id='Blog1_blog-pager-newer-link' title='Newer Post'> <i class='material-icons'>  </i> </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://ads-developers.googleblog.com/2014/02/admob-student-challenge-best-practices.html' id='Blog1_blog-pager-older-link' title='Older Post'> <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> <a dir='ltr' href='http://ads-developers.googleblog.com/search/label/ad_exchange_rest'> ad_exchange_rest </a> </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 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/2025/'> 2025 </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/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 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/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 expanded'> <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'] = 'AOuZoY6NozMwhVVBXIqnXrjGZJUZounYrw:1740341561105';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d7815614485808579332','//ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html','7815614485808579332'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '7815614485808579332', 'title': 'Google Ads Developer Blog', 'url': 'http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html', 'canonicalUrl': 'http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html', '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\n\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/8879030312289204439/comments/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': 'item', 'postId': '8879030312289204439', 'postImageThumbnailUrl': 'https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s72-c/photo.jpg?sz\x3d20', 'postImageUrl': 'https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz\x3d20', 'pageName': 'New PQL tables in the DFP API', 'pageTitle': 'Google Ads Developer Blog: New PQL tables in the DFP API'}}, {'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': 'New PQL tables in the DFP API', 'description': ' In the recent DFP API releases, we announced the addition of more tables to the PublisherQueryLanguageService , starting with Line_Item a...', 'featuredImage': 'https://lh3.googleusercontent.com/-ZhiWbaD23FE/URUv61yO3GI/AAAAAAAAF7U/6pZfz4oD4nM/s20/photo.jpg?sz\x3d20', 'url': 'http://ads-developers.googleblog.com/2014/02/new-pql-tables-in-dfp-api.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 8879030312289204439}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, '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>