谢谢,
拉斯
//----------------------------------- // 合并多个广告系列中的标签 // Created By: 拉斯 Savage // FreeAdWordsScripts.com //----------------------------------- var DESTINATION_CAMPAIGN_NAME = "Destination Campaign Name"; var ORIGIN_CAMPAIGN_NAMES = ["Origin Campaign Name 1","Origin Campaign Name 2"]; function main() { var 标签 _iter = AdWordsApp.labels().get(); while(label_iter.hasNext()) { var 标签 = 标签 _iter.next(); //Pre-build all the iterators var iters = [ 标签 .campaigns().withCondition("Name IN ['"+ORIGIN_CAMPAIGN_NAMES.join("','")+"']").get(), 标签 .adGroups().withCondition("CampaignName IN ['"+ORIGIN_CAMPAIGN_NAMES.join("','")+"']").get(), 标签 .ads().withCondition("CampaignName IN ['"+ORIGIN_CAMPAIGN_NAMES.join("','")+"']").get(), 标签 .keywords().withCondition("CampaignName IN ['"+ORIGIN_CAMPAIGN_NAMES.join("','")+"']").get() ]; for(var i in iters) { var iter = iters[i]; while(iter.hasNext()) { _copyLabels(iter.next()); } } } } //Copies the 标签 from 实体 in Origin 运动 //to 实体 with the same name in dest 运动 function _copyLabels(entity) { var iter; if(_getEntityType(entity) == "Campaign") { // it's a 运动 iter = AdWordsApp.campaigns() .withCondition("Name = '"+DESTINATION_CAMPAIGN_NAME+"'") .get(); } else if(_getEntityType(entity) == "AdGroup") { // it's an 广告群组 iter = AdWordsApp.adGroups() .withCondition("CampaignName = '"+DESTINATION_CAMPAIGN_NAME+"'") .withCondition("Name = '"+entity.getName()+"'") .get(); } else if(_getEntityType(entity) == "Ad") { // it's an 广告 iter = AdWordsApp.ads() .withCondition("CampaignName = '"+DESTINATION_CAMPAIGN_NAME+"'") .withCondition("AdGroupName = '"+entity.getAdGroup().getName()+"'") .withCondition("Headline = '"+entity.getHeadline()+"'") .withCondition("Description1 = '"+entity.getDescription1()+"'") .withCondition("Description2 = '"+entity.getDescription2()+"'") .withCondition("DisplayUrl = '"+entity.getDisplayUrl()+"'") .get(); } else if(_getEntityType(entity) == "Keyword") { // it's a 关键词 iter = AdWordsApp.keywords() .withCondition("CampaignName = '"+DESTINATION_CAMPAIGN_NAME+"'") .withCondition("AdGroupName = '"+entity.getAdGroup().getName()+"'") .withCondition("Text = '"+entity.getText()+"'") .withCondition("KeywordMatchType = '"+entity.getMatchType()+"'") .get(); } while(iter.hasNext()) { _copyLabelsHelper(entity,iter.next()); } } //Copy the 标签 form orig 实体 to dest 实体 function _copyLabelsHelper(orig,dest) { var 标签 _iter = orig.labels().get(); while(label_iter.hasNext()) { dest.applyLabel(label_iter.next().getName()); } } //Returns a text representation of an 实体 //For a better way, check: http://goo.gl/kZL3X function _getEntityType(obj) { if(typeof(obj['getCampaign']) == "undefined") { return 'Campaign'; } if(typeof(obj['getAdGroup']) == "undefined") { return 'AdGroup'; } if(typeof(obj['getHeadline']) != "undefined") { return "Ad"; } if(typeof(obj['getText']) != "undefined") { return "Keyword"; } return null; }