如何解决谷歌广告脚本
我有一个 Google Ads 脚本,如果它高于 ROAS 阈值,它会提取紧密变体关键字的表现,然后每 30 天将其导出到 Google 表格。然后,我正在寻找一种方法让脚本获取关键字和广告组数据并循环浏览表格、查找关键字并在添加关键字后返回这些关键字的质量得分。
这是我的以下代码,我正在努力从 Google 工作表添加到二维数组(因为您需要二维数组来查找关键字)。我还需要能够将数据推回工作表。有什么想法吗?
var sheets = SpreadsheetApp.openByUrl(spreadsheetUrl).getSheets();
for (i = 0; i < sheets.length; i++) {
var sheet = sheets[i];
var data_range = sheet.getDatarange();
var last_row = data_range.getLastRow();
for(var r=2;r<=last_row;r++) {
var list = [];
var keywordID = [];
var adGroupId = [];
var keywordID = data_range.getCell(r,13).getValue();
var adGroupId = data_range.getCell(r,14).getValue();
list.push([adGroupId,keywordID]);
var keywords = AdsApp.keywords().withIds(list).get();
while (keywords.hasNext()) {
var keyword = keywords.next();
var stats = [];
var stats = keyword.getQualityscore();
row_array.push(stats);
sheet.appendRow(row_array)
}
}
}
解决方法
var data_range = sheet.getDataRange();
是您的二维范围
var data = sheet.getDataRange().getValues();
是你的二维数组
您可以通过这种方式遍历数据(不需要 last_row
):
for(var r=2; r<=data.length; r++)
然后
var keywordID = data[r][13]; // or [12],I don't know
var adGroupId = data[r][14]; // or [13]
大概是这个样子
var sheets = SpreadsheetApp.openByUrl(spreadsheetUrl).getSheets();
for (i = 0; i < sheets.length; i++) {
var sheet = sheets[i];
var data = sheet.getDataRange().getValues();
for (var r = 2; r <= data.length; r++) {
var keywordID = data[r][13]; // or [12]
var adGroupId = data[r][14]; // or [13]
var keywords = AdsApp.keywords().withIds([adGroupId,keywordID]).get(); // ?
var row_array = []
while (keywords.hasNext()) {
var stats = keywords.next().getQualityScore();
row_array.push(stats);
}
sheet.appendRow(row_array);
}
}
我没有测试过,因为我没有你的数据,也不太了解任务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。