Work · System · Mar 2026–now
Google Ads, run by agents with a human approval gate
A Search rebuild cut Visualping's cost per signup about 40%. Agents now change the account; a daily ledger reconciles every write against my approval.
Two keys
The method- First key
- Agents audit the account and apply changes by risk tier: low-risk on their own, medium- and high-risk after my approval, in a batch or one at a time.
- Second key
- A daily ledger reconciles every account change against a logged human approval and fails the run if any change lacks one.
Built withGoogle Ads API, ChatGPT Ads, Codex, Claude Code, Python
- ~40%drop in cost per signup, pooled Apr–Jun vs Aug–Sep 2026On the record
- 150+signups a month from Google Ads, about 150 to 200, Aug to Sep 2026On the record
The problem
In 2025 Visualping’s Google Ads account was Display-heavy, and cost per signup ran to hundreds of dollars. In March 2026 I rebuilt it around Search. That was a strategy change, not like-for-like optimization of the old account.
Paid search is a live account. A bid, a budget, a negative or an ad changes the cost of the next click. A system that writes those changes on its own holds both keys: the same job that found the fix also spends the money.
The system
This is how I run Visualping’s Google Ads as Head of Marketing and GTM, a role I have held since September 2024. I rebuilt the account around Search in March 2026, then directed Codex, Claude Code and a Google Ads agent to help operate it. The audit trail starts in April 2026. The full agent setup with the approval gate has run since September 2026.
A small Python helper talks to the Google Ads API. Codex and Claude Code run account audits, reviews and changes through that helper.
The work moves through five steps:
- Agents audit the account through the Google Ads API helper.
- Daily read-only refreshes keep the picture current. In September 2026 an AI review pass fact-checked roughly 2,949 historical ads, plus an account audit and keyword research.
- A daily Ads Digest ties ad clicks to actual product signups with click-level matching and a 90-day lookback. It tracks trials, covers ChatGPT Ads alongside Google Ads, and emails the digest.
- A dedicated agent reviews campaigns, keywords, search terms, ads and landing pages. The changes it proposes include lowering a CPC ceiling, pausing a broad brand phrase keyword, adding negatives, replacing weak responsive search ads, cleaning sitelinks and callouts, and nudging target CPA.
- Changes are sorted into risk tiers. Low-risk changes can apply on their own. Medium- and high-risk changes need my approval, either in a batch or one at a time.
Dry run is the default. A snapshot is taken before every write. Agents pause things and never remove them. Changed items get a hold and a 7-day observation window before anything else touches them.
The gate is a daily ledger. The next day’s job reconciles every account change against a logged human approval and fails the run if any change lacks one. It catches unapproved changes after the fact, so it does not block a write up front. That is fail-closed reconciliation.
This system is not open source.
The two keys
The first key is the agents. They audit the account and apply changes by risk tier: low-risk on their own, medium- and high-risk after I approve, in a batch or one at a time.
The second key is the daily ledger. Every account change has to match a logged human approval when the next day’s job runs. A change without one fails that run. The check is after the write.
Agents propose and execute. Fail-closed reconciliation holds the second key.
What it produced
Internal Visualping data, pulled from the Google Ads API on October 8, 2026, puts cost per signup down about 40%: about $14 pooled from April to June 2026, about $8 pooled from August to September 2026. The exact pooled values were $14.22 and $8.35, a 41% drop. Google Ads brought in about 150 to 200 signups a month in August and September 2026. From July to September 2026, cost per signup sat between $5 and $9. Signup conversion rate rose from about 14% to about 16.5% across those same pooled windows, a modest move.
A conversion here is a completed free account signup. This page reports cost per free signup only and makes no claim yet about business or paid CPA.
Most of that cost-per-signup drop happened before the agent setup. I credit the Search rebuild and the optimization that followed it. The agent system and the approval gate are how I run the account now. They are not the cause of the drop.
What I’d change
The ledger catches an unapproved change the next day, after it has already been written.
I’d move more of that reconciliation before the write, so a medium- or high-risk change cannot land without an approval already on the ledger.