Running Google Ads from the terminal with custom AI skills

A growth marketer at Kilo says he moved Google Ads management into Kilo CLI using custom skills, scripts, and rules. The setup uses different AI models for planning and execution, with dry-runs, paused launches, and account-specific guardrails to reduce errors and speed up routine work.

Running Google Ads from the terminal with custom AI skills

A growth marketer at Kilo says he now runs much of Google Ads from the terminal instead of the Google Ads UI or Editor, using Kilo CLI and a set of custom skills he wrote himself. In a detailed writeup, he described how the setup handles campaign creation, tracking checks, weekly reporting, and Performance Max search-term audits.

He said the shift reflects how paid search has changed over 12 years. Manual bidding and day-to-day campaign work have given way to automation, but the remaining work is still full of repetitive edits, naming changes, and account maintenance that are easy to get wrong by hand.

⚡ New to this?

This is news about using AI agents as an operations layer for Google Ads, not just for writing ad copy. A CLI, or command-line interface, is a text-based way to control software without a graphical screen, and a skill is a documented workflow that tells the agent how to do a repeatable job.

For a non-expert, the main point is that the marketer is moving routine ad work into automated scripts while keeping humans on strategy and final approval. That matters because paid search teams spend a lot of time on repetitive tasks where small mistakes can waste money or distort reporting.

🦞 OpenClaw angle

If you build self-hosted agents, separate planning from execution the way this setup does: use a stronger model for strategy, then cheaper models for repeatable tasks. Put hard guardrails in a rules file, require dry-run output before any mutation, and make paused-by-default the standard for anything that changes live systems.

Also treat your skills as living documentation. Every time an agent discovers an API quirk, encoding rule, or failure mode, write it back into the skill so the next run starts with that knowledge instead of rediscovering the same bug.

At Kilo, he said he moved the whole operation into a CLI-based workflow a few months ago. The goal was not to make the work more glamorous, but to make it faster, more consistent, and less error-prone.

The marketer said the main benefit is that the agent can do in minutes what would take about an hour of clicking in Google Ads Editor, such as renaming ad groups or building a new campaign from a spec. He said the output is consistent by construction, which avoids mistakes like pinning the wrong headline, pasting the wrong URL, or forgetting sitelinks.

He also said the workflow helps the team launch ads quickly around new trends, especially in AI, where timing matters. According to his writeup, a few prompts can be enough to get a campaign live, while the final enablement still happens deliberately.

The system is built around three parts: a library skill for Google Ads scripts, a PMax search-term audit skill, and a weekly reporting skill. He said the scripts do the actual API work, while the skills document the patterns, rules, and account-specific quirks that the agent should follow.

The Google Ads scripts library acts as a reference for all existing automation. According to the post, every mutating script defaults to --dry-run, supports --execute, creates new campaigns paused, and can resume with REUSE_CAMPAIGN_ID if a run fails halfway through.

That matters because API work can break in the middle of large builds. He gave one example of a campaign with 751 ad groups where a restart from scratch would be impractical, so resumable scripts are part of the safety model.

He also described a tracking-template audit script that scans campaigns for mismatches between campaign names and tracking parameters. In one example, a renamed campaign left utm_campaign pointing to an old name, which would quietly send analytics data to the wrong label.

The Performance Max audit skill turns a messy search-terms export into a routing plan. He said the workflow parses a 3,000-row CSV, cross-references live Search keywords, flags cannibalisation, groups irrelevant terms, and decides whether a query should become a brand, competitor, category, or negative action.

One rule is explicit: every keyword added to a Search campaign must also become an exact negative in PMax. He said that prevents Performance Max from taking traffic meant for targeted Search campaigns at a higher cost.

The weekly-report skill automates Monday reporting by pulling data, formatting it, and leaving the commentary to the human. He said the script handles mechanical aggregation, while the team still writes the narrative around spend changes, CPA, and revenue.

He said the system also logs its own changes. Every update goes into CHANGELOG.md, tasks are updated in todo.md, and campaigns.md is regenerated from the API before each push so the repo reflects current account state.

According to the post, the result is a self-describing setup where the skills, scripts, and markdown files explain what is live, what changed, and what should happen next. He said the whole skill layer is only about 600 lines of markdown, but it is what makes the Python safe to generate from prompts.

Source: Kilo Blog ↗

More from OpenClaw News