AI hallucination is a language model asserting something plausible that is not true. In PPC work it has a specific, recognisable shape: a metric that was never fetched, a setting described from memory of how accounts usually look, a tidy month-on-month comparison for a month the model never saw. The numbers arrive fluent, formatted and wrong — and the tell is always the same: no tool call behind them.
The word suggests malfunction, but the mechanism is ordinary. A language model is a prediction engine, not a database; asked for your CTR without access to your account, the only thing it can produce is a statistically plausible CTR. Confabulation is what filling a gap looks like when the generator is fluent.
How hallucination happens — and what grounding changes
Ungrounded, the failure modes in ads work are predictable. Invented metrics: ask a disconnected chatbot about your wasted spend and it will discuss plausible wasted spend, sometimes with invented specifics. Misremembered configuration: descriptions of your settings drawn from the average of all accounts rather than yours. Plausible-but-wrong technicalities: GAQL queries with field names that nearly exist. Each error is fluent enough to survive a skim, which is what makes the class dangerous in a spend context.
Grounding changes the equation structurally. An agent connected to the account through tool calls does not need to imagine your data — it fetches, and the fetch is visible: tool, account, query, result, all shown in the client. For anything actually retrieved, the invented-number problem disappears, because the number has a receipt.
What grounding does not do is finish the job. A connected model can still misread what a tool returned, carry a stale figure forward through a long conversation, or quietly bridge an ungrounded gap with pattern memory. The failure shrinks from "made up" to "mishandled" — a smaller problem, and still a problem.
The receipts habit that closes the gap
The working discipline is receipts: every number that matters should trace to a visible tool call. Clients display each call an agent makes, so the check costs seconds — the metric either has a fetch behind it, with the date range you intended, or it is conversation. This is the same verification habit that applies to changes — trust the log, not the recollection, as argued in verify what your AI changed — extended to reads.
Prompt patterns push in the same direction, and they are simple enough to paste at the top of any working session:
Only report numbers returned by tool calls in this conversation.
State the date range with every metric.
If data is unavailable, say so — do not estimate.
Show which query produced each table.
Instructions like these convert the model's default helpfulness — filling gaps smoothly — into the behaviour a spend system needs: flagging gaps loudly. A fuller set of working rules is in the prompt guidelines for Google Ads AI.
The honest summary: hallucination is why an unconnected chatbot cannot manage an ad account, and grounding-plus-receipts is why a connected agent can. The difference is not a smarter model. It is an architecture in which asserting requires fetching — and a user who glances at the receipts.
Frequently asked questions
Can a connected AI still hallucinate?
Yes — less, and differently. Grounding through tool access removes the invented-number problem for anything the model actually fetched, but it can still misread a result, blur two campaigns in a long conversation, or fill an ungrounded gap from pattern memory. Verification stays in the workflow; connection shrinks the problem, it does not retire it.
How do I know a number came from my account?
Check the receipts. Your client shows every tool call the agent made — which tool, which account, what came back — so a real number traces to a visible call and query. If a metric appears with no call behind it, treat it as unverified and ask the agent to fetch it. The habit costs seconds and converts trust into inspection.
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.