This script checks all landing page URLs in your Google Ads manager account (MCC). It looks at ads, keywords, and sitelinks in your child accounts and flags any URLs that are broken or not working correctly. The results are written to a Google Spreadsheet and you can get email alerts when problems are found.
What this script does
Scans landing page URLs in all (or selected) accounts under your MCC
Checks URLs on ads, keywords, and sitelinks
Detects broken or unreachable pages such as 404 errors or other non-valid responses
Records every problem URL in a reporting spreadsheet
Can send you email notifications with a summary of the issues
Once it is set up and scheduled, it runs automatically so you do not have to manually check links.
How it works for you
When the script runs, it:
Looks at the accounts in your manager account
Checks which ads, keywords, and sitelinks still need to be scanned
Tries each landing page URL and records the response
Writes any errors (and optionally all URLs) into your Google Spreadsheet
In the spreadsheet you will see:
Which account the problem is in
When it was checked
The URL that failed
The type of entity (ad, keyword, sitelink)
The campaign and ad group names
Extra details like ad text, keyword text, or sitelink label when available
This makes it easy to click through and fix the right ads or landing pages.
Account filtering with labels
The script supports account label filtering at MCC level:
You can choose to only scan accounts that have a specific account label
If no label is set (or you turn it off), the script will check all child accounts
This is useful if you only want to run the link checker for a subset of clients or a specific portfolio.
Smart progress tracking for large MCCs
To handle large setups safely, the script:
Uses labels to remember which accounts and entities have already been checked
Avoids checking the same URL over and over
Stops early when it gets close to the Google Ads Scripts time limit and then continues where it left off in the next run
You can safely schedule it hourly so large MCCs are gradually checked without hitting limits.
Flexible checks and error detection
From the configuration spreadsheet you can control:
Whether to check ads, keywords, and/or sitelinks
Whether to include paused items or only active ones
Which HTTP status codes should be treated as “valid”
Whether to save only errors or all URLs
Optional “failure strings” such as “Out of stock” that should also count as an error, even on a 200 page
Optional custom validation (for advanced use cases) where you can define your own pass/fail rules in the sheet
This gives you a lot of control over what the script flags as a real issue.
Email alerts and reporting
The script can send email updates to one or more recipients:
Intermediate emails after each run, if you want ongoing updates
A final summary email when a full scan cycle is completed
Each email links directly to the reporting spreadsheet, so you can review and fix issues quickly.
The spreadsheet also keeps an archive of previous results so you can see how link quality changes over time.
What you need to provide
To use this script you only need to:
Make a copy of the provided Google Sheets template and paste its URL into the configuration
Enter the email addresses that should receive the reports
(Optional) Choose an account label if you want to limit which accounts are checked
Schedule the script to run on your MCC (for example, hourly)
After that, the script will continuously monitor your landing pages and help prevent wasted spend on broken links.
