Connect Google Ads to Claude in ~20 minutes. Unlike Meta Ads (which has a 60-second official connector), Google has no official MCP yet — so you bring your own developer token + OAuth credentials. StackPicks Connect stores them encrypted and proxies read-only queries.
Before you start
You need:
- A Google account with access to a Google Ads account.
- Free Google Cloud project (created in step 4).
- A free StackPicks account.
Step 1 — Create a Manager (MCC) account
Developer tokens only come from Manager accounts.
- Go to https://ads.google.com/intl/en/home/tools/manager-accounts/
- Click Create a manager account → use the Google login that owns your Ads.
- Pick a name, choose "Manage other people's accounts", set country/timezone/currency → Submit.
Skip if you already have an MCC.
Step 2 — Link your ad account to the MCC
- Inside the MCC: Admin → Sub-account settings → + → Link existing account → enter your Customer ID.
- Switch to your direct Ads account: Admin → Access and security → Managers → Accept.
Step 3 — Apply for a Developer Token
- Inside the MCC: Tools (wrench) → Setup → API Center.
- Fill the form: company name, URL, "Independent Google Ads Developer", contact email.
- Submit → Test Access token issued instantly.
- For real campaigns, click Apply for Basic Access → answer the form, upload a 1-page design doc → ~3 business days.
- Copy the token (22 chars).
Step 4 — OAuth credentials in Google Cloud
- https://console.cloud.google.com → create or pick a project.
- APIs & Services → Library → search "Google Ads API" → Enable.
- Credentials → Create Credentials → OAuth client ID → type Web application.
- Authorized redirect URIs:
https://developers.google.com/oauthplayground - Create → copy Client ID + Client Secret.
Step 5 — Get a refresh token
- Open https://developers.google.com/oauthplayground
- Gear icon (top right) → tick Use your own OAuth credentials → paste your Client ID + Secret → Close.
- In the left panel input box, paste: `https://www.googleapis.com/auth/adwords` → Authorize APIs → log in with the Google account that owns your Ads → Allow.
- Click Exchange authorization code for tokens → copy the Refresh token (starts with
1//).
Step 6 — Connect on StackPicks
- https://stackpicks.dev/connect → click Google Ads.
- Paste this JSON (substituting your 4 values):
```json
{"developer_token":"…","client_id":"…","client_secret":"…","refresh_token":"…"}
```
- Confirm.
Step 7 — Use it in Claude
- Claude → Settings → Connectors → Add custom connector → paste
https://stackpicks.dev/api/mcp→ sign in. - Ask: *"List my Google Ads accounts"*.
- Then: *"Show last 7 days campaign performance."*
Same MCP URL works in Cursor, Cline, and Windsurf.
What Claude can do
5 tools, all read-only:
google_ads_search— any GAQL query (the flexible primary tool)google_ads_get_resource_metadata— list fields on a resourcegoogle_ads_list_accounts— accessible customer IDsgoogle_ads_list_campaigns— campaigns with status + budgetgoogle_ads_campaign_performance— spend, clicks, conversions, CTR, CPC for a date range
Security
Tokens encrypted at rest (AES-256-GCM) with Row-Level Security. Access tokens minted just-in-time, never stored. Revoke any time on /dashboard/connections.
Common errors
| Error | Fix |
|---|---|
| "User in the cookie is not a valid ads user" | The Google login in Step 5 doesn't own the Ads account. Re-do Step 5 with the right login. |
| "Developer token is not approved" | You're on Test Access trying to read a real account. Wait for Basic Access or use a test account. |
| "AUTHENTICATION_ERROR" | Refresh token revoked. Re-run Step 5, paste fresh JSON. |
| Bad JSON | Verify all 4 keys: developer_token, client_id, client_secret, refresh_token. |
Next
Pair with Meta Ads — Meta has a 60-second official connector. Then ask Claude: *"Compare last 7 days CPC and ROAS across Google + Meta, flag underperformers."* Cross-platform ad ops in one prompt.
Related reading
- Connect Meta Ads to Claude via MCP
- ChatGPT Ads Explained
- One MCP for All Your Apps — why unified gateways win