Skip to content

itallstartedwithaidea/google-ads-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŽฏ The Ultimate Google Ads Scripts Collection

Scripts Categories Platform License Maintained

The most comprehensive open-source collection of Google Ads Scripts on GitHub.

Automate bidding, monitor anomalies, generate reports, manage keywords, audit accounts, and more โ€” all from one repo.

Browse Scripts ยท Quick Start ยท Wiki ยท Contributing


๐Ÿ— What's Inside

This collection brings together 60+ production-tested Google Ads Scripts organized into 7 categories. Every script includes inline documentation, configurable settings, and Google Sheets integration where applicable.

Category Scripts Description
Auditing 2 Full account health grading across 10+ dimensions
Analyzing 2 Ad copy length analysis, rotation performance
Bidding 5 Automated bid adjustments, scheduling, impression share optimization
Managing 18 Keyword management, labels, extensions, negative keyword conflict resolution
Monitoring 18 Anomaly detection, budget tracking, broken URLs, quality score alerts
Reporting 12 Search query mining, auction insights, heat maps, ad extension reports
Testing 2 A/B testing framework, ad rotation analysis

๐Ÿš€ Quick Start

1. Pick a Script

Browse the scripts/ directory or use the catalog below. Each script is a standalone .js file.

2. Install in Google Ads

1. Log into Google Ads โ†’ Tools & Settings โ†’ Bulk Actions โ†’ Scripts
2. Click "+" to create a new script
3. Delete the default code
4. Copy-paste the entire script
5. Edit the CONFIG section at the top with your settings
6. Click "Authorize" when prompted
7. Click "Preview" to test โ†’ then "Run" to execute

3. Schedule

Most scripts are designed to run on a schedule:

  • Monitoring scripts: Hourly or Daily
  • Reporting scripts: Weekly or Monthly
  • Managing scripts: Daily or Weekly
  • Bidding scripts: Hourly

๐Ÿ“– Script Catalog

๐Ÿ” Auditing

Script Lines Description
account-grader.js 7,826 Comprehensive account audit scoring 10 categories (A-F grades) with email reports
account-grader-v2.js โ€” Enhanced version with additional checks

๐Ÿ“Š Analyzing

Script Lines Description
ad-copy-length-analysis.js 205 Analyzes character usage across your ad copy
ad-rotate-analysis-V2.js 797 Statistical analysis of ad rotation performance

๐Ÿ’ฐ Bidding

Script Lines Description
impression-share-bid-automation.js 696 Auto-adjusts manual CPC bids to hit target impression share with safety limits โ˜…
advanced-ad-scheduling.js 338 Granular bid adjustments by hour and day of week
average-position-bidding.js 406 Automated bidding toward target average position
extended-devices-locations-and-audiences-bidding.js 473 Multi-dimensional bid modifiers for devices, locations, and audiences
in-market-audiences-bidding.js 251 Bid optimization for in-market audience segments

๐Ÿ”ง Managing

Script Lines Description
negative-keyword-conflict-resolver.js 794 Finds and removes negative keywords blocking positive keywords โ˜…
negative-keyword-blocker.js 100 Auto-blocks irrelevant search terms via exact match negatives โ˜…
mcc-label-assigner.js 153 Bulk label assignment across MCC accounts from Google Sheets โ˜…
symbol-remover.js 347 Strips trademark symbols (โ„ข ยฎ โ„  ยฉ) from RSAs and PMax ads โ˜…
budget-manager.js 303 Automated budget pacing and allocation
broad-match-keyword-aggregating.js 215 Aggregates broad match keyword performance
campaign-audience-copying.js 231 Copy audience lists between campaigns
copy-labels-between-keywords-and-ads.js 553 Sync labels across keywords and ads
copy-labels-between-levels.js 491 Copy labels across account hierarchy levels
duplicate-ad-detector.js 310 Find and flag duplicate ads across ad groups
dynamic-ad-extensions.js 561 Programmatically manage ad extensions
empty-ad-group-filler.js 375 Detect and populate empty ad groups
extension-and-list-copying.js 239 Copy extensions and lists between campaigns
grant-account-underspending-script.js 199 Google Ad Grants compliance and spend optimization
keywords-for-shopping.js 259 Generate keyword ideas from Shopping campaign data
label-your-keywords-with-organic-rank-data.js 157 Tag keywords with their organic search rankings
make-exact-match-exact.js 302 Add close variant negatives to enforce true exact match
make-phrase-match-exact.js 294 Enforce strict phrase match via negatives
shared-negative-list-copying.js 206 Copy shared negative keyword lists between accounts

๐Ÿ“ก Monitoring

Script Lines Description
anomaly-detection.js 1,124 Multi-metric anomaly detection with trend analysis and email alerts โ˜…
impression-share-tracker.js 505 Weighted impression share aggregation matching Google Ads methodology โ˜…
budget-projection.js 126 Month-end spend/conversion forecasting with budget recommendations โ˜…
out-of-stock-scanner.js 41 Website crawler that logs out-of-stock items to Google Sheets โ˜…
account-structure-checker.js 142 Validates account structure best practices
broken-destination-urls.js 57 Detects ads pointing to broken landing pages
budget-depletion-warner.js 127 Alerts when budgets are depleting too quickly
campaign-budget-overspend-monitoring.js 375 Tracks and alerts on budget overspend patterns
capacity-controller.js 177 Controls ad spend based on business capacity
change-in-campaign-spending-alert.js 308 Alerts on significant spend changes
check-for-empty-ad-groups.js 392 Identifies empty or underperforming ad groups
domain-name-checker.js 252 Validates domain names across ads
gmc-disapproval-checker.js 148 Monitors Google Merchant Center disapprovals
hourly-email-updates.js 215 Scheduled performance snapshot emails
international-ppc-currency-converter.js 59 Multi-currency reporting normalization
keyword-and-ad-copy-error-checker.js 525 Catches typos and errors in keywords and ad copy
landing-page-contents-checker.js 171 Monitors landing page content for changes
low-quality-score-alert.js 197 Alerts when quality scores drop below threshold

๐Ÿ“ˆ Reporting

Script Lines Description
search-query-mining-tool.js 685 Mines search queries for keyword and negative opportunities
search-query-mining-with-quality-score.js 1,134 Enhanced mining with quality score integration
auction-insights.js 1,382 Comprehensive auction insights competitor analysis
heat-map-creation-tool.js 396 Hour/day performance heat maps in Google Sheets
heat-map-creation-tool-with-devices.js 576 Heat maps broken out by device type
ad-extensions-reporter.js 419 Extension performance reporting
ad-jective-analysis-tool.js 612 NLP-style analysis of ad copy word choices
associated-search-analysis.js 571 Related search term opportunity analysis
bid-strategy-monitor.js 334 Tracks bid strategy changes and performance
duplicate-query-checker.js 197 Finds queries matching multiple keywords
expanding-phrase-match-negatives.js 366 Reports on phrase match expansion opportunities
minichecker.js 560 Quick account health snapshot

๐Ÿงช Testing

Script Lines Description
ab-testing.js 537 Statistical A/B testing framework for ads
ad-rotate-analysis-V1.js 619 Ad rotation performance testing

Scripts marked with โ˜… are original scripts by John Williams / It All Started With A Idea


๐Ÿ“‹ Prerequisites

All scripts require:

  • A Google Ads account (or MCC for MCC-level scripts)
  • Access to Google Ads Scripts (Tools & Settings โ†’ Bulk Actions โ†’ Scripts)
  • A Google account for Sheets integration (most scripts)

No external dependencies, APIs, or billing required.


๐Ÿ“‚ Repository Structure

google-ads-scripts/
โ”œโ”€โ”€ README.md                  โ† You are here
โ”œโ”€โ”€ LICENSE                    โ† GPL-2.0
โ”œโ”€โ”€ CONTRIBUTING.md            โ† How to contribute
โ”œโ”€โ”€ CODE_OF_CONDUCT.md         โ† Community standards
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ analyzing/             โ† Ad copy and rotation analysis
โ”‚   โ”œโ”€โ”€ auditing/              โ† Full account health audits
โ”‚   โ”œโ”€โ”€ bidding/               โ† Automated bid management
โ”‚   โ”œโ”€โ”€ managing/              โ† Keyword, label, and extension management
โ”‚   โ”œโ”€โ”€ monitoring/            โ† Alerts, anomaly detection, budget tracking
โ”‚   โ”œโ”€โ”€ reporting/             โ† Search queries, heat maps, auction insights
โ”‚   โ””โ”€โ”€ testing/               โ† A/B testing frameworks
โ”œโ”€โ”€ wiki/                      โ† Wiki source pages
โ””โ”€โ”€ docs/                      โ† Additional documentation

๐Ÿค Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Ways to contribute:

  • Submit new scripts
  • Report bugs or suggest improvements
  • Improve documentation
  • Add wiki pages for scripts

๐Ÿ“œ License & Attribution

This repository is licensed under GPL-2.0. See LICENSE for full terms.

Attribution:

  • Scripts marked with โ˜… are original work by John Williams / It All Started With A Idea
  • Community scripts originally published by Brainlabs Digital under GPL-2.0, included here with full attribution per license terms
  • All modifications, organization, documentation, and wiki content by John Williams

๐Ÿ”— Links


Built with 15+ years of enterprise paid media experience.
It All Started With A Idea

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors