← All posts

  • claude-code
  • ad-ops
  • automation
  • workflows

Can you automate ad ops with Claude Code?

What actually works when you automate ad ops with Claude Code, and where the pitfalls are: data pulls, reporting, anomaly detection — and the design decisions worth settling before you hand anything over, from where we sit building ad-ops tooling.

Can you automate ad ops with Claude Code?

Translated from the Japanese original on mureo.jp.

The recent AI trend has shifted from asking a chatbot questions to handing actual work over to AI agents. So can ad ops be automated with AI as well? This article answers the question “can you automate ad ops with Claude Code?” The short answer is yes. Connect the Google Ads and Meta Ads APIs over MCP and you can automate pulling data, assembling reports, and finding and pausing campaigns whose CPA has deteriorated.

But once you run it against your own account, the question quickly turns into a different one: how much can you safely hand over? That is the line between operations that work and operations that turn into accidents.

This article walks through what actually runs when you use Claude Code for ad ops, the walls you will inevitably hit, and the design decisions to settle before you delegate. We build mureo, a tool that turns exactly this into a product.

What Claude Code can actually do

First, here are the parts that start working without anything elaborate.

Pull data across multiple platforms. Every platform has its own query conventions — GAQL for Google Ads, the Insights API for Meta Ads. Claude Code assembles and runs those queries from plain language, then reconciles the numbers that come back to tell you what is working and where you are leaking. Opening each platform’s console in turn is replaced by a single question.

Automate the daily check. Every morning, pull the numbers for every account, catch what is off against yesterday and against target, and surface only what needs attention. This is the work best suited to automation. What eats an entire morning when a human does it becomes a matter of receiving the results.

Detect anomalies and alert you. Set conditions like “CPA exceeds target by 20%” or “conversions have been zero while delivery continues,” and you can wire up an integration that finds the matches and posts them to Slack. The situation where you only notice in the evening becomes dramatically rarer.

Produce creative at volume. People are also connecting Figma’s API, decomposing the elements of existing winning creative, and generating dozens of banner variants around a new angle. It pays off less in going from zero to one and more in getting from one to fifty quickly.

Everything up to this point is achievable by connecting MCP or APIs to Claude Code. In other words, AI can automate ad ops, and the cost of the work goes down.

Even so, it is not something you can call safe

The problem is that work getting faster and operations going well are two different things. Once you actually start delegating, most people trip on the same places.

The wall at the entrance. If you run it in your own environment, ad platform APIs require you to obtain a developer token. This may be where the largest number of people stop. It is a one-time procedure, but most people are unfamiliar with it, so it feels heavy the first time.

Being wrong, faster. This is the essential pitfall. Delegate without handing over the criteria for judgment and the AI will look only at the surface of the numbers and quickly execute changes that look plausible. It can shift budget toward a product you do not want to grow as a business, purely because its CPA is low. The faster the hands, the faster the mistakes spread.

Hallucination, and execution that does not stop. Get one thing wrong in your GAQL and the query fails with an error; what is more troublesome is a wrong change that passes as plausible. Claude Code’s agent is capable and will write its own code to make things run. If bids or budgets get touched on a “this seems about right” basis, undoing it later takes work.

Losing the ability to explain. “Why did you change this campaign’s budget last week?” When a client or your manager asks that, you cannot answer if there is no record of the changes the AI made with good intentions. Ad ops is work where you are asked not just for results but for reasons.

So getting Claude Code to do ad ops is easy. Delegating ad ops to it requires design that is separate from automating the work.

Not “automating the work” but “designing to keep judgment”

This is also why we built mureo. Connecting APIs is, with Claude Code, something anyone can now do. The value is in how you design what sits around it. How much you can delegate depends on whether you settle these four things first.

Hand over the criteria for judgment, in writing, up front. Persona, strengths, brand thinking, goals. Write them down once and make every diagnosis reference them. The AI then proposes in order of “closest to the business goal” rather than “cheapest CPA.” Optimizing numbers and optimizing the business often diverge. What closes that gap is criteria a human articulated in advance.

Narrow the scope of permitted changes in advance. Read-only by default. For anything that touches budgets or bids, what matters is that you either require approval or set a ceiling. Running safely with a trainee at the controls, or during a sensitive delivery window, requires this “do not act on your own” design.

Keep every change in a log. What was changed, why, and when. Keep it in a form you can revert, and you can answer “why did this move?” with a record. Accountability in ad ops is discharged with records, not memory.

Do not let credentials leave. Keep ad account credentials inside your own environment as much as possible. No cloud relay; send them only to the official APIs. Precisely because the party you are delegating to is an AI, this part needs to be firm.

None of these are flashy features. But once you actually start building ad ops on Claude Code, this is where you will end up.

How a day of operations runs

What do the capabilities and the design look like in an actual day? Here is the flow from checks to changes, in time order.

The morning starts with the check. Pull yesterday’s spend, conversions, and CPA for every account, look at them against yesterday and against target, and surface only what is off. The aim is to reach a state where healthy campaigns do not need to be read at all. No human judgment is involved up to this point, so it can be delegated as is.

When an anomaly shows up, the next step is isolating the cause. When CPA rises, the reason is not necessarily one thing. Did the search terms broaden? Did the placements shift? Is the creative fatiguing? Or is the measurement side broken? Claude Code is strong at checking those four separately and laying them out. Which one is the primary cause is judged by someone who knows the business situation.

When it is time to make a change, insert approval. Have anything that touches budgets or bids come out as a proposal that a human signs off on. Whether that one extra step exists determines whether you can revert later. For changes that go through, record what was changed and why.

Once a week, look at whether the changes you made worked. Compare before and after around the date of the change and confirm it moved in the intended direction. Skip this and changes just pile up until nobody knows which one worked.

Of this flow, the morning check and the weekly review require almost no judgment. When you widen the scope of what you delegate, starting with these two is the safe route.

How to get started with mureo

No heavy preparation is needed. How about trying the following?

  1. Run it locally. It runs on top of Claude Code (or Codex, or Cursor). mureo has a free OSS edition, so you can start by watching how it behaves on one of your own accounts.
  2. Connect your accounts. Link up Google, Meta, and so on. Get the developer token issued ahead of time. With MCP, a developer token is sometimes unnecessary.
  3. Start by delegating the daily check. Do not delegate changes right away; first run only “check and propose.” Once its read on the numbers starts matching your own instinct, widen the scope of changes gradually, with approval attached.

Not trying to automate everything from the start is, in the end, the shortcut. Delegate the checks and spend the time that frees up on tightening the criteria you delegate against. That is the order that turns Claude Code from a tool for being wrong faster into an ad ops partner that keeps judgment intact.

Frequently asked questions

Are there costs beyond ad spend?

There is the cost of using Claude Code. mureo has a free OSS edition, so you can try it without paying for the tool itself. Neither Google Ads nor Meta Ads charges for API use in itself.

Do I need programming knowledge?

Not for the operations themselves. The initial connection does involve getting a developer token issued and editing a configuration file. It is the kind of work where you follow the steps; there is almost no point at which you write code. The per-platform steps are collected in the related guides.

Can it run alongside my current setup?

Yes. You do not have to delegate changes from the start; you can begin with read-only permissions and run only checks and proposals. Widening the scope of changes once its read on the numbers matches your own instinct is plenty.

How does it help if an agency runs my ads?

You use it on the receiving end of the reports. Pull the numbers yourself as well and verify from a different angle how they stand against your goals. Without taking operations back in-house, it works as a way to raise the precision of the questions you ask your agency.

Can I revert an incorrect change?

You can if you keep a log of changes. Conversely, if you run without that design, you start from having to identify what changed at all. The safety-side design is collected in a separate article.