By Ira Bodnar, Ryze AI · Updated
Quick answer
To connect ChatGPT to Google Ads, connect Google Ads in a Ryze AI workspace with your Google sign-in, then in ChatGPT Plugins add https://connector.get-ryze.ai/mcp as a custom MCP server with OAuth, sign in to Ryze AI, allow the workspace and start a new conversation.
- In Ryze AI open Integrations, find Google Ads and click Connect
- In ChatGPT open Plugins, click the plus button and choose Add custom MCP server
- Enter the name Ryze AI, the URL above and OAuth, then Create as a plugin
- Sign in to Ryze AI, click Allow connection, install, start a new conversation and type @
Before you start
- A ChatGPT plan that allows custom MCP servers. OpenAI says custom MCP server connections and full MCP support are available for ChatGPT Business and Enterprise/Edu customers on ChatGPT web. Pro users can connect custom MCP servers with read and fetch permissions only, so write actions are not available there. OpenAI's article does not mention Free, Go or Plus.
- Admin rights on Business. On Business only admins and owners can create and publish plugins for custom MCP servers. On Enterprise/Edu, admins and owners can, and admins can grant other members permission through RBAC. Members who cannot add it themselves ask an admin.
- A Google login with access to a Google Ads account. Sign in with the login that already reaches your ad accounts. Standard or admin access is needed to allow changes; with read-only access ChatGPT can report but not change anything.
- A Ryze AI workspace on a plan or free trial. Paid Ads is $89 per month with a 7-day free trial; Agency is $279 per month. Connecting the connector is free, and the Google Ads tools need an active plan or trial.
- ChatGPT on the web. OpenAI says custom MCP servers cannot be connected on mobile.
How to connect ChatGPT to Google Ads
Two steps happen in Ryze AI and Google, then ChatGPT gets the connector URL. The URL is the same for every user.
Connect Google Ads in Ryze AI
Create a Ryze AI account or sign in, open Integrations in the left sidebar and find Google Ads under Advertising. Click Connect, sign in to Google with the login that has access to your ad accounts and approve access with every requested permission checked.
Confirm the card shows Connected
Back in Ryze AI the card shows Connected. There is no account to pick: Ryze AI sees every Google Ads account that login can reach. Optionally click View and use Agent default accounts to choose the accounts the agent works with first.
Open Plugins and add a custom MCP server
In ChatGPT on the web go to Plugins (chatgpt.com/plugins), select the plus button, then Add custom MCP server. Developer Mode does not need to be turned on first; account and workspace policies still apply.
Enter the name, URL and OAuth
Enter the name Ryze AI and, if you like, a description. Under Connection enter the public URL https://connector.get-ryze.ai/mcp. For authentication choose OAuth, review the risk warning and select I understand and want to continue.
Create the plugin and review the tools
Select Create as a plugin and review the tools ChatGPT discovered. The list should include the google_ads tools once Google Ads is connected.
Sign in to Ryze AI and allow the workspace
Complete the Ryze AI sign-in when ChatGPT asks, choose the workspace that holds your Google Ads connection and click Allow connection. One connection can cover up to 20 workspaces.
Install it and ask your first question
Install the plugin, start a new conversation, type @ and select Ryze AI. Then ask: Show Google Ads spend, conversions and ROAS by campaign for the last 30 days.
The Ryze AI help center Google Ads guide covers the Google side of the connection, and the Ryze AI help center ChatGPT guide covers the ChatGPT side.
The older custom app flow
The Ryze AI help center still describes ChatGPT's older custom app route. If your workspace shows Settings, Apps instead of the Plugins page, the steps are:
- Open Settings, Apps, Advanced settings and turn on Developer mode.
- Click Create app.
- Name it Ryze AI, set the MCP server URL to https://connector.get-ryze.ai/mcp (keep Server URL, not Tunnel) and choose OAuth.
- Tick I understand and want to continue, then click Create.
- Click Sign in with Ryze AI, log in, choose workspaces and click Allow connection.
- Start a new chat.
OpenAI's current flow starts from Plugins and does not need Developer mode, so the Developer mode toggle could not be verified in OpenAI's current docs. Use whichever path your account shows.
Business and Enterprise publishing
On Business and Enterprise/Edu an admin or owner connects and tests Ryze AI first, then publishes it for the workspace:
- Connect and test Ryze AI with the steps above.
- Open Admin Console, select the workspace, then Plugins, Manage Legacy Apps, Drafts and Publish. Review the safety warnings for write actions.
- On Enterprise/Edu, admins can use Configure Actions and Configure Access before publishing.
- Members find published apps under Settings, Plugins.
After an admin approves a connection for a workspace, ChatGPT uses a frozen snapshot of its tools. Changes apply only after an admin refreshes and publishes an update.
Claude, Claude Code and Cursor
The same URL works in other MCP clients, and Google Ads is connected once in Ryze AI, so nothing changes on the Google side.
Claude
Open Customize, Connectors, click + Add, choose Add custom connector, name it Ryze AI, enter https://connector.get-ryze.ai/mcp and click Connect. On Team and Enterprise an Owner adds the connector first. In Claude you can set write and delete tools to Needs approval under Customize, Connectors, Ryze AI.
Claude Code
Run this command, then use /mcp inside Claude Code to sign in:
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope userCursor
Add the server to .cursor/mcp.json, then sign in on the Ryze AI page and click Allow connection:
{ "mcpServers": { "ryze": { "url": "https://connector.get-ryze.ai/mcp" } } }Google Ads access and permissions
The Google side of the connection is a standard Google OAuth sign-in. Three things decide what ChatGPT can see and change.
- Which accounts
- The Google login. Ryze AI sees every Google Ads account that login can reach, including client accounts under a manager (MCC) login. Accounts the login cannot access, or client accounts under a manager login that was not connected, are out of reach. Agencies connect the manager login once.
- Read or change
- Google Ads permissions are set in Google, not in Ryze AI. If the connected Google user has read-only access, changes fail. For a hard read-only guarantee, connect a Google login that only has read access.
- Which plan in ChatGPT
- On Pro, OpenAI allows read and fetch permissions only. Full custom MCP support, including write actions, is on Business and Enterprise/Edu. Write actions may ask for confirmation, and some risky actions may be blocked.
Scopes requested
The Ryze AI Google sign-in asks for these permissions. Keep every one checked, or the connection will not work.
| Scope | Why it is requested |
|---|---|
| https://www.googleapis.com/auth/adwords | Access to your Google Ads accounts |
| openid, email, profile | Identifies which Google login is connected |
Sources: Google's OAuth overview for the Google Ads API and the Ryze AI help center Google Ads guide.
Removing access
To remove access, disconnect Google Ads on its card in Ryze AI. In ChatGPT, open Plugins, select the Ryze AI server and remove it. You can also review third-party access in your Google Account security settings.
What ChatGPT can do in Google Ads
The Ryze AI connector exposes 16 Google Ads tools: 8 read, 7 write and 1 delete. Each runs as the Google login you connected.
| Tool | Type | What it does |
|---|---|---|
| google_ads__getAccountSummary | Read | Returns aggregate Google Ads account metrics for a date range. |
| google_ads__getAccountHierarchy | Read | Returns the manager and sub-account hierarchy for an account. |
| google_ads__listAccessibleCustomers | Read | Lists every Google Ads customer account the connected login can access. |
| google_ads__listConversionActions | Read | Lists the conversion actions in an account. |
| google_ads__listRecommendations | Read | Lists Google Ads optimization recommendations for an account. |
| google_ads__runRawGaql | Read | Runs a raw GAQL query against the Google Ads API, including change history from change_event. |
| google_ads__generateKeywordIdeas | Read | Generates Keyword Planner ideas from seed keywords, a URL or both. |
| google_ads__generateKeywordHistoricalMetrics | Read | Returns Keyword Planner history for a known keyword list: average monthly searches, competition and top-of-page bid range. |
| google_ads__runRawMutate | Write | Creates or updates resources such as campaigns, budgets, ad groups, ads, keywords, criteria and assets. |
| google_ads__runRawCustomAudienceMutate | Write | Creates or updates custom audiences based on keywords, URLs, place categories or apps. |
| google_ads__runRawUserListMutate | Write | Creates or updates user lists, including Customer Match lists. |
| google_ads__uploadCustomerMatchMembers | Write | Adds people to a Customer Match list; identifiers are normalized and SHA-256 hashed on the server before they reach Google. |
| google_ads__uploadImageAsset | Write | Uploads an image from a URL as an image asset that can be linked to campaigns, ad groups, asset groups or ads. |
| google_ads__applyRecommendation | Write | Applies Google Ads recommendations. |
| google_ads__dismissRecommendation | Write | Dismisses Google Ads recommendations. |
| google_ads__runRawMutateDelete | Delete | Removes resources. Removals are permanent, and the tool description tells the agent to use it only on an item-by-item approved list. |
In the Ryze AI chat the Tool approvals setting starts on Skip all approvals, which is separate from ChatGPT. In ChatGPT, write actions may ask for confirmation based on app permissions and context. Check the permissions shown when you create the plugin, and for a read-only setup connect a Google login that only has read access.
First 3 prompts to run
1. Spend and ROAS by campaign
Show Google Ads spend, conversions and ROAS by campaign for the last 30 days, and list the three campaigns with the lowest ROAS.
Tools used: google_ads__getAccountSummary, google_ads__runRawGaql
What comes back: A campaign table for the date range with spend, conversions and ROAS, plus the three lowest campaigns.
2. Who changed what
Show the Google Ads change history for the last 14 days: who changed what and when, grouped by campaign.
Tools used: google_ads__runRawGaql (change_event)
What comes back: A list of changes grouped by campaign with the user and time of each change. Change history reaches back up to 30 days.
3. Keyword ideas for a landing page
Generate Keyword Planner ideas from this URL, then show average monthly searches, competition and top-of-page bid range for the ten most relevant ones.
Tools used: google_ads__generateKeywordIdeas, google_ads__generateKeywordHistoricalMetrics
What comes back: A keyword list with Keyword Planner history for each of the selected keywords.
Each answer comes from your own account, so this page describes what comes back instead of showing sample numbers. To make a change, ask for it by name, for example to add a negative keyword or pause a campaign, and check the confirmation ChatGPT shows.
Ryze AI vs Google's own Google Ads MCP server
Google publishes its own Google Ads MCP server. It and the Ryze AI connector suit different jobs.
| Option | Setup | Google Ads coverage | Access | Works in |
|---|---|---|---|---|
| Ryze AI connector | Google sign-in inside Ryze AI, then the URL https://connector.get-ryze.ai/mcp with OAuth in ChatGPT Plugins | 16 tools: 8 read, 7 write, 1 delete, including GAQL, Keyword Planner, mutates, audiences and recommendations | OAuth with Ryze AI; needs an active Ryze AI plan or trial | ChatGPT, Claude, Claude Code, Cursor |
| Google Ads MCP server | Runs locally over stdio or is deployed to Google Cloud Run with streamable-http; Google's docs show launching it with pipx from its GitHub repository | 3 tools: list_accessible_customers, search (GAQL) and get_resource_metadata. Strictly read-only | OAuth 2.0 or service account; on Cloud Run, sign in with Google and grant the adwords scope | Clients with OAuth support, such as Antigravity; Google's page also names Claude and ChatGPT |
If you only need read-only reports and are comfortable running or deploying a server, Google's own MCP server is the direct route. The Ryze AI connector is hosted, so there is nothing to run, and it adds write and delete tools, Keyword Planner and recommendations. Whether ChatGPT can use Google's server depends on how it is deployed, since clients without OAuth support get an HTTP 401 from it.
Sources: Google Ads MCP server, OpenAI: connect a custom MCP server, OpenAI Help Center: custom MCP servers, Ryze AI Google Ads integration. Checked November 9, 2026.
Errors and fixes
- There is no Add custom MCP server option
- Your plan or workspace may not allow it. OpenAI lists full custom MCP support for Business and Enterprise/Edu, and read and fetch only for Pro. On Business, only admins and owners can create and publish plugins, so ask an admin.
- Google Ads tools do not appear in ChatGPT
- Start a new conversation. If you connected Google Ads in Ryze AI after adding the server, open the server in Plugins and select Refresh. The Ryze AI help center instead says to remove the app, install it again and start a new chat.
- Tools stay old after an admin approved the workspace
- ChatGPT uses a frozen snapshot of the tools for an approved workspace connection. An admin must refresh and publish an update.
- Changes fail
- The connected Google user probably has read-only access. Permissions are set in Google Ads, so reconnect with a login that has standard or admin access. On Pro, ChatGPT allows read and fetch only.
- An account is missing
- Ryze AI only sees accounts the connected login can reach. Connect the manager login for client accounts, or click View on the Google Ads card and use Add one more account to connect a second login. Over MCP, client accounts under a manager need loginCustomerId.
- Recent conversions look low
- Google's own reporting lags for recent conversions, and Ryze AI cannot speed that up.
- ChatGPT says a subscription is required
- The Google Ads tools need an active Ryze AI plan or free trial. Start the trial, then retry.
- The connection stops after some time
- OpenAI asks that OAuth providers issue refresh tokens and advertise offline_access. The Ryze AI server metadata lists the refresh_token grant but no offline_access scope, and whether ChatGPT keeps the connection after the first token expires was not tested. If it drops, run the sign-in again.
- It does not work on the phone app
- OpenAI says custom MCP servers cannot be connected on mobile. Add it on ChatGPT web.
Frequently asked questions
How do I connect ChatGPT to Google Ads?
Connect Google Ads in a Ryze AI workspace: open Integrations, click Connect on Google Ads and sign in to Google. Then in ChatGPT on the web open Plugins, select the plus button, choose Add custom MCP server, enter the name Ryze AI and the URL https://connector.get-ryze.ai/mcp, choose OAuth, create the plugin, sign in to Ryze AI, allow the workspace and start a new conversation.
Which ChatGPT plan do I need?
OpenAI says custom MCP server connections and full MCP support are available for ChatGPT Business and Enterprise/Edu customers on ChatGPT web. Pro users can connect custom MCP servers with read and fetch permissions only. OpenAI's article does not mention Free, Go or Plus.
Does ChatGPT have an official Google Ads connector?
This page could not verify a Ryze AI or Google Ads listing in the ChatGPT plugin directory. Google publishes a Google Ads MCP server that is read-only with three tools, and the Ryze AI connector is a hosted MCP server you add by URL.
Which should I use, Google's server or the Ryze AI connector?
Ryze AI is the best way to connect ChatGPT to Google Ads when you also want to change the account, because it has 16 tools including write tools, while Google's own server is read-only and the simpler choice for reports if you can run it yourself.
Can ChatGPT change my Google Ads campaigns?
Yes, on plans that allow write actions. The connector can create campaigns, adjust budgets, bids and keywords, add negative keywords, pause or resume, and update ads through Google's official API. Pro is limited to read and fetch, and the connected Google user also needs standard or admin access.
Can ChatGPT delete things in Google Ads?
The connector has one delete tool, google_ads__runRawMutateDelete. Removals are permanent and Google Ads has no undo. The tool description tells the agent to use it only on an item-by-item approved list; that is an instruction, not a block enforced by the server.
Is there a way to keep ChatGPT read-only?
Connect a Google login that only has read access to your Google Ads accounts. Google Ads permissions are set in Google, so changes then fail whatever ChatGPT asks for.
Do I need Developer Mode?
Not in the Plugins flow described by OpenAI, although account and workspace policies still apply. The older custom app route in the Ryze AI help center turns on Developer mode under Settings, Apps, Advanced settings.
Does it work with a manager (MCC) account?
Yes. One Google login reaches every account it can access, including client accounts under a manager login. Over MCP, client accounts under a manager need loginCustomerId, and every google_ads tool takes an optional connection_id to target a specific connected login.
How do I add Google Ads after I installed the connector?
Connect Google Ads in Ryze AI, then open the server in ChatGPT Plugins and select Refresh and start a new conversation. If the tools still do not appear, the Ryze AI help center says to remove the app, install it again and start a new chat.
What does it cost?
Connecting the connector is free, and the Google Ads tools need an active plan or trial. Paid Ads is $89 per month with a 7-day free trial, Agency is $279 per month, and annual billing takes 30% off the first year.