0

我没有编程背景,刚开始学习 JavaScript 基础知识,因此我可以流利地创建自定义 Google AdWords 脚本来帮助我自动化客户报告。我花了很多时间反复试验,但还没有弄清楚这个问题(这对程序员来说可能超级容易):

我正在尝试使用帐户级别数据填充我制作的电子表格(这是缩短的链接:http: //goo.gl/wLAAx),以便我可以计算帐户的运行率。我要做的就是运行一个每天早上运行的脚本,该脚本将在电子表格中添加一个新行,其中包含昨天的日期,并填充其各自的数据,如点击次数、展示次数、费用和转化次数。

提前感谢您的任何帮助和信息!

4

1 回答 1

1

这是一个可以执行您想要的操作的脚本(它使用稍微不同的电子表格,请查看)。此外,该脚本仅读取电子表格中的前 365 行,因此它会在一年内中断。

将来,您可能需要查看https://developers.google.com/adwords/scripts以获取面向脚本的资源和社区

function main() {
  var sheet = SpreadsheetApp.openByUrl(
    "https://docs.google.com/spreadsheet/ccc?key=0Aj_Bw31w9s7LdEdLMllQMnZfbW52c3BvcTh0ekVBQ3c#gid=0").getActiveSheet();
  var emptyRow = findEmptyRow(sheet);

  var yesterday = new Date(new Date().getTime() - (24 * 3600 * 1000));

  var range = sheet.getRange(emptyRow + 1, 1, 1, 10);

  var row = range.getValues();
  row[0][0] = yesterday;
  row[0][1] = MONTHS[yesterday.getMonth()];
  row[0][2] = DAYS_OF_WEEK[yesterday.getDay()];

  var stats = AdWordsApp.report("SELECT Clicks, Impressions, Cost, Conversions " +
    "FROM ACCOUNT_PERFORMANCE_REPORT DURING YESTERDAY")
    .rows()
    .next();
  row[0][3] = stats["Clicks"];
  row[0][4] = stats["Impressions"];
  row[0][7] = stats["Cost"];
  row[0][8] = stats["Conversions"];
  range.setValues(row);
}

function findEmptyRow(sheet) {
  var dates = sheet.getRange(1, 1, 365, 1).getValues();
  for (var emptyDate = 0; emptyDate < dates.length; emptyDate ++) {
    if (dates[emptyDate][0].length == 0) {
      return emptyDate;
    }
  }
}
于 2013-04-22T21:21:30.193 回答