DoubleClick Bid Manager Service

The DoubleClick Bid Manager service lets you use the DV360 Bid Manager API in Apps Script. This API provides programmatic access to DoubleClick Bid Manager (DBM) Reporting.

Reference

For detailed information on this service, see the reference documentation for the DBM Reporting API. Like all advanced services in Apps Script, the DoubleClick Bid Manager service uses the same objects, methods, and parameters as the public API. For more information, see How method signatures are determined .

To report issues and find other support, see the DBM Reporting and Trafficking support guide .

Sample code

The following sample code uses version 2 of the API.

Get a list of queries

This sample logs all of the queries available in the account.

advanced/doubleclickbidmanager.gs
 /** 
 * Logs all of the queries available in the account. 
 */ 
 function 
  
 listQueries 
 () 
  
 { 
  
 // Retrieve the list of available queries 
  
 try 
  
 { 
  
 const 
  
 queries 
  
 = 
  
 DoubleClickBidManager 
 . 
 Queries 
 . 
 list 
 (); 
  
 if 
  
 ( 
 queries 
 . 
 queries 
 ) 
  
 { 
  
 // Print out the ID and name of each 
  
 for 
  
 ( 
 let 
  
 i 
  
 = 
  
 0 
 ; 
  
 i 
 < 
 queries 
 . 
 queries 
 . 
 length 
 ; 
  
 i 
 ++ 
 ) 
  
 { 
  
 const 
  
 query 
  
 = 
  
 queries 
 . 
 queries 
 [ 
 i 
 ]; 
  
 console 
 . 
 log 
 ( 
 'Found query with ID %s and name "%s".' 
 , 
  
 query 
 . 
 queryId 
 , 
  
 query 
 . 
 metadata 
 . 
 title 
 ); 
  
 } 
  
 } 
  
 } 
  
 catch 
  
 ( 
 e 
 ) 
  
 { 
  
 // TODO (Developer) - Handle exception 
  
 console 
 . 
 log 
 ( 
 'Failed with error: %s' 
 , 
  
 e 
 . 
 error 
 ); 
  
 } 
 } 

Create and run a query

This sample creates and runs a new DBM query.

advanced/doubleclickbidmanager.gs
 /** 
 * Create and run a new DBM Query 
 */ 
 function 
  
 createAndRunQuery 
 () 
  
 { 
  
 let 
  
 result 
 ; 
  
 let 
  
 execution 
 ; 
  
 //We leave the default date range blank for the report run to 
  
 //use the value defined during query creation 
  
 let 
  
 defaultDateRange 
  
 = 
  
 {} 
  
 let 
  
 partnerId 
  
 = 
  
 "1234567" 
  
 //Replace with your Partner ID 
  
 let 
  
 query 
  
 = 
  
 { 
  
 "metadata" 
 : 
  
 { 
  
 "title" 
 : 
  
 "Apps Script Example Report" 
 , 
  
 "dataRange" 
 : 
  
 { 
  
 "range" 
 : 
  
 "YEAR_TO_DATE" 
  
 }, 
  
 "format" 
 : 
  
 "CSV" 
  
 }, 
  
 "params" 
 : 
  
 { 
  
 "type" 
 : 
  
 "STANDARD" 
 , 
  
 "groupBys" 
 : 
  
 [ 
  
 "FILTER_PARTNER" 
 , 
  
 "FILTER_PARTNER_NAME" 
 , 
  
 "FILTER_ADVERTISER" 
 , 
  
 "FILTER_ADVERTISER_NAME" 
 , 
  
 ], 
  
 "filters" 
 : 
  
 [ 
  
 { 
 "type" 
 : 
  
 "FILTER_PARTNER" 
 , 
 "value" 
 : 
  
 partnerId 
 } 
  
 ], 
  
 "metrics" 
 : 
  
 [ 
  
 "METRIC_IMPRESSIONS" 
  
 ] 
  
 }, 
  
 "schedule" 
 : 
  
 { 
  
 "frequency" 
 : 
  
 "ONE_TIME" 
  
 } 
  
 } 
  
 try 
  
 { 
  
 result 
  
 = 
  
 DoubleClickBidManager 
 . 
 Queries 
 . 
 create 
 ( 
 query 
 ); 
  
 if 
  
 ( 
 result 
 . 
 queryId 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 'Created query with ID %s and name "%s".' 
 , 
  
 result 
 . 
 queryId 
 , 
  
 result 
 . 
 metadata 
 . 
 title 
 ); 
  
 execution 
  
 = 
  
 DoubleClickBidManager 
 . 
 Queries 
 . 
 run 
 ( 
 defaultDateRange 
 , 
  
 result 
 . 
 queryId 
 ); 
  
 if 
 ( 
 execution 
 . 
 key 
 ){ 
  
 console 
 . 
 log 
 ( 
 'Created query report with query ID %s and report ID "%s".' 
 , 
  
 execution 
 . 
 key 
 . 
 queryId 
 , 
  
 execution 
 . 
 key 
 . 
 reportId 
 ); 
  
 } 
  
 } 
  
 } 
  
 catch 
  
 ( 
 e 
 ) 
  
 { 
  
 // TODO (Developer) - Handle exception 
  
 console 
 . 
 log 
 ( 
 e 
 ) 
  
 console 
 . 
 log 
 ( 
 'Failed with error: %s' 
 , 
  
 e 
 . 
 error 
 ); 
  
 } 
 } 

Fetch the most recent report for a DBM query

This sample fetches the most recent report for a DBM query and logs the content.

advanced/doubleclickbidmanager.gs
 /** 
 * Fetches a report file 
 */ 
 function 
  
 fetchReport 
 () 
  
 { 
  
 const 
  
 queryId 
  
 = 
  
 '1234567' 
 ; 
  
 // Replace with your query ID. 
  
 const 
  
 orderBy 
  
 = 
  
 "key.reportId desc" 
 ; 
  
 try 
  
 { 
  
 const 
  
 report 
  
 = 
  
 DoubleClickBidManager 
 . 
 Queries 
 . 
 Reports 
 . 
 list 
 ( 
 queryId 
 , 
  
 { 
 orderBy 
 : 
 orderBy 
 }); 
  
 if 
 ( 
 report 
 . 
 reports 
 ){ 
  
 const 
  
 firstReport 
  
 = 
  
 report 
 . 
 reports 
 [ 
 0 
 ]; 
  
 if 
 ( 
 firstReport 
 . 
 metadata 
 . 
 status 
 . 
 state 
  
 == 
  
 'DONE' 
 ){ 
  
 const 
  
 reportFile 
  
 = 
  
 UrlFetchApp 
 . 
 fetch 
 ( 
 firstReport 
 . 
 metadata 
 . 
 googleCloudStoragePath 
 ) 
  
 console 
 . 
 log 
 ( 
 "Printing report content to log..." 
 ) 
  
 console 
 . 
 log 
 ( 
 reportFile 
 . 
 getContentText 
 ()) 
  
 } 
  
 else 
 { 
  
 console 
 . 
 log 
 ( 
 "Report status is %s, and is not available for download" 
 , 
  
 firstReport 
 . 
 metadata 
 . 
 status 
 . 
 state 
 ) 
  
 } 
  
 } 
  
 } 
  
 catch 
  
 ( 
 e 
 ) 
  
 { 
  
 // TODO (Developer) - Handle exception 
  
 console 
 . 
 log 
 ( 
 e 
 ) 
  
 console 
 . 
 log 
 ( 
 'Failed with error: %s' 
 , 
  
 e 
 . 
 error 
 ); 
  
 } 
 } 
Create a Mobile Website
View Site in Mobile | Classic
Share by: