The nightmare version of this question is vivid: an AI misreads an instruction and a year of campaign history vanishes. The realistic answer is structural, and calmer. A connected agent can read and run your entire Google Ads account at the speed of a sentence — but it holds exactly the capabilities its server exposes as tools, no more. It can delete a campaign only if someone shipped it that power, and whether yours did was decided by the vendor before you ever typed a prompt.
The answer first: it depends on the server's tool list
An MCP-connected AI does not have arms. It has a list of named tools —
search, update_campaign, and so on — and it can only do what a
listed tool does. If the server ships remove_campaign, then yes, the AI
can delete, gated by whatever approvals your client enforces. If the
server does not ship it, the AI cannot delete a campaign any more than it
can print a document on your desk. The question to put to any vendor is
therefore concrete: which tools, exactly, does your server expose?
What deletion means in Google Ads — and why removed is forever
Google Ads has three statuses for a campaign: enabled, paused, removed. The first two are reversible states; the third is an ending. Per Google's own help on enabling, pausing and removing campaigns, a removed campaign is stopped permanently and cannot be resumed or restored — reporting data remains viewable, but the campaign, its settings and its accumulated optimisation history are unrecoverable. In the API, the same finality wears a technical costume: setting status to REMOVED is the delete.
That asymmetry — every other change can be walked back, this one cannot — is the entire design problem. It deserves a different class of protection from everything else.
How AdCopilot removes the possibility at the protocol level
AdCopilot's underlying server implements 36 tools; hosted connectors
expose 32. The four missing ones are the remove_* tools, and they are
not hidden or disabled — they are absent from the tool list your AI
client ever sees. An agent cannot call a tool it was never given.
A second, independent layer backs the first: every mutate request is inspected server-side, and any write carrying a REMOVED status — in any letter case, through any tool — is refused before it reaches Google. Ask your connected agent to delete a campaign, deliberately, and you get the refusal back in the conversation. Both layers live in the server, not in the model's instructions, which is the difference between a safety property and a promise. The full argument for building it this way is in the case for AI that cannot delete, and the wider model in the security overview.
The remaining risk surface, honestly sized
No delete tools does not mean no risk. It means the risk that remains is bounded and reversible, and it is worth naming plainly:
- A wrong pause. Approved in haste, a healthy campaign stops delivering until re-enabled. Cost: the hours it sat paused.
- A wrong budget or bid change. Spend shifts until you notice and revert. Cost: bounded by the size of the change and your reaction time.
- An unwanted addition. A keyword or asset you did not want, created paused or live. Cost: pausing it.
Every item on that list is undone with the same class of action that caused it, using change history to find it and flip it back — the full mechanics are in can AI changes be undone. What is absent from the list is any entry reading "gone forever". That is the entire point of the design: risk did not vanish, it changed species, from permanent to recoverable — and recoverable risk is the kind that approvals, logs and habit are actually good at managing.
How to audit any tool's delete capability before connecting
Four checks, five minutes, no trust required:
- Ask the vendor for the tool list. A written inventory of exposed tools, with the delete answer explicit. Refusal to publish one is an answer too.
- Ask the agent itself. Once connected, "list your available tools"
returns ground truth — look for
remove_ordelete_prefixes. - Try it, once, deliberately. Ask it to delete a test campaign. You want a refusal from the server, not a compliant approval prompt.
- Check where enforcement lives. "The AI is instructed not to" is a prompt rule; instructions lose to confusion and injection. Server-side refusal is architecture.
The worst-case walkthrough
Assume everything goes wrong that can: the agent misunderstands you, you approve without reading, and the change is bad. Through a connector with no delete tools, that sequence ends with a campaign paused or a budget moved — visible in Google's change history with a timestamp, attributed to your sign-in, reversible in one action. The same sequence through a tool that ships delete ends, at its worst, with something permanent. Choose the failure mode before you choose the tool, and the vivid version of this question stays hypothetical.
The four checks above cost five minutes against any vendor — start a free pilot and run them against AdCopilot first, deliberate delete request included.
Frequently asked questions
Can a deleted Google Ads campaign be restored?
No. Google's own documentation is unambiguous: removing a campaign stops it permanently, and a removed campaign cannot be re-enabled — its data stays visible for reporting, but the campaign itself is gone. Rebuilding means recreating it and losing accumulated learning. That permanence is exactly why delete belongs outside an AI's toolset rather than behind an approval prompt.
Can the AI pause everything by mistake?
Not silently. Pausing is a write, and writes surface in your AI client for approval before executing — a mass pause would arrive as visible tool calls naming each campaign. If you approved one in error, pause is the reversible primitive: re-enabling restores delivery, and the campaign keeps its history, settings and stats throughout. The audit trail and Google's change history show exactly what to flip back.
Why not just gate deletion behind an extra approval instead of removing it?
Because an approval can be granted in a hurry, and REMOVED cannot be ungranted. Approval gates suit reversible actions, where a wrong yes costs an undo. For an irreversible action, the stronger guarantee is absence: a tool that does not exist cannot be called, no matter what the model misunderstands or a prompt injection requests. Capability-absence beats politeness.
Try it on your own account for a week
The full set of tools for the week, so you can see what it actually does — and it still cannot delete anything. No cost, no card, no contract: you connect your own Google account and can withdraw the access whenever you like.
- Up to 5 accounts
- One week
- Full tools
- No card
- Autonomous agentsLevels of autonomy in Google Ads management, which optimisation work is safe unattended versus which needs approval, and why irreversible actions should not be automated.
- Google Ads MCP serverWhat a Google Ads MCP server is, how free self-hosted servers compare to a hosted one, the full tool list AdCopilot exposes, and what you need to connect.
- Connect ClaudeStep-by-step instructions for adding a Google Ads MCP connector to Claude Desktop, claude.ai and Claude Code, including what to ask it first and how to revoke access.
- Connect ChatGPTStep-by-step instructions for adding a Google Ads MCP connector to ChatGPT, what it can read and change, and how to withdraw access.