2017年12月18日,星期一

自动排除具有特定域的展示位置

AdWords使广告客户可以在展示广告网络(GDN)上展示广告,并且可以通过多种方式将广告定位为在特定域上展示或排除特定域,但是广告客户没有通配符展示位置排除功能。 

因此,如果您想在所有相关的展示位置上展示广告, 带有波兰网域扩展名(.pl)或.org等扩展名的广告,您需要监控自动展示位置,并在每次看到带有该扩展名的广告时添加排除项。

使用以下脚本,可以在域包含特定字符串时自动排除展示位置。

每天或每周在您的AdWords帐户中运行一次此操作,以防止不必要的展示位置产生过多的点击。

请享用!
弗雷德里克·瓦莱
Optmyzr.com联合创始人




2017年12月7日星期四

当关键字或产品组花费过多时得到提醒

AdWords中的自动规则非常适合在支出过多而未进行足够转化时设置警报。但是很遗憾,这些自动规则每天只能运行一次,因此,如果您希望在关键字或产品组超过阈值后立即收到通知,则它们并不是很有用。

因此,这是一个简单的脚本,用于查询已超过特定费用金额且显示的转化次数少于指定金额的关键字或产品组。

然后,它将警报列表通过电子邮件发送给用户。该电子邮件可以包含指向AdWords的深层链接,以使查找和解决问题变得非常容易。如果有关设置currentSetting.customerId,currentSetting.effectiveUserId和currentSetting.ocid的说明使您感到困惑,请查看Russ先前的一篇文章,其中解释了 深入链接到AdWords中的广告组 更详细地。

谢谢,
弗雷德·瓦莱


2017年10月9日星期一

将AdWords超额投放限制为任意数量


Google宣布,现在的每日预算将可以超额投放100%,而不是自AdWords成立以来的20%。

通过超额投放,Google可以通过在大量交易日上花费更多的资金来弥补缓慢的交易日,从而帮助广告客户达到每月预算目标。他们假设广告客户将每月预算除以30.4,并将其设置为每日预算。然后,当周六和周日的访问量可能不多时,Google可能会超出周一和周二的每日预算,此时可能会有更多人在寻找广告客户的销售内容。

这是Google的公告:


要真正控制预算以他们所需的方式,您可能需要使用工具,自动化工具和AdWords脚本。这是一个非常基本的脚本,可让您对广告系列实施更严格的超额投放。该脚本假定您的每日预算是您要交付的预算的基准。使用设置“ allowedOverdeliveryPercentage”通过设置0%到100%之间的值来控制当天的最高支出。该脚本会获取每个活动广告系列的每日预算和当日的应计费用。如果费用超过每日预算 +允许的超额投放百分比,它将标记该广告系列并暂停它。

重要笔记:
  • 请记住,在每天的第一小时内使用另一种自动化方法重新启用所有已暂停的广告系列。您可以查找具有脚本设置标签的广告系列,然后重新启用它们。 
  • 该脚本每小时可以运行一次,因此您可能仍会超过总费用,直到下一次脚本运行为止。 
  • 该脚本不处理共享预算。
  • 该脚本不涉及购物和视频广告系列。使其真正适用于这些人非常简单,您只需更新广告系列调用以使用视频和 购物方式 获取广告系列。
如果您需要更好地控制预算,并且不想进行任何编码,请考虑将我们的预构建脚本作为 Optmyzr 订阅(Optmyzr是我的公司)。



/******************************************
*
* Version 1.0 
* Created By: 弗雷德里克·瓦莱
* FreeAdWordsScripts.com
******************************************/
function main() {
  
  var allowedOverdeliveryPercentage = 0.2; // set percentage as decimal, i.e. 20% should be set as 0.2
  var 标签Name = "暂停d by overdelivery checker script";
  
  AdWordsApp.createLabel(labelName, "automatic 标签 needed to reenable 运动s");
  
  var 运动s = AdWordsApp.campaigns()
   .withCondition("Status = ENABLED")
   .withCondition("Cost > 0")
   .forDateRange("TODAY");
  
  var 运动Iterator = 运动s.get();
  
  while (campaignIterator.hasNext()) {
    var 运动 = 运动Iterator.next();
    var 运动Name = 运动.getName();
    var 预算Amount = 运动.getBudget().getAmount();
    var costToday = 运动.getStatsFor("TODAY").getCost();
    
    if(costToday > 预算Amount * (1 + allowedOverdeliveryPercentage)) {
      Logger.log(campaignName + " has spent " + costToday + " which is more than allowed.");
      运动.applyLabel(labelName);
      运动.pause();
    } else {
      Logger.log(campaignName + " has spent " + costToday + " and can continue to run.");
    }
  }

}

2017年10月1日星期日

当AdWords API更改时如何保持AdWords脚本运行



Google会定期使用最新功能更新AdWords API。虽然不必等待太久才能获得新功能,但是它也有一个缺点:AdWords脚本可能会在脚本转换为使用较新版本的API的那一天停止工作。

原因是新的API版本可能会重命名或删除指标和属性。未使用这些最新名称更新的AdWords脚本将停止工作。 

你可以找到 此处发布新API版本的日期 表格看起来像这样:


发布日期并不总是AdWords脚本开始使用较新版本的日期。因此,确保您编写的脚本可以继续工作是非常棘手的。 

幸运的是,有一个解决方案,它很简单,只需包含可选的apiVersion参数,告诉脚本应使用哪个API版本。 

没有API版本的报告调用: 
var report2 = AdWordsApp.report(
     'SELECT AdGroupId, Id, KeywordText, Impressions, Clicks ' +
     'FROM   KEYWORDS_PERFORMANCE_REPORT ' +
     'DURING 20130101,20130301');
以及与API版本相同的调用:
var report2 = AdWordsApp.report(
     'SELECT AdGroupId, Id, KeywordText, Impressions, Clicks ' +
     'FROM   KEYWORDS_PERFORMANCE_REPORT ' +
     'DURING 20130101,20130301', {
       apiVersion: 'v201605'
     });

通过告诉脚本使用哪个API版本,您可以确保它在Google将默认值切换为新版本的那一天将继续工作,因为您现在可以控制告诉脚本的开关何时更新了代码并应开始使用新的API版本。

您仍然需要在某个时候进行迁移,但是您将需要几个月的时间来进行迁移。上表中的日落日期表示脚本可以使用特定API版本的最后一天。在该日期之后,旧版本将停止工作。

请注意,您不必遍历每个API版本。如果您不需要某个版本的功能,则完全可以跳过该版本。例如,假设您正在使用v201609。由于它要到2017年10月2日才到期,因此您可以等待2017年8月9日发布v201708,而跳过这两个API版本。

Optmyzr增强脚本库中的脚本会为我们的用户自动处理所有这些API转换,因此,如果您不想处理API版本,可以尝试一下。 (Optmyzr是我的雇主)