显示带有标签的帖子 追踪历史. 显示所有帖子
显示带有标签的帖子 追踪历史. 显示所有帖子

2013年2月26日,星期二

在Google电子表格中存储帐户级别的质量得分

EDIT 2013-04-22:签出此脚本的更新版本,该脚本存储 帐户,广告系列和广告组一级的质量得分.

EDIT 2013-03-18:我在.orderBy()子句中添加了DESC,以便它将印象从高到低排序。

我在读一篇关于 搜索EngineLand.com 前几天关于存储和 analyzing your 帐户级别的质量得分。

本文的作者提供了一个脚本,但是我认为我可以很容易地提出自己的版本。 在以下脚本中,我使用相同的逻辑来计算帐户一级的质量得分,但是我查看了过去30天内所有具有印象的广告系列和所有关键字。

根据您的帐户大小,这可能是太多数据 在AdWords规定的30分钟内进行分析,但是按展示次数排序应该可以使您获得展示次数最高的50000个关键字(同样,另一个AdWords限制)。

您可以在这里找到我存储数据的电子表格: //docs.google.com/spreadsheet/ccc?key=0Aotb6eheEOpodGNKMW1UWkZKekc5NWxkR3Zra3lzWVE

最好的选择是复制该工作表,擦除我的数据(标题除外),然后将新的电子表格网址复制到脚本中。如果您有多个要运行的帐户,则可以将数据存储在同一电子表格中,但可以为帐户名称添加其他标签。然后更新ACCOUNT_NAME变量,您应该已经准备就绪。

谢谢,
拉斯

/***************************************
* Store Account Level Quality Score in Google Spreadsheet.
* Version 1.1
* ChangeLog v1.1
*  - Changed ACCOUNT_NAME to SHEET_NAME and 更新d the default value.
*  - Removed getSpreadsheet function
*
* Created By: 拉斯 Savage
* Based on script originally found 在: http://goo.gl/rTHbF
* FreeAdWordsScripts.com
*********************************/
function main() {
  var SPREADSHEET_URL = "Your Spreadsheet Url Goes Here";
  var SHEET_NAME = 'Sheet1';
  var today = new Date();
  var date_str = [today.getFullYear(),(today.getMonth() + 1),today.getDate()].join("-");
  
  var 电子表格 = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
  var s_sheet = 电子表格.getSheetByName(SHEET_NAME);
  
  var kw_iter = AdWordsApp.keywords()
    .withCondition("Status = ENABLED")
    .forDateRange("LAST_30_DAYS")
    .withCondition("Impressions > 0")
    .orderBy("Impressions DESC")
    .withLimit(50000)
    .get();

  var tot_imps_weighted_qs = 0;
  var tot_imps = 0;
  
  while(kw_iter.hasNext()) {
    var kw = kw_iter.next();
    var kw_stats = kw.getStatsFor("LAST_30_DAYS");
    var imps = kw_stats.getImpressions();
    var s = kw.getQualityScore();
    tot_imps_weighted_qs += (qs * imps);
    tot_imps += imps;
  }
    
  var acct_qs = tot_imps_weighted_qs / tot_imps;
  
  s_sheet.appendRow([date_str,acct_qs]);
}