Restored and updated scripts from my Marketing Watch House Google Ads Scripts tutorials (2019–2020). Something missing or not working? Open an issue, and I'll fix it.
The original code lived on pastebin and on my old blog, which no longer exists. Here it is again, one folder per video, rewritten for today's Google Ads Scripts: GAQL instead of the retired AWQL reports, current field names and modern JavaScript. The teaching steps are the same as in the video, so you can still follow along.
New to Google Ads Scripts? Start with the 2026 guide: Google Ads Scripts — 2026 Full Guide.
- In Google Ads: Tools → Bulk actions → Scripts → + New script.
- Paste
script.jsfrom the folder and edit theCONFIGblock at the top. - Authorize, then Preview. Preview never changes your account; read the logs.
- Scripts that change things start with
DRY_RUN: true, so they only log what they would do. Set it tofalsewhen the preview looks right, then run or schedule the script.
Each folder's README covers the settings, any sheet layout, and what changed since the video.
These scripts were written and checked against my
Google Ads Scripts Claude skill:
an up-to-date reference that stops AI tools writing outdated syntax such as AWQL filters,
metrics.cost or pre-ES6 code. Use them together: this repo for the scripts from the videos, the
skill when you want Claude to write or fix a new one.
I'm Roman Petrochenkov. I work in marketing analytics: paid media measurement and automation, attribution, cost and conversion pipelines, Google/Meta API integrations, GTM and server-side tracking. I made these videos to show that the boring parts of Google Ads can be automated.
- 🌐 Website: rpetrochenkov.co.uk
- 🔗 LinkedIn: Roman Petrochenkov
▶️ YouTube: Marketing Watch House
Need help with automation, data or tracking, or want 1:1 mentoring? Get in touch.
MIT © Roman Petrochenkov. Use these scripts at your own risk: always preview first, and test on a small scope before you run anything against a live account.