我没有编程背景,只是开始学习JavaScript基础知识,因此我可以熟练地创建自定义Google AdWords脚本,以帮助我自动化客户端报告。我花了很多时间进行反复试验,并没有想出这个问题(这对程序员来说可能非常容易):
我正在尝试使用帐户级数据填充我所做的电子表格(这里是缩短的链接:http://goo.gl/wLAAx),以便我可以计算帐户的运行率。我要做的就是运行一个脚本,该脚本每天早上会在昨天的日期在电子表格中添加一个新行,并填充各自的数据,如点击次数,展示次数,费用和转化次数。
提前感谢您提供任何帮助和信息!
答案 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;
}
}
}