0

我有一个 Google Ads 脚本,如果它高于 ROAS 阈值,它会拉动紧密变体关键字的性能,然后每 30 天将其导出到 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)  
                     }

        }
            } 
    
4

1 回答 1

0

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);
  }
}

我没有测试它,因为我没有你的数据并且不太了解这项任务。

于 2021-07-06T10:20:02.707 回答