Crawls your own website, drafts Google Ads copy, and checks every headline and description against Google's character limits before you ever paste it in.
The Compliance Copywriter crawls your actual website, works out what you sell, drafts Google Ads headlines, descriptions and display paths, then runs every single one through Google's own character and count limits before you ever open the Google Ads dashboard. It doesn't just write ad copy, it writes ad copy that clears Google's review instead of bouncing back for being three characters too long.
The website crawler (fetch_website.py, built on the open source crawl4ai library) pulls real content off a live site with no API key needed, and the validator scripts catch a headline or description the moment it goes over Google's limit, flagging it and offering a shorter version instead.
Anyone running their own Google Ads, a business owner or marketer, who is tired of guessing at character limits, getting the ad bounced, and rewriting it two or three times before Google accepts it.
Open your terminal and run these steps in order. Every command below is copy-paste, you don't need to understand what it does to use it.
git clone https://github.com/romek-rozen/google-ads-generator-with-ai-assistants.git
cd google-ads-generator-with-ai-assistants
This keeps the project's files separate from everything else on your computer, so it can't interfere with anything. It's a standard Python step, just paste both lines.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
This downloads a browser in the background so the tool can visit and read your site, the same way a person would. It only happens once.
playwright install chromium
From here, Claude Code (or Cline) takes over. Open the folder you just downloaded, and it reads the project's own instructions to crawl your site and write the ads when you ask it to.
Example input: three headlines for a shipping and summer sale, written the normal way, without checking the character count first.
Run the validator:
python3 scripts/validate_google_ads.py
All three come back flagged for going over Google's 30-character limit, each with a shorter version offered right there in the terminal. That is the whole point: it catches the rejection before Google does, and hands you a corrected version instead.
The shortening suggestion comes back blank. This happens when a single word by itself is already longer than the character limit, so there's nothing left to trim. Shorten or hyphenate that word yourself, then run the validator again.
playwright install chromium seems stuck. It's downloading a real browser binary the first time, which can take a few minutes on a slow connection. Let it finish, it only runs once.
Nothing generates after validation. That's expected: generate_ads_txt.py refuses to build the final report until validate_google_ads.py passes cleanly (or you force it with -y). Fix the flagged headlines or descriptions and validate again first.
Built by Roman Rozenberger, romek-rozen on GitHub (https://github.com/romek-rozen/google-ads-generator-with-ai-assistants), MIT license, 8 stars. Only Claude Code and Cline are actually supported.
This is one agent. The 7-Day AI Native Challenge is how you learn to build the next ten yourself, live, with Dany.
Join the Challenge →Too busy to build it yourself? Focentra AI will build, install and train your team on it.
Have it built for you