← All agents

The Compliance Copywriter

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.

Needs: nothing (core) ~10 min install Tested 2026-09-05
Open in ChatGPT Open in Claude View as Markdown

What it does

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.

Who it is for

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.

What it is and what it runs in

  • It's a set of Python scripts, not a Claude Code plugin. Claude Code (or Cline) reads the repo's own workflow file and drives them for you, crawling your site and writing the ads when you ask it to.
  • It runs in Claude Code or Cline. Those are the only two agentic tools the repo's own workflow files actually wire up, so stick with one of them.
  • The core crawl-and-validate work is free, no AI API key needed. Writing the actual ad copy runs through whichever AI assistant is driving the scripts, so that part depends on having Claude Code or Cline installed.

Before you start

  • Claude Code or Cline already installed (the only two agentic tools this one works with)
  • Python installed on your computer
  • git installed
  • No AI API key needed to build and check the ads, that part is free

Install

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.

Step 1: Download the project

git clone https://github.com/romek-rozen/google-ads-generator-with-ai-assistants.git
cd google-ads-generator-with-ai-assistants

Step 2: Set up a clean space for it to run in

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

Step 3: Install what the scripts need

pip install -r requirements.txt

Step 4: Install the browser it reads your website with

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

Step 5: Open the project folder in Claude Code

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.

Run it

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.

Troubleshooting

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.

Credit

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.

If your Google Ads keep getting rejected for going over the character limit, that was never a writing problem, it was a checking problem, and now you know the fix.
Next step

Want to build your own?

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 →
Or skip straight to done for you

Too busy to build it yourself? Focentra AI will build, install and train your team on it.

Have it built for you