Tag Archives: Mcc scripts

Advanced Budgets - Pause When Things Spend Too Much


Get more control over how much you spend on AdWords with this Enhanced Script.

Maintain your own advanced budgets:

  • Set budgets for campaigns, ad groups, keywords, or ad texts.
  • Set budgets for monthly, weekly or daily periods.
  • Pause items when their cost exceeds the maximum budget you specified.
  • Re-enable paused items when a new budget period starts.
  • Get notifications via email when changes are made or when an account exceeds a total cost for the period.

How It Works

  • The script can check all items at the selected level of the account:
    • the entire account
    • all enabled campaigns
    • all enabled ad groups
    • all enabled keywords
    • all enabled ad texts
  • The script can also be configured to check only those items from the above list that have an AdWords label that you've created.
  • The script checks if the cost for any item exceeds the maximum allowed during the current budget period.
  • When the cost of an item exceeds the maximum amount, the item is labeled and paused.
  • When the script runs during the first hour of the start of a new budget period, it re-enables any paused items with the label that was added when the script paused the item.
  • The script sends an email when items are paused or re-enabled.
  • If the script is used to check the cost for an entire account, it will only send a notification email when the cost exceeds the allowed amount. It does NOT pause the account. It will continue to send the warning email until there are no active campaigns in the account or until the next budget period starts.
  • The script has been tested to work with the following campaign and ad group types: search, display, shopping.

Example Use Cases

Send yourself an email when the cost of an entire account is coming close to your total budget for the month so that you can pause the campaigns to prevent incurring more charges than you want for the month.

Limit the amount of money you spend on experimental keywords by adding a label to experimental keywords and then checking that none of these keywords exceed your maximum allowed cost for the day, the week, or the month.

Read Before Using

IMPORTANT - This script must be scheduled to run every hour if you want it to re-enable paused items at the start of a new budget period. If the script does NOT run during the first hour of the start of a new budget period, your items will remain paused.

This script is limited by Google's current limits for how many items can be checked. This means that the script will only be able to check up to 250,000 entities. If you need to check more, you can use labels and set up multiple settings using Optmyzr's patent-pending Enhanced Script technology.

Landing Page Watch Dog


Automatically check your AdWords account for landing pages that are broken, either because they don't load, contain 404 server errors or contain text that indicates a problem of another sort. This script generates a spreadsheet with a list of all the potentially broken landing page URLs used by ads or keywords in your account and allows you to optionally delete or pause any of these items.

Get a spreadsheet that shows all your landing pages that have potential  problems.
Get a spreadsheet that shows all your landing pages that have potential

Example Use Cases

  • Retailers can pause ads when a product goes out of stock
  • Pause ads for products that have a low review score based on user comments
  • Delete ads that lead to broken landing pages

Settings and Customizations


This setting tells the script if you want to check only keyword destination URLs, only ad destination URLs or all destination URLs. Valid options are:

  • all
  • kw
  • ad


This setting lets you tell the script to only evaluate a portion of your account. It uses the AdWords Script syntax for the .withCondition clause. If you don't know what that means, don't worry, these examples should make it clear:

  • To select everything in the account, you can use the line "CampaignName CONTAINS ''" and that's what the script is already set to use if you don't change it.
  • To select all the destination URLs for campaigns that include the word 'search', you could use the line "CampaignName CONTAINS_IGNORE_CASE 'search'"


This tells the script what text to search for on your landing page. For example, you could tell it to look for the phrase "out of stock". If you want to search for multiple phrases, put a comma between them but do NOT add a space after the comma, for example "out of stock,low inventory" tells the script to look for the phrase "out of stock" or "low inventory". When at least 1 of these phrases is matched, the script wil report this and delete or pause the item as per your request. The search is case insensitive so use lower case for this setting.


Set this setting to 1 so that the script will just report about problems. If set to 1, the script will NOT try to delete or pause anything in the account. We recommend you set this to 1 the first few times to make sure the script is finding only the items you want before you start to delete or pause these items automatically.


This setting tells the script to disable any item it finds that has a destination URL that is broken or that contains one of the phrases you are looking for on the page. When set to 1, it disables what it finds.


This setting does the opposite of the setting 'disable'. It enables any items that have a destination URL where the phrases you are searching for are found. This can be useful to automatically re-enable ads when a product comes back into stock. Set this to 1 to enable items. Note that you should never set both 'disable' and 'enable' to 1.


This setting tells the script the URL of the Google Spreadsheet where it should store its findings. You can either enter the URL or put in the text "NEW" to have the script automatically create a new spreadsheet every time it runs.


This setting is where you tell the script what you call the account. It's just used for notifications and for naming the spreadsheet so that you can more easily find what you're looking for. So go ahead and name it something that makes sense to you but avoid special characters like slashes, dollar signs and anything else you wouldn't normally use for file names.

Under The Hood

This script goes through every item that has a destination URL in the specified portion of your account and checks if the page loads correctly without a 404 error. If the page does not load correctly, it pauses the item or just notifies you depending on your settings. It also loads the content of the landing page and checks whether it contains the specified phrases of text. If the text is found, it enables or disables the item or notifies you based on your settings.

This script will only pause or unpause items, it cannot delete anything.

The script is able to follow redirects in your destination URLs but if you want to test whether your redirects are compatible, take a look at our FAQs for instructions.

Download Script


Mcc Version of Landing Page Watch Dog:

The MCC (My client center accounts) version of this AdWords script checks broken landing pages runs for all or specific child accounts. It has the same functionality as mentioned above.

Additional Settings and Customization:

In addition to the above settings, you can customise it to choose the child accounts you want to run it for under your MCC account.


This setting tells the script the number of accounts you want to run this script for. When set to default i.e. blank, the script checks the broken landing pages for all the child accounts under the AdWords MCC account. To run for specific child accounts, you can add the AdWords account id of those child accounts separated by a comma.

Download Mcc Script

Tip: AdWords places a limit of 30 minutes on MCC scripts as well. If you have too many child accounts in the MCC then create multiple versions of this script in the MCC account and pick a different set of child accounts for each.