Scripts are a useful tool for managing your Google and Microsoft Ads accounts. They allow you to automate account activity, track metrics, and schedule changes in your accounts.

Working at the account level can be restrictive when working across accounts. MCC level scripts provide a solution for handling many accounts. This allows you to scale further and work more efficiently.

In this article, we’ll cover how to work through the AdsManagerApp, formerly the MccApp. We’ll cover how to use it and how you can adapt single account scripts to the MCC level. It is a straightforward process. If you’ve worked with filters before you have almost all the knowledge you need!

How the AdsManagerApp works

AdsManagerApp is your connection to the MCC API. It provides the functionality to select, filter, and iterate through your connected accounts. In order to use the AdsManagerApp, you’ll need to work at the MCC level. If you try to use it at the single account level you will receive an error.

At its core, the AdsManagerApp functions like the account level iterators. If you’ve worked with campaigns or ads iterators you’ll quickly understand the workflow.


Select account(s) > load account(s) > perform action in account

The main difference is that selecting accounts operates up one level up. You work directly with account objects rather than the contents of an account.
This seems to be the most common tripping point. You can’t

Using the AdsManagerApp

The first step is to select the desired accounts. You can use a filter via withCondition() or leave it off to select all accounts.

Select all accounts containing “United States”
Select all accounts in MCC

Once you’ve selected your accounts you can iterate through them. Each iteration will select the next account via select(). Once an individual account is selected you can run whatever code you’d like. Exact as if you were working in an individual account.

In the example below, we iterate through accounts and export a report. We select each account, pull the name, create a new spreadsheet to save our report, then export the data to the sheet.

The script above is a modified version from a study on demographic information in Google Ads. If you’d like to see the output and the results you can take a look at the full post, Demographic data post.

Next Steps

The example above was a simple example without many nuances. For more specific use cases you can also select accounts by matching to a list of IDs or names.

Recently an account team needed to update individual campaign URL templates across a range of accounts. In order to facilitate this, we set up the MCC script to pull in a list of accounts, campaigns, and templates from a spreadsheet.

Select accounts and associated campaigns

The data was loaded from the sheet and formatted into key value pairs. We iterated through the accounts. If the account had an entry in the “to change” list, we selected the account and used the name as a key from our to change list. From there it was as simple as filtering campaigns and inserting the new template for each one.

It’s unlikely that this exact script will be of use to you. It can help you bridge the gap to your own solution. Oftentimes scaling up isn’t a feat of strength or skill but having a stepping stone to the next step.