Rapports

Créer un rapport sous forme de texte

function runReport() {
 
// Google Ads reports return data faster than campaign management methods
 
//   and can be used to retrieve basic structural information on
 
//   your Account, Campaigns, AdGroups, Ads, Keywords, etc. You can refer to
 
//   https://developers.google.com/google-ads/api/docs/reporting/overview
 
//   for more details.

 
// See https://developers.google.com/google-ads/api/fields/latest/overview#list-of-all-resources
 
//   for all the supported report types.
 
// See https://developers.google.com/google-ads/api/docs/query/overview for
 
//   details on how to use GAQL, the query language for reports.
 
// See https://developers.google.com/google-ads/api/docs/reporting/uireports
 
//   for details on how to map an Google Ads UI feature to the corresponding
 
//   reporting API feature.
 
const searchResults = AdsApp.search(
     
'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +
     
'FROM   campaign ' +
     
'WHERE  metrics.impressions < 10 ' +
     
' AND   segments.date DURING LAST_30_DAYS');

 
for (const row of searchResults) {
   
const campaignName = row.campaign.name;
   
const clicks = row.metrics.clicks;
   
const impressions = row.metrics.impressions;
   
const cost = row.metrics.costMicros;
    console
.log(`${campaignName}, ${clicks}, ${impressions}, ${cost}`);
 
}
}

Créer un rapport sous forme de feuille de calcul

function exportReportToSpreadsheet() {
 
const spreadsheet = SpreadsheetApp.create('INSERT_REPORT_NAME_HERE');
 
const report = AdsApp.report(
     
'SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros ' +
     
'FROM   campaign ' +
     
'WHERE  metrics.impressions < 10 ' +
     
' AND   segments.date DURING LAST_30_DAYS');
  report
.exportToSheet(spreadsheet.getActiveSheet());
}

Filtrer les entités par libellé

function filterReportByLabelIds() {
 
const label = AdsApp.labels().withCondition(
     
"label.name = 'High performance campaigns'").get().next();
 
const query = `SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.cost_micros from ` +
     
`campaign WHERE campaign.labels CONTAINS ANY ` +
     
`[${label.getResourceName()}] AND segments.date DURING THIS_MONTH';

  const report = AdsApp.report(query);

  for (const row of report.rows()) {
    const campaignName = row['campaign.name'];
    const clicks = row['metrics.clicks'];
    const impressions = row['metrics.impressions'];
    const cost = row['metrics.cost_micros'];
    Logger.log(`
${campaignName}, ${clicks}, ${impressions}, ${cost}`);
  }
}