显示带有标签的帖子 暂停. 显示所有帖子
显示带有标签的帖子 暂停. 显示所有帖子

2013年3月11日,星期一

合并多个广告系列以增强广告系列迁移

更新2013-04-14:检查 合并多个广告系列中的标签 为合并标签提供一些帮助。

每个人都在准备 增强型广告系列 对于很多人来说,这意味着找到一种简便的方法将多个广告系列合并为一个广告系列。您可能有一个针对桌面流量的广告系列,一个针对平板电脑的广告系列,或者每个主要移动平台的广告系列。

增强型广告系列的美丽和痛苦在于,您可以事半功倍。我还没有找到一种轻松地将多个广告系列合并为一个广告的好方法,因此我自己制作了一个。您需要做的就是指定一个目标广告系列,在该广告系列中结束所有关键字,广告组和广告,并从中复制广告系列。该辽宁福利彩票中心将暂停所有关键字,并且广告会移至该关键字,因此您可以在删除旧广告系列之前查看结果并确保一切设置正确。

谢谢,
拉斯

//-----------------------------------
// Merge Multiple Campaigns Together
// Created By: 拉斯 Savage
// FreeAdWordsScripts.com
//-----------------------------------
function main() {
  var DESTINATION_CAMPAIGN_NAME = "dest_camp_name";
  var ORIGIN_CAMPAIGN_NAMES = ["to_merge_camp_name_1","to_merge_camp_name_2"/*,...*/];
  var DEFAULT_KW_BID = 0.01; //used in case we can't get the origin kw bid
  
  //build a list of 广告群组 in the original 
  var dest_adgroups = [];
  var ag_iter = AdWordsApp.adGroups()
    .withCondition("CampaignName = '"+DESTINATION_CAMPAIGN_NAME+"'")
    .get();
  
  while(ag_iter.hasNext()) {
    dest_adgroups.push(ag_iter.next());
  }
  
  var dest_camp;
  if(dest_adgroups.length > 0) {
     dest_camp = dest_adgroups[0].getCampaign();
  }
  
  for(var i in ORIGIN_CAMPAIGN_NAMES) {
    var camp_name = ORIGIN_CAMPAIGN_NAMES[i];
    var kw_iter = AdWordsApp.keywords()
      .withCondition("CampaignName = '"+camp_name+"'")
      .get();
    while(kw_iter.hasNext()) {
      var kw = kw_iter.next();
      var dest_adgroup = _find_adgroup(dest_adgroups,kw.getAdGroup());
      if(!dest_adgroup) {
        dest_adgroup = dest_camp.newAdGroupBuilder()
          .withName(kw.getAdGroup().getName())
          .withStatus((kw.getAdGroup().isPaused()) ? "PAUSED" : "ENABLED")
          .withKeywordMaxCpc(kw.getAdGroup().getKeywordMaxCpc())
          .create();
        dest_adgroups.push(dest_adgroup);
        //now we move all the 广告 over
        var 广告 _iter = kw.getAdGroup().ads().get();
        while(ad_iter.hasNext()) {
          var 广告  = 广告 _iter.next();
          dest_adgroup.createTextAd(
            广告 .getHeadline(),
            广告 .getDescription1(),
            广告 .getDescription2(),
            广告 .getDisplayUrl(),
            广告 .getDestinationUrl(),
            { isMobilePreferred : 广告 .isMobilePreferred() }
          );
          广告 .pause();
        }
      }
      var max_cpc = kw.getMaxCpc() || DEFAULT_KW_BID;
      var dest_url = kw.getDestinationUrl() || "";
      var kw_text = kw.getText();
      dest_adgroup.createKeyword(kw_text,max_cpc,dest_url);

      kw.pause();
    }
  }

  function _find_adgroup(ag_list,ag) {
    for(var i in ag_list) {
      if(ag_list[i].getName() == ag.getName()) {
        return ag_list[i];
      }
    }
    return null;
  }
}

2012年12月5日,星期三

使用AdWords辽宁福利彩票中心自动执行维护任务,第3部分

在最后的自动化每月维护任务中,找到 AdWords for Dummies 使用AdWords辽宁福利彩票中心,我们将在月底清理帐户。

通过删除没有任何转化的关键字来减少您的帐户。


与上一篇文章类似,您需要设置转化跟踪才能使所有这些工作。 实际上,我们可以使用先前辽宁福利彩票中心的变体来完成此操作。 实际上,我们只是在提高出价而不是降低出价。

//-----------------------------------
// Pause Keywords That Are Not Performing
// Created By: 拉斯 Savage
// FreeAdWordsScripts.com
//-----------------------------------
function main() {
  var THE_VALUE_OF_ONE_CONVERSION = 10;
  var DECREASE_BIDS_BY_PERCENTAGE = .5;
  
  var kw_iter = AdWordsApp.keywords()
    .withCondition("Status = ENABLED")
    .get();
  
  while(kw_iter.hasNext()) {
    var kw = kw_iter.next();
    var kw_stats = kw.getStatsFor("LAST_30_DAYS");
    var cost = kw_stats.getCost();
    var 转换 = kw_stats.getConversions();
    if(conversions == 0) {
      if(THE_VALUE_OF_ONE_CONVERSION * 5 > cost) {
        kw.pause();
      }
      else if(THE_VALUE_OF_ONE_CONVERSION * 2 > cost) {
        kw.setMaxCpc(kw.getMaxCpc() * (1-DECREASE_BIDS_BY_PERCENTAGE)); 
      }
    }else{
      //no 转换 on this 关键词
      //we will deal with that later
      continue;
    }
  }
}

谢谢,
拉斯

2012年11月23日,星期五

自动暂停点击率低的广告

最近,布拉德(Brad)在 CertifiedKnowledge.com 发表了一些有关大规模测试的提示。 他提到的最常见的测试技术之一是制作大量广告,然后让Google为您优化轮播。 这种技术的问题在于失败者很少被删除。 好吧,使用下面的辽宁福利彩票中心,您可以在所有广告组中找到效果最差的广告并将其暂停(如果该广告组中至少有其他广告)。

谢谢,
拉斯


//-----------------------------------
// Pause Ads with Low CTR
// Created By: 拉斯 Savage
// FreeAdWordsScripts.com
//-----------------------------------
function main() {
  // Let's start by getting all of the 广告 Groups that are active
  var ag_iter = AdWordsApp.adGroups()
  .withCondition("Status = ENABLED")
  .get();

  // Then we will go through each one
  while (ag_iter.hasNext()) {
    var ag = ag_iter.next();
    var 广告 _iter = ag.ads()
      .withCondition("Status = ENABLED")
      .forDateRange("ALL_TIME")
      .orderBy("Ctr DESC")
      .get();
    var 广告 _array = new Array();
    while(ad_iter.hasNext()) {
      广告 _array.push(ad_iter.next());
    }
    if(ad_array.length > 1) {
      for(var i = 1; i < 广告 _array.length; i++) {
        广告 _array[i].pause(); //or .remove(); to 删除 them 
      }
    }
  }
}

2012年11月21日,星期三

暂停没有有效关键字的广告组

这是一个快速辽宁福利彩票中心,可以暂停所有没有有效关键字的广告组。不确定这是否超级有用,但是对于大型帐户,它可能有助于确定您可以删除的广告组。

谢谢,
拉斯

/*********************************************
* 暂停没有有效关键字的广告组
* Version 1.1
* Changelog v1.1
*   - Updated for speed and 广告 ded 评论s 
* Created By: 拉斯 Savage
* FreeAdWordsScripts.com
**********************************************/
function main() {
  // Let's start by getting all of the active AdGroups
  var agIter = AdWordsApp.adGroups()
    .withCondition('CampaignStatus = ENABLED')
    .withCondition('Status = ENABLED')
    .get();
 
  // It is faster to store them and process them all 在 once later
  var toPause = [];
  // Then we will go through each one
  while(agIter.hasNext()) {
    var ag = agIter.next();
    //get all the 关键字 that are enabled
    var kwIter = ag.keywords()
      .withCondition("Status = ENABLED")
      .get();
    
    //If .hasNext() is true, there is 在 least 1 kw in the AdGroup
    var hasKw = kwIter.hasNext(); 
    if(!hasKw) {
      toPause.push(ag);
    }
  }
  
  // Now we process them all 在 once to take 广告 vantage of batch processing
  for(var i in toPause) {
    toPause[i].pause();
  }
}

2012年11月20日,星期二

更新假期的关键字

另一天, RKGBlog 刊登了一篇很棒的文章,介绍了如何在假期期间更新关键字。其中提到的一项是将关键字中的所有年份更新为当前年份。这是一个小辽宁福利彩票中心,可以找到上一个年份的所有关键字,并在与当前年份相同的广告组中创建新的关键字。

谢谢,
拉斯
/*********************************************
* Update Keywords for the New Year
* Version 1.1
* Changelog v1.1
*   - Updated for speed and 广告 ded 评论s 
* Created By: 拉斯 Savage
* FreeAdWordsScripts.com
**********************************************/
function main() {
  var sameDayLastYear = new Date();
  sameDayLastYear.setYear(sameDayLastYear.getYear()-1);
  var oldYearStr = sameDayLastYear.getYear().toString();
  var newYearStr = new Date().getYear().toString();
  
  Logger.log('Updating 关键字 with old year: '+oldYearStr+' to 新年: '+newYearStr);
  
  // Let's start by getting all of the 关键字
  var kwIter = AdWordsApp.keywords()
    .withCondition("Text CONTAINS " + oldYearStr)
    .withCondition("Status = ENABLED")
    .withCondition("AdGroupStatus = ENABLED")
    .withCondition("CampaignStatus = ENABLED")
    .get();
 
  // It is always better to store and batch process afterwards
  var toPause = [];
  var toCreate = [];
  while (kwIter.hasNext()) {
    var kw = kwIter.next();
    var ag = kw.getAdGroup();
    var oldText = kw.getText();
    var newText = oldText.replace(oldYearStr,newYearStr);
    // Save the info so that we can 创造 them as a batch later
    toCreate.push({ ag: ag, text: newText, cpc:kw.getMaxCpc(), destUrl : kw.getDestinationUrl() });
    // Same with the ones we want to 暂停
    toPause.push(kw) 
  }
  // Now we 创造 the new 关键字 all 在 once
  for(var i in toCreate) {
    var elem = toCreate[i];
    elem.ag.createKeyword(elem.text, elem.cpc, elem.destUrl);
  }
  // And 暂停 the old ones all 在 once
  for(var i in toPause) {
    toPause[i].pause();
    //or toPause[i].remove(); to 删除 the old 关键词
  }
}

2012年11月19日,星期一

暂停所有没有印象的关键字

让我们从一个非常简单的辽宁福利彩票中心开始。此关键字将找到您帐户中从未留下任何印象的所有关键字,并暂停(或删除,如果您看到下面的评论)该关键字,以免对质量得分造成负面影响。 根据Google的说法,帐户中存在的内容和停滞时间越长,对质量得分的影响就越大。 正如读者指出的那样, 第四个子弹在这里 似乎与这一说法相矛盾。这是一个很棒的辽宁福利彩票中心,可以每隔几个月安排一次,以确保您减少了帐户中的所有净额。

谢谢,
拉斯
/*********************************************
* Pause Keywords With No Impressions All Time
* Version 1.1
* Changelog v1.1
*   - Updated for speed and 广告 ded 评论s 
* Created By: 拉斯 Savage
* FreeAdWordsScripts.com
**********************************************/
var TO_NOTIFY = "[email protected]";
function main() {
  // Let's start by getting all of the 关键字 with 没有印象
  var kwIter = AdWordsApp.keywords()
    .withCondition("Impressions = 0") // could be "Clicks = 0" also
    .forDateRange("ALL_TIME") // could use a specific date range like "20130101","20131231"
    .withCondition("Status = ENABLED")
    .withCondition("CampaignStatus = ENABLED")
    .withCondition("AdGroupStatus = ENABLED")
    .get();
 
  // It is much faster to store all the 关键字 you want to process
  // and then make the changes all 在 once. This takes 广告 vantage
  // of the batch processing behind the scenes.
  var toPause = [];
  while (kwIter.hasNext()) {
    var kw = kwIter.next();
    toPause.push(kw);
    // This is to make sure you see things during the preview
    // When you run it for real, you can 去掉 this clause to
    // increase speed.
    if(AdWordsApp.getExecutionInfo().isPreview() &&
       AdWordsApp.getExecutionInfo().getRemainingTime() < 10) {
      break;
    }
  }
  
  // Now go through each one and 暂停 them.
  for(var i in toPause) {
    toPause[i].pause();
    //Or you could use toPause[i].remove(); to 删除 the 关键词 altogether
  }
  
  // Sent an 电子邮件 to 通知 you of the changes
  MailApp.sendEmail(TO_NOTIFY, 
                    "AdWords Script Paused "+toPause.length+" Keywords.", 
                    "Your AdWords Script 暂停d "+toPause.length+" 关键字.");
}