Change History Alerts
Monitors the Google Ads change history for modifications made by unrecognized users and sends email alerts with details logged to a Google Sheet.
by Nils Rooijmans·nilsrooijmans.com/google-ads-script-change-history-alerts
Overview
Change History Alerts scans your account's change history daily and flags any changes made by users not in your approved list. When unauthorized changes are detected, details are logged to a Google Sheet and an email alert is sent — useful for agencies monitoring client accounts for unexpected edits.
Setup
- 1Create a new blank Google Sheet and copy its URL.
- 2Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 3Click the + button to create a new script and paste the code.
- 4Set SPREADSHEET_URL to your new Google Sheet URL.
- 5Set EMAIL_ADDRESSES to the email(s) that should receive alerts.
- 6Add all recognized/approved users to the IGNORE_USERS array.
- 7Schedule the script to run daily.
- 8Preview the script once to verify it reads your change history correctly, then save and enable.
Configuration Variables
| Variable | Default |
|---|---|
SPREADSHEET_URL | "" |
EMAIL_ADDRESSES | "" |
IGNORE_USERS | [] |
SEND_EMAIL | true |
EMAIL_SUBJECT | "[GAds Script] - WARNING - Change by person outside of organisation" |
Expected Output
Processing account: My Google Ads Account query: SELECT campaign.name, ad_group.name, change_event.change_date_time, ... FROM change_event WHERE ... Number of rows added to output sheet: 3 Sending alert mail
Notes
The script fetches a header template from an external Google Sheet maintained by the author. PERIOD is referenced in EMAIL_BODY before it is declared — move the PERIOD declaration above EMAIL_BODY if you encounter issues. Maximum of 9,999 change events per run.