Errors

The result envelope, and what the common errors are telling you to do next.

Every tool returns a JSON object with an ok flag. There are no HTTP status codes to interpret at the tool level — read the envelope.

{ "ok": false, "error": "No Google Ads account connected for this workspace." }

On success:

{ "ok": true, "campaigns": [ /* … */ ] }

What the error is telling you

The error mentions…Do this
not connectedRun the setup flow: gads_get_connect_url, then discover and import.
a required projectIdYou're using an org-scoped token — call gads_list_ad_accounts and pass a projectId.
write scope requiredMint a write token (a read token can't call gads_propose_* or approvals).
stale data / dataFreshnessgads_trigger_sync, wait, then re-read. Don't act on stale numbers.
rate limitYou hit the per-user cap. Retry after the interval — see Rate limits.
a policy violationThe dry-run caught an advertising-policy issue; it's recorded as failed and, for keyword adds, appealable.

Write tools return a mode (auto_applied or queued), a riskTier, and policyReasons even on success — so you always know whether a change went live or is waiting in Approvals.

On this page