Are you looking for a general-purpose tool to track changes in your Google Ads account?

Optmyzr CEO Frederick Vallaeys’s Granular Account Anomaly Detector is an excellent solution that provides a holistic look at performance.

You can use it to track rising costs for your keywords, check which campaigns are bringing in impressions, or highlight where conversions are falling across your account.

There are so many ways you can use this tool to generate insights and diagnose issues. But you need to be familiar with JavaScript to get the most out of it and calibration can be time-consuming, particularly if you want to update the script regularly.

Here we've taken advantage of the open-source license and applied a few tweaks to enhance the script’s power and accessibility.

The Adapt Google Ads Anomaly Detector

The script compares metrics between two time periods (this week compared with last week, for example). You select the metrics you want to track and the percentage increase or decrease that will trigger an alert.

You can, for example, watch for a drop of 20% in impression share week by week. This comparative style of reporting is a useful add-on to the standard reports you get within Google Ads.

You’ll also need to set the minimum unit change to watch for. A change from four clicks to three clicks over a week would represent a fall of 25%. By setting this value to 20 clicks, you’ll only get an alert if the change is greater than this value.

Once you’ve set the parameters, you can enable the script to run as often as you like. We’d recommend once per day for general use. Alerts can trigger at various levels in your account (account, campaign, ad group, keyword, and ad).

Negative changes matching the alert criteria are output with a red background, while positive changes will be displayed with a green background.

Changes to the Original Script

The main adjustment we’ve made is that you now operate the script almost entirely from a Google Sheet. This minimises the time you need to spend tweaking metrics and makes this solution more user-friendly for those with limited technical experience.

The resulting report is output directly into the same sheet. This does mean the data will be overwritten each time the script is run, so you may want to export this.

Another change we’ve made is to include landing page and 404 checks. This part of the script will check each of the unique final URLs within your ads for user-defined snippets of text (e.g. “Sold out”, “Out of stock”) and will also ensure that each landing page is returning a non-404 code.

This functionality is not suitable for accounts with large numbers of unique landing pages. This is because Google Ads only allots each script a 30-minute run time, which will be exceeded if the script is trying to parse hundreds or thousands of URLs.

However, it can still be useful for smaller accounts.

It’s disabled in the script by default, but you can enable it by changing the value in the “includeLandingPageErrorChecks” variable on line 45 from a 0 to a 1.

To add snippets of text to track, add them separated by commas (and between the brackets) on line 31. If a landing page triggers an alert, the URL and its trigger will be output in a tab within the sheet.

One last thing - the data in your Google Ads account can update well into the following day.

This means the earliest date we can compare against will be the previous day, as we cannot accurately use “today” as the start or end date.

How to Set Up Your Script

Your first task is to make a copy of this spreadsheet – this is your control interface, where you will set your metrics.

Next, paste the full script into the Scripts section of your Google Ads account.

Then connect the sheet by adding the URL to the script. You’ll need to add this between the quotes of the “spreadsheetURL” variable on line 49.

Return to the sheet and add your emails where prompted.

From here you can adjust the various metrics.

To avoid an avalanche of alerts for minor changes, make sure the “Minimum Unit Change” column is a sensible figure.

You can use whole numbers for each percentage in the “Metric” columns.

The script will ignore the metric if the percentage is at 0.

Finally, return to the script in Google Ads, authorise it and set it to run daily sometime after 8am.

If the script detects an anomaly, you’ll receive an email on where it's located and a link through to the sheet.

Final Thoughts

If you’re still on the lookout for an ideal tool to track any changes to your Google Ads account, then this Granular Account Anomaly Detector could be the perfect solution.

We hope you’re able to use this application to generate some interesting insights, and if you have any questions, please feel free to get in touch.