如何通过脚本停止AdWords广告系列?

时间:2015-05-27 11:36:23

标签: google-apps-script google-adwords

我有MCC帐户,我用它来管理几个AdWords帐户。 我写了一个脚本,它检查每个帐户的基本预算,然后每周检查他们花了多少钱。然后脚本会减去这些值,然后将每个数据保存到Google云端硬盘(电子表格)中。

这个脚本背后的主要想法是跟踪当前的预算,然后当某个帐户没有更多的钱时警告我。但后来我发现实际上我不需要跟踪它,因为AdWords脚本已经具有可以停止活动的功能。

所以我挖了一点,但我尝试的一切都没有用。 这是我使用的提取函数(示例):

function main() {

  var Customer = GetAccountData("XXX-XXX-XXXX");

  StopCampaigns(Customer);

  if(isCampaignRuning(Customer)){
    Logger.log("Campaign is runing !");
  }else{
    Logger.log("Campaign is STOPPED!");
  }

}

/*Helper functions */

function isCampaignRuning(account){
  MccApp.select(account);
  var campaigns = AdWordsApp.campaigns().get();
  var IsCampaignRuning = false;
  while(campaigns.hasNext()) {
    var campaign = campaigns.next();
    if(!campaign.isPaused()){
      IsCampaignRuning=true;
      break;
    }
  }
  return IsCampaignRuning;
}

function StopCampaigns(account){
  MccApp.select(account);
  var campaigns = AdWordsApp.campaigns().get();
  while(campaigns.hasNext()) {
    var campaign = campaigns.next();
    if(!campaign.isPaused()){
      campaign.pause();
    }
  }
}

function GetAccountData(id){
  var childAccounts = MccApp.accounts().withIds([id]).get();
  if(!childAccounts.hasNext()){
    return false;
  }
  var childAccount = childAccounts.next();
  return childAccount;
}

以下是控制台中发生的事情:

13:08:20.974    Campaign is runing !

在更改标签中:

Change for: (Here is campaign name)
New value (if run now): temporarily suspended
type of change: Update > Status
Current value: Active

如何正确暂停广告系列? 是否有更好的方法来跟踪当前的帐户预算?

1 个答案:

答案 0 :(得分:0)

对于任何想要寻找同一问题答案的人。 脚本本身没有问题。 "如果现在运行" - 应该说话。我正在使用" Preview"运行脚本。 在那"预览"模式脚本不会更改帐户和广告系列中的任何内容。 它只需要"运行"通常