AI system for managing Google Ads

Google Ads AI automation
for agencies

55Digital AI runs inside Claude Code as a Google Ads co-pilot for the recurring work that quietly eats your week. Tell it to run negative keyword exclusions every Tuesday and Friday, and it reads the client brief, pulls real account data, and excludes them automatically — no manual digging. What it frees up is time for strategy calls, new business, or going home on time.

dry-run by default every write logged runs locally on Mac or Windows
claude — ppc-workspace — /55-keyword-audit
$ /55-keyword-audit northgate-plumbing --days 4

reading  clients/northgate-plumbing/brief.md ....... ok
pulling  search terms, last 4 days ............... 312
judging  cached 268 · new 44 ..................... ok

──────────────────────────────────────────────
 NEGATE  exact  "diy drain snake rental"   6 clicks
 NEGATE  exact  "plumber salary uk"        4 clicks
 NEGATE  broad  "free quote template"      9 clicks
 KEEP           "emergency plumber n7"    22 clicks
 KEEP           "boiler repair northgate"  8 clicks
──────────────────────────────────────────────
3 to add → shared list "Irrelevant — auto"
wasted spend removed from rotation, last 4d: 19 clicks

▌ DRY RUN — nothing was written.
▌ Review the list above, then re-run with --confirm.

See it in action

Watch a real audit run, start to finish

Same account, same commands, no cuts — a check running, the proposal it produces, and the confirm step that writes it.

How it works

You keep the judgement calls. It does the grinding.

The whole product is one loop, and it always runs in the same order. Nothing skips ahead — the step that decides and the step that acts are never the same step. What changes is who starts it: you, in chat, or a schedule you set once.

STEP 1

Write the brief

Each client gets a plain-text brief: what they sell, what they never want to pay for, which lists are off-limits. That file is the rulebook the AI reasons against.

STEP 2

Ask it, or schedule it

Type a request in chat, or a short slash command like /55-keyword-audit — or run /55-setup-keyword-audit-automation once to put it on a schedule and stop asking altogether. Same job, same brief, different trigger.

STEP 3

It reads real data

Live search-term data through the official API, judged against that client's brief, not a generic rule set — /55-keyword-audit reads the account and builds the exclusion list its brief calls for.

Scheduled

Excludes automatically

Run /55-setup-keyword-audit-automation once to choose a cadence — Tuesday and Friday, every day, or once a week, it's yours to set. From then on it reads the account and excludes on its own, no prompt needed, and every write still lands in the change log.

Manual exclusion

You review, then it excludes

Run /55-keyword-audit yourself any time and it suggests the exclusions first — nothing touches the account until you accept the list. Once you accept, it excludes them on the account for you.

Against the alternative

The same job, done by hand

None of this work is impossible by hand. It's just slow, easy to postpone, and the first thing to slip when you're managing a dozen accounts at once. Times below are per account, typical case.

Recurring task By hand With 55Digital AI
Negative keyword audit By handOpen the search terms report, scan hundreds of rows, judge each one, copy the bad ones into a shared list — about 45 minutes. With 55Digital AI/55-keyword-audit reads the client's brief and returns a reasoned add-list to approve. Result: 3 minutes instead of 45.
PMax search terms By handDig through limited PMax reporting per campaign, then work out which exclusion list each term belongs on — about 40 minutes. With 55Digital AI/55-pmax-audit (or the branded/generic split version) does the same judgment automatically. Result: 4 minutes instead of 40.
Keyword expansion By handAd group by ad group in Keyword Planner, tabbing between volume lookups and the editor — about 35 minutes. With 55Digital AI/55-keyword-expansion proposes themed candidates per ad group with real volume already attached. Result: 5 minutes instead of 35.
Feed title optimization By handCompare search terms against product titles by eye, spot what's missing, rewrite titles one by one — about 60 minutes for a mid-size feed. With 55Digital AI/55-feed-title-optimizer mines real search terms against your titles and proposes rewrites you push straight to the feed. Result: 6 minutes instead of 60.
Client reporting By handExport to sheets, rebuild the same charts monthly, format it for the client — 50 minutes of manual data digging. With 55Digital AI/55-ga4-dashboard builds the report directly, in your branding. Result: 2 minutes instead of 50 minutes of manual data digging.
Full account audit By handWork through structure, tracking, bidding, keywords, PMax and GA4 section by section — half a day or more. With 55Digital AI/55-full-audit runs all 20 sections in one pass and hands back a report. Result: 15 minutes instead of half a day.
Daily account pulse By handOpen the account, check tracking, pacing and cost trends one by one — about 10 minutes, every morning. With 55Digital AI/55-daily-check checks all three at once. Result: under a minute instead of 10.
Scheduling it to run itself By handHand-write a cron job or launchd plist, test it, hope it doesn't silently fail — about 30 minutes, per client. With 55Digital AI/55-setup-keyword-audit-automation walks you through a cadence and installs it for you. Result: 5 minutes instead of 30 — once, not every week.

Workflows

The commands, and exactly which ones can write

Each of these is a short command you type in the chat. Most only ever read your account. The ones that can change something are marked — and every one of those shows you its full proposal first.

/55-daily-check

A quick morning check on one account — is tracking still working, is spend on pace for the month, did cost or CPA jump recently. Example: catches a CPA spike before a client has to ask why.

Read-only
/55-keyword-audit

Looks at what people actually typed before your ad showed, and flags the ones that don't belong. Example: you sell cars, but someone searched for car repair and clicked your ad anyway — you don't offer that, so this proposes it as a negative.

Proposes, you apply
/55-pmax-audit

The PMax version of keyword audit — scans every active PMax campaign the same way, without splitting branded from generic. Example: same car dealer — a PMax campaign picks up "car repair near me" too, and this flags it the same as Search would.

Proposes, you apply
/55-pmax-brand-generic-audit

The more targeted version — for when you can't see search terms as easily and want branded and non-branded PMax campaigns checked separately, each against its own rules. Example: a branded campaign picking up a search with no mention of the brand gets flagged.

Proposes, you apply
/55-keyword-expansion

Goes through each ad group and suggests new keywords that actually fit what's already there, with real search volume attached instead of a guess. Example: an "emergency plumber" ad group gets offered "24 hour plumber near me."

Proposes, you apply
/55-keyword-research

Keyword Planner without leaving the chat — search volume, competition and cost, checked against what the account already targets so you don't propose a duplicate.

Read-only
/55-pmax-bucketing

Splits the product feed into four tiers by how well each product actually performs, and proposes a separate campaign per tier so your best sellers aren't sharing a budget with your worst. Example: sorts one feed into Platinum, Gold, Silver and Bronze campaigns automatically.

Proposes, you apply
/55-merchant-review

One place to see if the product feed is healthy: what's approved, what's disapproved and why, and how much free traffic the listings are really getting.

Read-only
/55-ga4-dashboard

Builds a client-facing GA4 dashboard — all 43 predefined reports, visualized, not a spreadsheet. It checks with you first on which event counts as a real conversion before building it.

Read-only
/55-ga4-campaign-analyst

A deep look at one campaign's GA4 data — landing pages, devices, location, new versus returning visitors — lined up against what that campaign spent and converted in Ads.

Read-only
/55-feed-title-optimizer

Finds the words shoppers actually search for that are missing from your product titles, then proposes rewritten titles you can push straight to the feed. Example: shoppers search "waterproof hiking boots," your title just says "Trail Boot" — this adds what's missing.

Proposes, you apply
/55-full-audit

A full top-to-bottom account review in one pass — structure, tracking, bidding, keywords, PMax, Display, YouTube, GA4. Comes back as a report, with a PDF version offered afterward.

Read-only
/55-setup-keyword-audit-automation

Walks you through putting /55-keyword-audit on a schedule for one client — pick the cadence, it builds and tests the job, then installs it. Run once per client, not every week.

Setup
/55-setup-pmax-audit-automation

Same setup flow, for the plain PMax irrelevant-keyword audit — pick a cadence and it's scheduled and running on its own from then on.

Setup
/55-setup-pmax-brand-generic-audit-automation

Same again, for the branded/generic PMax split audit — one guided setup and it runs itself afterward.

Setup
/55-setup-new-client

Adds a new client the same way the setup wizard does, just as a chat conversation instead of answering terminal prompts.

Setup

Who it's for

Built for people who run accounts, not dashboards

It fits best where the same account work comes round every week and there's nobody spare to hand it to.

The multi-client agency

The primary fit. The same commands run per client slug across the whole roster, one dashboard covers every account, and when a client asks what moved on their account last month there's a per-account log to answer from.

The freelance consultant

Nobody to delegate the weekly grind to. The recurring audits stop competing with billable hours, and what you send a client carries your own branding rather than looking like tool output.

In-house, ecommerce

One account, but feed-shaped work: PMax product bucketing, Merchant Center health, title optimisation, and seasonality checks that tell you whether a soft month is normal for that product line.

In-house, lead generation

No product feed, so the recurring jobs are search-term hygiene and GA4 lead funnels — negative keyword audits and conversion pulse-checks rather than shopping reports.

The dashboard

Every client on one screen, and nothing to host

The dashboard is a single self-contained HTML file. Open it in a browser and every account you manage is there side by side — then click into any one of them for its report history, the brief it runs on, and a Changes tab listing every write the tool has ever made to that account. Rebuild it whenever you want a fresh view; it takes about a second.

file:///…/55digital-ai/dashboard/index.html no server

Live preview, real dashboard code — populated with made-up example clients, not anyone's actual account. Click a client on the left, then the Reports / Brief / Changes tabs.

No server, no login, no build

One file on your disk. It opens offline, there's nothing to deploy and nothing left running in the background when you close it.

Whole roster, then one account

Start at every client side by side, then drill into a single account's reports, its brief, and its full change history without leaving the page.

A second to rebuild

Regenerate it any time you want current numbers. No sync to wait on and no stale cache to think about.

What it actually saves

The minutes add up faster than you'd think

Four things that happen every week, timed by hand against the same job run through the toolkit.

A morning check across every account

TaskBy handWith toolkit
Checking 12 accounts — anything off?45–60 min2 min
Finding the cause of a cost jump15–25 min15 sec
Reacting to a tracking gap10–15 min30 sec
Saved: about an hour a day

Monthly client report

TaskBy handWith toolkit
Pulling GA4 and Ads data together30–45 min10 sec
Search-term audit30–45 min3 min
Excluding the bad ones15–20 min1 min
Branded PDF for the client45–90 min30 sec
Saved: 2–3 hours per client

Bringing on a new client

TaskBy handWith toolkit
Writing the client brief30–45 min8 min
Connecting Ads, GA4, Merchant Center20–30 min5 min
Setting up the negative list10–15 min2 min
Scheduling the recurring checks20–30 min5 min
Saved: about 1.5 hours

Client asks "what happened to the campaign?"

TaskBy handWith toolkit
Checking this week's results10 min10 sec
Checking what changed, and why10 min10 sec
Comparing to last month15 min20 sec
Writing the reply15 min1 min
Saved: about 40 minutes

The safety model

The fear isn't that automation is wrong. It's that it's wrong quietly.

Handing a client's live ad spend to something that acts on its own is a bad trade, and every experienced account manager knows it. So this tool was designed backwards from that fear: it can propose anything, and it can execute nothing on its own.

Default state

Preview is the default, not an option

You don't opt into safety with a flag. Run any write-capable command bare and you get a dry run: the full list, none of it applied. The dangerous thing is the one you have to type on purpose.

Structure

Deciding and acting are separate commands

A read-only check step produces the proposal. A separate apply step is the only code path that can write, and it only ever applies the list you already read. No single command both decides and acts.

Consent

Approving the approach isn't approving the list

Saying "yes, do this across all ad groups" doesn't authorise whatever the tool produces. The specific list is always shown and approved on its own terms before a single write goes out.

Accountability

Everything it did, on the record

When a client asks what changed on their account last month, you answer from a log, not from memory. Each entry carries the account, the object, the timestamp and the reasoning that produced it.

Scope

Protected lists stay protected

Lists you mark as off-limits in a client's brief are never written to. New campaigns it builds are created paused — you review and enable them yourself in the Ads UI.

Location

Your machine, your credentials

It runs locally against your own Google Ads API access. Client data and reports stay on your disk unless you choose to send something out.

Dashboard · Changes every write, permanently
09:14 northgate-plumbing +3 negatives shared list · Irrelevant — auto no service intent, 4-day window
09:02 hartwell-motors +1 PMax exclusion branded campaign generic term, no brand signal
Yest. coastal-interiors +12 keywords 4 ad groups approved from expansion check
Yest. hartwell-motors 1 campaign created PMax · Gold tier · paused bucketing plan, confirmed

Requirements

What you need before you start

Short list, and worth checking now rather than halfway through setup.

Claude Code

A paid Claude plan

The toolkit runs inside Anthropic's Claude Code, so you need it installed and a Claude subscription active. A Claude Pro plan is enough — no Team, Enterprise or separate API credits required. That subscription is separate from the toolkit itself.

Python 3.10+

Python on your machine

The commands are plain Python scripts. The setup step installs the packages they depend on — you don't have to resolve anything by hand.

Google Ads API

Developer token and OAuth

A Google Ads account with API access — a developer token plus OAuth credentials. Setup walks you through the OAuth flow and confirms it worked by pulling live data from your own account.

Mac & Windows

Runs locally on your machine

It's a local install on your own computer, not a hosted service — available for both Mac and Windows.

Optional

A product feed, for the feed workflows

Merchant Center access is only needed for the feed-specific commands — bucketing, feed health and title optimisation. Everything else works without one.

Questions

The things agencies ask first

Can it change my account without me approving it?

No. Every write-capable command previews by default and needs an explicit --confirm to touch a live account — there's no flag that writes silently instead. The one way it happens unattended is if you deliberately schedule the apply step yourself, which isn't the default and isn't where we'd suggest starting.

Is my data — and my clients' — safe?

It stays on your machine. The toolkit runs locally against your own Google Ads API credentials, and reports, logs and the dashboard are written to your own disk. There's no account to create with us and no copy of your client data sent anywhere.

Do I need to know how to code?

No. You type plain-English requests or short slash commands like /55-keyword-audit in a chat panel. The scripts underneath are ordinary Python files if you ever want to read one, but nothing about normal use requires that.

Do I need to know the basics of Google Ads to get the most out of it?

It helps, but it's not a hard requirement. The toolkit does the digging and hands you a change list in plain language with a reason attached to every line — knowing what a negative keyword or a PMax exclusion actually does makes it faster to review that list, but you don't need to know how to build the query yourself.

Will it replace a PPC specialist?

No — it replaces the recurring digging, not the judgment. Someone still has to write the client brief, read the proposed changes, and decide whether they're right for that account. What it removes is the hour spent scanning search-term reports by hand to get to that decision.

Which operating systems does it run on, and what do I need from Claude?

Mac and Windows, both — it runs locally on your own machine, nothing here is hosted for you. It runs inside Claude Code, and a Claude Pro subscription is enough to use it — you don't need Team, Enterprise or separate API credits.

How many Google Ads accounts can I manage?

As many as you have briefs for. The commands take a client slug, so adding an account means adding a brief and running the same commands against it. The honest limit today: there's no multi-client batch mode yet — scheduled checks are set up one entry per account, which is more setup up front but leaves no doubt about which account a job touches.

Can my whole team use it, and does agency use cost extra?

No extra cost — one $300/year price covers solo use and full multi-client agency setups, MCC included, same commands either way. What doesn't exist yet: a shared server or seat management. Each person runs their own copy against their own credentials, so the dashboard and change log live on whichever machine ran the command.

Which account types does it work best on?

Any account running Search or PMax gets full coverage — keyword audits, PMax exclusions, expansion, GA4. The feed-specific commands (bucketing, feed titles, Merchant Center health) only apply if you're running Shopping or PMax off a Merchant Center feed; lead-gen accounts without one just skip those and use the rest.

Does the license auto-renew?

No. It's a one-year license, not a subscription — nothing charges automatically when the year is up. If you want to keep using it, you come back and buy the next year yourself, at whatever the price is then. No card left on file quietly billing you a year later.

Does your security team have additional questions?

Ask them directly. Since everything runs locally against your own Google Ads API credentials, most "where does our data go" questions answer themselves, but reach out and we'll walk through the specifics for your setup.

Pricing

One price, whether it's your accounts or a client roster

No per-seat tiers, no feature gating by plan. Every command, for freelancers and agencies alike.

55Digital AI

Mac & Windows · available now

$300 / yearthat's about $25/month, billed annually

  • No auto-renewal — it's a one-year license, not a subscription. Renewing after that is a manual choice, not a surprise charge.
  • Full command set, no feature gating
  • Local dashboard and change log
  • Guided setup wizard
  • Built around a multi-client MCC setup
  • Your branding on client-facing PDFs
  • Scheduled recurring audits per client
  • Onboarding help for your first briefs
Get a license