首页 > 解决方案 > Google Ads 脚本 (AWQL) 获取报告的自定义日期范围

问题描述

我需要提取一个谷歌广告报告,该报告将从固定日期(5 月 28 日)到今天获取数据并将数据推送到电子表格。我不知道如何定义这个查询的日期范围

我试过谷歌搜索并阅读谷歌文档,但我无法弄清楚

function main() {
  var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/XXX');
  var sheet = spreadsheet.getSheetByName('Data')  
  var report = AdsApp.report(
    'SELECT Date, CampaignName, AverageFrequency, Impressions, ImpressionReach ' +
    'FROM   CAMPAIGN_PERFORMANCE_REPORT ' +
    'WHERE  Impressions > 0 ' +
    'DURING 20190528,TODAY');

  sheet.clearContents();
  report.exportToSheet(sheet);
}

我需要使用今天作为结束日期而不是活动结束日期作为此查询的结束日期,因为我试图将频率作为一个指标,如果结束日期在未来,它将只显示空白值。

如果有办法使查询工作,请告诉我。谢谢!

标签: google-ads-apiawql

解决方案


TODAY 关键字充当 DURING 属性的“全范围”,不能用作结束部分(据我所知)。以下应该工作。

function main() {
    var endDate = new Date();
    var endRange = Utilities.formatDate(endDate, 'America/Chicago', 'YYYYMMdd');

    var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/XXX');
    var sheet = spreadsheet.getSheetByName('Data')  
    var report = AdsApp.report(
        'SELECT Date, CampaignName, AverageFrequency, Impressions, ImpressionReach ' +
        'FROM   CAMPAIGN_PERFORMANCE_REPORT ' +
        'WHERE  Impressions > 0 ' +
        'DURING 20190528,' + endRange);

    sheet.clearContents();
    report.exportToSheet(sheet);
}

推荐阅读