MCC script - select based on account label

299 views
Skip to first unread message

lea.h...@commissionsinc.com

unread,
Oct 14, 2022, 12:21:08 PM10/14/22
to Google Ads Scripts Forum
Hello,

In the new scripts experience, how would I limit an MCC script so that it will only select accounts with a specific label name (account level label)? 

I tried
function main() {
  var accountSelector = AdsManagerApp
    .withCondition("LabelNames CONTAINS 'GS'")
  
  var accountIterator = accountSelector.get();
 while (accountIterator.hasNext()) {
   var account = accountIterator.next();

AdsManagerApp.select(account);

  var proximitySelector = AdsApp.targeting()
    .targetedProximities()
    .forDateRange("ALL_TIME")
   .orderBy("Clicks ASC");

  var campaignIterator = AdsApp.campaigns()
  .withCondition("Status = ENABLED")
  .withCondition("AdvertisingChannelType = SEARCH")
  .withCondition("Budget > 0.50")

 .withCondition("CampaignName CONTAINS_IGNORE_CASE 'Sell'")
 // .withCondition("CampaignName CONTAINS_IGNORE_CASE 'Geeksell'")
     .get();
  if (campaignIterator.hasNext()) {
   var campaign = campaignIterator.next();
    var proximityIterator = campaign.targeting().targetedProximities().get();

     var SPREADSHEET_URL = 'PASTE YOUR SHEETS URL HERE';
  // Name of the specific sheet in the spreadsheet.
  var SHEET_NAME = 'proximity targets Oct';
  var SHEET_TWO = 'Seller needs radius Oct';
  var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
  //var sheet = ss.getSheetByName(SHEET_NAME);
      var sheet = ss.getSheetByName(SHEET_TWO);
      var sheet2 = ss.getSheetByName(SHEET_NAME);
    var proxnum = proximityIterator.totalNumEntities()
   if ( proxnum == 0 ) { Logger.log(campaign.getId());
                           sheet.appendRow([campaign.getId(), campaign.getName(), account.getName(), account.getCustomerId() ]);
}

  sheet2.appendRow([campaign.getId(), campaign.getName(), account.getName(), account.getCustomerId(), proximityIterator.totalNumEntities() ]);

 }

    }
 }


and got this error message: 
TypeError: AdsManagerApp.withCondition is not a function at main (Code:11:6)


Thanks in advance for your help!

lea.h...@commissionsinc.com

unread,
Oct 14, 2022, 7:22:58 PM10/14/22
to Google Ads Scripts Forum
Hi Google Ads Scripts Team,

No need to respond - 
I found the info for including LabelName in the MCC account iterator at  https://developers.google.com/google-ads/scripts/docs/features/labels 


function main() {

  const labelName = 'GS';

const accIter = AdsManagerApp.accounts()
    .withCondition(`LabelNames CONTAINS "${labelName}"`)
    .get();
 
  while (accIter.hasNext()) {
    let account = accIter.next();
    AdsManagerApp.select(account);
    console.log(account.getName())



  var proximitySelector = AdsApp.targeting()
    .targetedProximities()
    .forDateRange("ALL_TIME")
   .orderBy("Clicks ASC");

  var campaignIterator = AdsApp.campaigns()
  .withCondition("Status = ENABLED")
  .withCondition("AdvertisingChannelType = SEARCH")
  .withCondition("Budget > 0.50")
  .withCondition("CampaignName CONTAINS_IGNORE_CASE 'Sell'")
     .get();
  if (campaignIterator.hasNext()) {
   var campaign = campaignIterator.next();
    var proximityIterator = campaign.targeting().targetedProximities().get();

     var SPREADSHEET_URL = 'PASTE YOUR GOOGLE SHEETS URL HERE';

  // Name of the specific sheet in the spreadsheet.
  var SHEET_NAME = 'proximity targets Oct';
  var SHEET_TWO = 'Campaign needs radius Oct';

Google Ads Scripts Forum Advisor

unread,
Oct 17, 2022, 1:10:50 AM10/17/22
to adwords...@googlegroups.com

Hello Leah,

I’m James from the Google Ads scripts support team. Thank you for reaching out to us.

You may also refer here for more information. If you have any further questions or concerns, please let us know. We’re here to assist you.

Regards,

Google Logo
James Howell
Google Ads Scripts Team
 


ref:_00D1U1174p._5004Q2faDnT:ref
Reply all
Reply to author
Forward
0 new messages