0

我曾经account selector获得今天所有展示次数为 0 的帐户。

  var accountIterator = AdsManagerApp.accounts()
    .withCondition("Impressions = 0").forDateRange("TODAY").get();

  1. 此代码是否仅指每日最终统计数据?意思是如果这一天还没有结束,我不会得到任何结果?

我想将它用于每小时监控,并在不等待一天结束的最终统计信息的情况下获取截至目前为 0 次展示的帐户。

  1. 即使在每日统计数据最终确定之前,使用GAQL语法也会返回今天所需的帐户吗?
  var query = "SELECT customer.id, metrics.impressions, segments.hour FROM customer WHERE metrics.impressions = 0 AND segments.hour = '+nowHour+' AND segments.date = '"+nowDateStr+"'";

或者

  var query = "SELECT customer.id, metrics.impressions, segments.hour FROM customer WHERE metrics.impressions = 0 AND segments.date = '"+nowDateStr+"'";

完整代码:

function _getTodayZeroCostList() {
  var nowDate = new Date();
  var nowHour = nowDate.getUTCHours();
  var nowDateStr = getDateStringInTimeZone(nowDate, 'yyyy-MM-dd');
  var query = "SELECT customer.id, metrics.impressions, segments.hour, customer.descriptive_name, customer.resource_name FROM customer WHERE metrics.impressions = 0 AND segments.date = '"+nowDateStr+"'";
  //Logger.log("query "+ query);
  var lastOurZeroImpressions = AdsApp.report( query, { apiVersion: 'v9' });
  var rows = lastOurZeroImpressions.rows();
  var accounts = [];
  while (rows.hasNext()) {
    var row = rows.next();
    Logger.log(JSON.stringify(row));
    accounts = accounts.push(row["customer.id"]+" "+row["customer.descriptive_name"]);
  }
  return accounts;
}

4

0 回答 0