Google 广告脚本 (AWQL) 获取报告的自定义日期范围

Google Ads Script (AWQL) get custom date range for reporting

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

我试过谷歌搜索和阅读 google 文档,但我无法弄明白

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);
}

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

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

TODAY 关键字充当 DURING 属性 的 "full range",不能用作结束部分(据我所知)。以下应该有效。

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);
}

报告的日期范围在查询的 DURING 子句中定义。可以通过两种不同的方式指定日期范围:

  1. 使用常规 AWQL 语法的自定义日期范围,例如:

    SELECT ID、条件、AdGroupName

    来自 KEYWORDS_PERFORMANCE_REPORT

    20190101、20190325 期间

  2. 日期范围类型,例如:

    SELECT ID、条件、AdGroupName

    来自 KEYWORDS_PERFORMANCE_REPORT

    在 LAST_7_DAYS

  3. 期间

在你的情况下你应该使用:

20190528、20190723 期间

您别无选择。