{
 "schema": "aiblocks-page/1",
 "id": "google-ads-developer-access-setup-planner",
 "type": "skill",
 "name": "Google Ads developer access checker",
 "summary": "Plan a safe read-only test of your Google Ads API access, covering developer token, OAuth login and manager account, with no secret shown.",
 "headline": "Google Ads developer access checker",
 "subhead": "Give it your manager and target account IDs, your developer token's access level and the names of your settings. It plans one small read-only request that proves your Google Ads API access works. You get a settings check, an error map and a probe plan, with no secret exposed.",
 "job": {
  "id": "connect-tools",
  "name": "Connect AI to your tools"
 },
 "level": "intermediate",
 "thinking": "medium",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-25",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  },
  {
   "type": "plan",
   "required": false,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "code_change",
   "required": false,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "you_give": [
  "Your manager account ID and the target account ID (redacted is fine)",
  "The access level your developer token shows in your manager account",
  "Your OAuth client type, such as desktop or web",
  "The names of your secret settings and where they are stored (not the values)",
  "The file in your code that loads these settings (optional)"
 ],
 "you_get": [
  "A map from manager account to target account",
  "A present, missing or unknown list for each setting, by name",
  "A plan for the OAuth step and where each secret is stored",
  "One small read-only test, with what a correct answer shows",
  "An error map and a list of checks that did not run, with reasons"
 ],
 "use_when": [
  "You have a developer token and an OAuth client, and the first Google Ads API call fails with \"permission denied\" or \"not authorized\".",
  "You manage client accounts through a manager account and the target account does not show up.",
  "You are moving from a test account to a live one and want to know what access level you need.",
  "A teammate handed you a script that is not in the repository and you need a safe way to check access."
 ],
 "skip_when": [
  "You haven't made the Google Cloud project or OAuth client yet. Use the Google Ads OAuth setup planner first.",
  "You want to change campaigns, budgets or ads. This is read-only and changes nothing.",
  "You want to pull reports and analyse results. Get access working here, then use the Ad sales drop analyst on an export.",
  "You are connecting Meta, not Google. Use the Meta developer app setup planner."
 ],
 "output_sample": {
  "input": [
   "Your manager account ID and the target account ID (redacted is fine)",
   "The access level your developer token shows",
   "Your OAuth client type",
   "The names of your secret settings and where they are stored"
  ],
  "prerequisites": [
   "A Google Cloud project and OAuth client, made with the Google Ads Cloud and OAuth client planner",
   "A manager account linked to the account you want to read"
  ],
  "output": [
   {
    "name": "ACCESS MAP",
    "contains": "The manager account and the target account, redacted, and the read-only use."
   },
   {
    "name": "SETTINGS CHECK",
    "contains": "Each setting by name, marked present, missing or unknown, with where it is stored."
   },
   {
    "name": "TOKEN AND OAUTH PLAN",
    "contains": "Who does each login step and where each secret ends up."
   },
   {
    "name": "READ PROBE",
    "contains": "The one small read-only request, the login ID it uses and what a correct answer shows."
   },
   {
    "name": "ERROR MAP",
    "contains": "Each kind of failure matched to one likely cause and the first thing to check."
   },
   {
    "name": "NOT RUN",
    "contains": "Every check that did not run, with the exact reason."
   },
   {
    "name": "NEXT STEP",
    "contains": "The one smallest step to take next."
   }
  ]
 },
 "output_shape": "BASIS\n<what was read>\nMISSING: <each missing input and what it stops>\n\nACCESS MAP\n<manager, redacted> -> <target, redacted> | <read-only use>\n\nSETTINGS CHECK\n<field name> | PRESENT / MISSING / UNKNOWN | <where stored>\n\nTOKEN AND OAUTH PLAN\n<step> | <who does it> | <what is stored where>\n\nREAD PROBE\n<the one read> | <login ID used> | <correct answer> | <redacted result or NOT RUN>\n\nERROR MAP\n<symptom> | <likely cause> | <first check>\n\nNOT RUN\n<check> | <exact reason>\n\nNEXT STEP\n<the smallest useful thing to do now>",
 "how_to_use": [
  "Open the skill in your AI. An AI that can read your code, such as Claude Code or Codex, is best. A plain chat works too.",
  "Paste your account IDs (redacted is fine), your token's access level and your setting names. Never paste a token, secret or refresh token. If you did, replace it.",
  "Read SETTINGS CHECK first. Fix every MISSING item in your own secure settings.",
  "Read the READ PROBE. Run that one request yourself, then send back the redacted result.",
  "If it fails, use the ERROR MAP to find which of the three parts broke.",
  "Keep your notes with the account IDs redacted before you share them."
 ],
 "checks": [],
 "next": [
  {
   "name": "AI tool builder",
   "url": "https://useaiblocks.com/skills/ai-tool-designer",
   "why": "AI tool builder"
  }
 ],
 "source": null,
 "credits": [],
 "files": [
  "references/worked-example.md"
 ],
 "links": {
  "page": "https://useaiblocks.com/skills/google-ads-developer-access-setup-planner",
  "markdown": "https://useaiblocks.com/skills/google-ads-developer-access-setup-planner.md",
  "json": "https://useaiblocks.com/skills/google-ads-developer-access-setup-planner.json",
  "instructions": "https://useaiblocks.com/skills/google-ads-developer-access-setup-planner/SKILL.md",
  "download": "https://useaiblocks.com/skills/google-ads-developer-access-setup-planner.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/google-ads-developer-access-setup-planner",
  "api_document": "https://useaiblocks.com/api/v1/documents/skill/google-ads-developer-access-setup-planner",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
