如何使用AdWords脚本在Google文档电子表格的特定单元格中填充adwords数据?

时间:2013-04-17 20:18:09

标签: google-apps-script google-sheets google-adwords

我没有编程背景,只是开始学习JavaScript基础知识,因此我可以熟练地创建自定义Google AdWords脚本,以帮助我自动化客户端报告。我花了很多时间进行反复试验,并没有想出这个问题(这对程序员来说可能非常容易):

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

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

1 个答案:

答案 0 :(得分: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;
    }
  }
}