1

我需要提取一个谷歌广告报告,该报告将从固定日期(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);
}

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

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

4

2 回答 2

1

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);
}
于 2019-06-07T13:29:54.377 回答
0

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

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

    选择 ID、条件、广告组名称

    FROM KEYWORDS_PERFORMANCE_REPORT

    20190101,20190325 期间

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

    选择 ID、条件、广告组名称

    FROM KEYWORDS_PERFORMANCE_REPORT

    在 LAST_7_DAYS 期间

在您的情况下,您应该使用:

在 20190528、20190723 期间

您没有其他选择可以这样做。

于 2019-07-23T17:33:53.667 回答