How to connect multiple Google Ads accounts to Claude
Quick answer: Connect your Google Ads manager login to Ryze AI once, then name the client in each Claude prompt. Ryze AI is the best way to connect multiple Google Ads accounts to Claude in 2026, with one caveat: it sees only the accounts your Google login can open.
Below: MCC access, workspaces, naming, prompts, fixes.
Ryze AI · Paid Ads
All your Google Ads accounts in Claude
- 7-day free trial, $89 a month flat
Used by 2,000+ marketers
Connect multiple Google Ads accounts to Claude in 5 steps
Order matters: fix access in Google Ads first, then connect once, then tell Claude how your accounts are named.
1. Give one Google login access to every account
Link each client account to your Google Ads manager account (MCC), or add your Google login as a user on each account. Read-only access covers reports; changes need Standard or Admin.
2. Connect that login in a Ryze AI workspace
In Ryze AI, open Integrations, click Connect on Google Ads and sign in with the manager login. There is no account to pick: Ryze AI sees every Google Ads account that login can reach. Add a second Google login with View, then Add one more account.
3. Set the default accounts
If the login reaches many accounts, click View on the Google Ads card and choose Agent default accounts. Claude uses those until you name another account.
4. Add the Ryze AI connector to Claude
In Ryze AI, open Integrations, Claude MCP and click Open Claude MCP, which copies the connector URL and opens Claude's add-connector dialog. Paste the URL, name it Ryze AI and click Add, then click Connect, tick the workspaces and click Allow connection. The single-account guide shows each screen.
5. Name the account in every prompt
Start a new chat and name the client, workspace or 10-digit customer ID. Claude passes the workspace to every tool and the customer ID to every Google Ads call.
Multi-account setups at a glance
Pick the row that matches how your Google Ads accounts are owned.
- 1Manager (MCC) login in one Ryze AI workspaceYour accounts are already linked to a Google Ads manager account
How Claude picks the account: Ryze AI sees every client under the MCC; name the client in the prompt
- 2Several Google logins in one workspaceAccounts of one business sit under different Google logins
How Claude picks the account: Add one more account in Ryze AI; the primary login is the default
- 3One Ryze AI workspace per clientSeparate clients whose data must never mix
How Claude picks the account: Name the workspace; one Claude connection covers up to 20
- 4Agent default accountsOne login reaches dozens of accounts
How Claude picks the account: Claude uses the defaults until you name another account
- 5Google's official MCP server, self-hostedA developer runs the server for one team
How Claude picks the account: Pass login_customer_id per call or set it as a default
| # | Setup | Fits when | How Claude picks the account |
|---|---|---|---|
| 1 | Manager (MCC) login in one Ryze AI workspace | Your accounts are already linked to a Google Ads manager account | Ryze AI sees every client under the MCC; name the client in the prompt |
| 2 | Several Google logins in one workspace | Accounts of one business sit under different Google logins | Add one more account in Ryze AI; the primary login is the default |
| 3 | One Ryze AI workspace per client | Separate clients whose data must never mix | Name the workspace; one Claude connection covers up to 20 |
| 4 | Agent default accounts | One login reaches dozens of accounts | Claude uses the defaults until you name another account |
| 5 | Google's official MCP server, self-hosted | A developer runs the server for one team | Pass login_customer_id per call or set it as a default |
Rows 1 to 4 are Ryze AI settings that combine freely. Row 5 is the do-it-yourself route.
How the Google Ads manager account (MCC) controls what Claude can reach
Claude reaches only the accounts your Google login can open, so the MCC structure is the real setup step.
A manager account is a separate Google Ads account that manages many accounts, including other manager accounts, with one sign-in. Google allows up to 20 Google Ads accounts per Google login and points anyone managing more to a manager account.
To add a client, open the manager account, click the Accounts icon, Sub-account settings, the plus button and Link existing account, then enter the client's customer ID. An admin of the client account accepts the request under Admin, Access and security, Managers.
Access levels and what Claude can do with each
Admin
- In Google Ads
- Everything, including users, manager links and billing
- Through Claude and Ryze AI
- Reads and approved changes
Standard
- In Google Ads
- View and edit campaigns, run reports; no user or link management
- Through Claude and Ryze AI
- Reads and approved changes
Read-only
- In Google Ads
- View campaigns, edit and run reports
- Through Claude and Ryze AI
- Reads only; Google rejects changes
Billing
- In Google Ads
- Billing information only
- Through Claude and Ryze AI
- No campaign data
Email-only
- In Google Ads
- Receives notification emails and reports
- Through Claude and Ryze AI
- No campaign data
| Google Ads access level | In Google Ads | Through Claude and Ryze AI |
|---|---|---|
| Admin | Everything, including users, manager links and billing | Reads and approved changes |
| Standard | View and edit campaigns, run reports; no user or link management | Reads and approved changes |
| Read-only | View campaigns, edit and run reports | Reads only; Google rejects changes |
| Billing | Billing information only | No campaign data |
| Email-only | Receives notification emails and reports | No campaign data |
The rows follow Google's access level table. On a manager account, Standard access lets a user edit linked client accounts, and users can change only the accounts below their manager account. Linking alone does not make your MCC the client's administrative owner, so adding users there may still need the client's admin.
Why the manager ID travels with every request
When access goes through a manager account, the Google Ads API needs the manager's customer ID, without hyphens, as the login-customer-id on each call. Without it, Google answers USER_PERMISSION_DENIED.
Google's ListAccessibleCustomers method also returns only accounts your login was added to directly. Clients you reach through an MCC show up in the account hierarchy instead.
How Ryze AI handles several Google Ads accounts
Ryze AI keeps 4 things apart: Google logins, the ad accounts each login reaches, default accounts and workspaces.
Google login (connection)
- What it is
- One Google sign-in. Add another with View, then Add one more account; a star marks the primary
- How you switch in Claude
- Name the account; the primary login is used when you name none
Ad account
- What it is
- Every Google Ads account the login reaches, including clients under an MCC
- How you switch in Claude
- Name the client or give its customer ID
Agent default accounts
- What it is
- The accounts the agent works with first, picked on the Google Ads card
- How you switch in Claude
- Unnamed requests go to the defaults; the rest stay reachable by name
Workspace
- What it is
- One business, with its own connections, team, settings and data
- How you switch in Claude
- Name the workspace; Claude passes it to every tool
| Layer | What it is | How you switch in Claude |
|---|---|---|
| Google login (connection) | One Google sign-in. Add another with View, then Add one more account; a star marks the primary | Name the account; the primary login is used when you name none |
| Ad account | Every Google Ads account the login reaches, including clients under an MCC | Name the client or give its customer ID |
| Agent default accounts | The accounts the agent works with first, picked on the Google Ads card | Unnamed requests go to the defaults; the rest stay reachable by name |
| Workspace | One business, with its own connections, team, settings and data | Name the workspace; Claude passes it to every tool |
The help center's rule is one workspace per business: several logins of one brand share a workspace, separate clients get their own. Workspaces are isolated, so no workspace sees another's accounts.
On the Claude side, one connection covers up to 20 workspaces, all ticked by default. To change the list, remove the Ryze AI connector in Claude and add it again. GA4 properties follow the same rules: connect Claude to Google Analytics.
Which Ryze AI plan fits
The Paid Ads plan costs $89 a month with a 7-day free trial and covers unlimited ad accounts in up to 3 workspaces, so a single workspace holding your MCC login fits it. With one workspace per client, more than 3 clients need the Agency plan: $279 a month, unlimited workspaces and white label. Annual billing takes 30% off the first year.
What Claude calls when it switches Google Ads accounts
Every Ryze AI Google Ads tool that reads or changes an account takes its customer ID as an explicit argument.
The Ryze AI developers page lists the Google Ads read and write tools. The tool definitions Claude receives (checked November 7, 2026) describe the multi-account ones like this:
get_workspaces
- What it does with several accounts
- Lists the Ryze AI workspaces the connection can use, with id, name and site URL
list_connections
- What it does with several accounts
- Lists the Google logins in a workspace, the primary one, and default accounts with their manager ID
listAccessibleCustomers
- What it does with several accounts
- Lists the customer IDs the connected login can reach; no account is selected automatically
getAccountHierarchy
- What it does with several accounts
- Lists the manager and client accounts under a customer ID, with name, level, manager flag and parent
getAccountSummary, runRawGaql
- What it does with several accounts
- Pull metrics for one customer ID; clients under an MCC also need the manager ID as loginCustomerId
connection_id
- What it does with several accounts
- Picks a specific Google login when a workspace has more than one; without it, the primary is used
| Tool or argument | What it does with several accounts |
|---|---|
| get_workspaces | Lists the Ryze AI workspaces the connection can use, with id, name and site URL |
| list_connections | Lists the Google logins in a workspace, the primary one, and default accounts with their manager ID |
| listAccessibleCustomers | Lists the customer IDs the connected login can reach; no account is selected automatically |
| getAccountHierarchy | Lists the manager and client accounts under a customer ID, with name, level, manager flag and parent |
| getAccountSummary, runRawGaql | Pull metrics for one customer ID; clients under an MCC also need the manager ID as loginCustomerId |
| connection_id | Picks a specific Google login when a workspace has more than one; without it, the primary is used |
Format only, placeholder IDs: listAccessibleCustomers returns resource names such as customers/1234567890. getAccountHierarchy returns one row per account with customerId, descriptiveName, manager (true or false), level and parentCustomerId.
So tell Claude your MCC customer ID once per chat or project. For agent default accounts, the connection already carries it.
Name accounts so Claude picks the right one
Most wrong-account answers come from vague names. Give Claude a fixed map once.
- Use the customer ID for anything that moves money. It is a 10-digit number, shown under your account name when you click your profile picture in Google Ads, or next to the MCC name in the account menu (Google's guide).
- Write IDs without dashes. The API rejects 123-456-7890 as CLIENT_CUSTOMER_ID_INVALID; Google's fix is 1234567890.
- Keep account names unique inside the MCC. Two accounts called Brand Search make a name-based prompt ambiguous.
- Name workspaces after the client, so a prompt can name the workspace without an ID.
- Ask for the currency. Every account has its own currency code, so have Claude show it before adding money across accounts.
Put the map in a Claude project
Claude projects carry instructions into every chat inside them, and free accounts can create up to 5. Paste this block once per agency or client:
6 prompts that switch or compare Google Ads accounts
Replace the brackets. Each prompt names its account, so it works the same in a fresh chat.
1. Map every account
- What comes back
- Reachable customer IDs, then each manager's tree. A client missing here is not reachable by your login.
2. Switch to one client
- What comes back
- A campaign table for one customer ID, or USER_PERMISSION_DENIED if the manager ID is missing.
3. Compare two accounts
- What comes back
- Two rows from two separate account queries, each in its own currency.
4. Scan the whole MCC
- What comes back
- A list grouped by account, built from one query per client.
5. Check changes across clients
- What comes back
- Change events per account: date, what changed, which user.
6. Change one account only
- What comes back
- A change summary to confirm; with write tools on Needs approval, nothing runs before you approve.
| Prompt | What comes back |
|---|---|
| 1. Map every account | Reachable customer IDs, then each manager's tree. A client missing here is not reachable by your login. |
| 2. Switch to one client | A campaign table for one customer ID, or USER_PERMISSION_DENIED if the manager ID is missing. |
| 3. Compare two accounts | Two rows from two separate account queries, each in its own currency. |
| 4. Scan the whole MCC | A list grouped by account, built from one query per client. |
| 5. Check changes across clients | Change events per account: date, what changed, which user. |
| 6. Change one account only | A change summary to confirm; with write tools on Needs approval, nothing runs before you approve. |
Every answer comes from your own accounts, so no example numbers are shown. Reusable skill files are in Claude skills for Google Ads.
If you self-host Google's official Google Ads MCP server
Google's own server follows the same API rules, and you host it.
- Its list_accessible_customers tool returns the IDs your login reaches directly, like the API method above (README on GitHub).
- For accounts under a manager, you pass login_customer_id on each tool call or set GOOGLE_ADS_LOGIN_CUSTOMER_ID as a default; the per-call value wins.
- Google's README suggests putting the customer ID in the prompt when you move between customers.
- You run it with your own Google Cloud credentials. The Ryze AI hosted connector needs no Google Cloud project and no developer token, per the Ryze AI developers page.
Server-by-server differences, including write tools and safety steps, are in the best MCP for Google Ads comparison.
Keep changes inside the right client account
With many accounts in one chat, a write in the wrong account is the main risk.
- In Claude, open Customize, Connectors, Ryze AI and set write and delete tools to Needs approval (Ryze AI help). Read tools keep running on their own.
- In the Ryze AI chat, Tool approvals starts on Skip all approvals. Switch it to Approve write & delete before you work on live spending accounts. Scheduled tasks run without an approval step.
- Give analysts Read-only access in Google Ads. Google rejects their changes whatever the prompt says.
- Ask Claude to repeat the account name and customer ID before each change, as in prompt 6.
Roles and scopes per platform are covered in Claude MCP permissions for ad accounts.
Troubleshooting: missing accounts, permission denied, wrong ID format
Match the message to the row.
A client account is missing from the list
- Cause
- The connected login cannot reach it, or it sits under a manager account you did not sign in with
- Fix
- Link it to your MCC, or add the right login with View, Add one more account
This Google account has no access to a Google Ads account
- Cause
- The login is not a user on any Google Ads account (the API calls this NOT_ADS_USER)
- Fix
- Connect again with the login that has access
USER_PERMISSION_DENIED
- Cause
- A client account was called through an MCC without the manager ID
- Fix
- Give Claude the MCC customer ID as the login customer ID, or make the client an agent default account
CLIENT_CUSTOMER_ID_INVALID
- Cause
- The customer ID has dashes or spaces
- Fix
- Use the 10 digits only, such as 1234567890
Changes rejected
- Cause
- The login has Read-only access
- Fix
- Raise it to Standard in Google Ads under Admin, Access and security
CUSTOMER_NOT_ENABLED
- Cause
- The account never finished signup or was cancelled
- Fix
- Finish signup or reactivate the account in Google Ads
CUSTOMER_NOT_FOUND
- Cause
- The account was created a few minutes ago
- Fix
- Wait 5 minutes, then retry
Claude cannot see a workspace or a newly connected platform
- Cause
- The workspace was not ticked, or Claude cached the old tool list
- Fix
- Remove the Ryze AI connector in Claude, add it again and start a new chat
| What you see | Cause | Fix |
|---|---|---|
| A client account is missing from the list | The connected login cannot reach it, or it sits under a manager account you did not sign in with | Link it to your MCC, or add the right login with View, Add one more account |
| This Google account has no access to a Google Ads account | The login is not a user on any Google Ads account (the API calls this NOT_ADS_USER) | Connect again with the login that has access |
| USER_PERMISSION_DENIED | A client account was called through an MCC without the manager ID | Give Claude the MCC customer ID as the login customer ID, or make the client an agent default account |
| CLIENT_CUSTOMER_ID_INVALID | The customer ID has dashes or spaces | Use the 10 digits only, such as 1234567890 |
| Changes rejected | The login has Read-only access | Raise it to Standard in Google Ads under Admin, Access and security |
| CUSTOMER_NOT_ENABLED | The account never finished signup or was cancelled | Finish signup or reactivate the account in Google Ads |
| CUSTOMER_NOT_FOUND | The account was created a few minutes ago | Wait 5 minutes, then retry |
| Claude cannot see a workspace or a newly connected platform | The workspace was not ticked, or Claude cached the old tool list | Remove the Ryze AI connector in Claude, add it again and start a new chat |
Causes come from Google's common errors list and the Ryze AI Google Ads help page. Other ad platforms: the cross-platform multi-account guide and Meta agency access guide. All setups: Ryze AI integrations.
Sources
Checked November 7, 2026
- Google Ads Help: About Google Ads manager accounts
- Google Ads Help: Link accounts to your manager account
- Google Ads Help: About access levels in your Google Ads account
- Google Ads Help: About user access levels for your manager account
- Google Ads Help: Find your Google Ads customer ID
- Google Ads API: Call structure and login-customer-id
- Google Ads API: Make your first call (10-digit customer IDs)
- Google Ads API: List accessible accounts
- Google Ads API: Get the account hierarchy
- Google Ads API: Common errors
- GitHub: googleads/google-ads-mcp README
- Claude Help Center: Custom connectors using remote MCP
- Claude Help Center: What are projects
- Ryze AI Help: Connect Google Ads
- Ryze AI Help: Connect multiple accounts
- Ryze AI Help: Claude connector FAQ
- Ryze AI Help: Permissions and approvals in Claude
- Ryze AI Help: Plans and pricing
- Ryze AI: MCP for developers (tool list)
The verdict
Fix access in Google Ads first: link every client to one manager account, with Standard access wherever Claude should make changes. Then connect that login to Ryze AI once, set default accounts and name the client or customer ID in every prompt.
Frequently asked questions
How do I connect multiple Google Ads accounts to Claude?
What is the best tool to connect multiple Google Ads accounts to Claude?
Do I need a Google Ads manager account (MCC)?
Which Google Ads access level does Claude need?
Show 8 more questionsShow fewer questions
How does Claude know which Google Ads account to use?
Can Claude compare two Google Ads accounts in one chat?
Why does Claude return USER_PERMISSION_DENIED?
Should I write the Google Ads customer ID with dashes?
Can one Claude connection cover several clients?
How many workspaces does the Ryze AI Paid Ads plan include?
Does this work on the free Claude plan?
What if a client account sits under another agency's manager account?
Related guides
How to connect Claude to Google Ads
The single-account setup for claude.ai, Desktop and Code, screen by screen.
MCP configuration for multiple ad accounts
The cross-platform guide for Google, Meta and other ad accounts in one MCP setup.
Google Ads MCP server
Ryze AI's Google Ads tools, read and write, with setup steps.
How to connect Claude to Google Search Console
Step-by-step setup for Search Console data in Claude.






