Connect Google Ads to ChatGPT. For your whole team.
One Google sign-in in Loopthink, one connector in ChatGPT, and your team is reporting. Nothing is pasted anywhere: no key file, no service account, no developer token. Every ChatGPT user then gets their own login and their own role, so Marketing, Finance and Management see exactly the accounts and numbers that role allows.
Google's official Ads MCP server is read-only, but it runs on one credential in one person's local config, and the API follows that person's account role.
Free for 2 servers, no card · Paid plans from €39 · EU-hosted
“Which search terms spent more than €100 last week without a single conversion?”
Three search terms, €444 last week, no conversion:
| Search term | Cost | Clicks | Conv. |
|---|---|---|---|
| mcp gateway open source | € 184 | 71 | 0 |
| claude enterprise connector | € 142 | 55 | 0 |
| chatgpt intranet plugin | € 118 | 49 | 0 |
Want me to list the campaigns they sit in?
- read-only
- as l.brandt
- audit logged
Google Ads in a chat client, today.
Today Google Ads in a chat means either a Google Ads user per colleague, usually Standard because that is the default people click and Standard edits campaigns, or one person's OAuth token in a shared config. The API follows the user's role, so a shared Admin token can pause campaigns and move budgets from a chat. Google's change history then shows the shared account, not the person.
A silent loop through the whole setup. In Loopthink: the server overview, the New workspace dialog, the New MCP server dialog, the connection screen where Google access is granted, Google's own sign-in page, the read-only tools the grant published, and the connector page where the workspace URL is copied. Then in Claude: Settings with Connectors open, the Add custom connector dialog with the name and the URL, the page of options that follows, scrolled down and left untouched because everything on it is detected, and the connector, named after the company, switched on in a chat answering from Google Ads. A cursor moves to the button each screen is about.
- 1
Start with a workspace in Loopthink. Its servers, its members and its key are separate from every other one.
- 2
Add a server and pick Google Ads as its connection.
- 3
Press Connect Google account.
- 4
Sign in with Google. The consent screen asks for the Google Ads scope and nothing else.
- 5
Tick the accounts or properties your team may report on. Each one publishes its own read-only tools.
- 6
Copy the workspace connector URL.
- 7
In ChatGPT, open Settings, then Connectors, then Add custom connector.
- 8
Give it a name your colleagues will recognise, Acme Group rather than Loopthink, and paste the URL. Those two fields are the whole form.
- 9
Continue opens a page of options. Scroll down past it and change nothing: ChatGPT has already read the server, so the sign-in and the OAuth client are detected and chosen for you, and there is no client id, no secret and no request header to type. Press Add at the bottom.
- 10
Each colleague connects once with their own account, toggles it on in a chat, and asks. Every call runs as them, with their role, and lands in the audit log.
Steps checked against the vendor documentation on 17 September 2026: Google Ads API MCP server · Google Ads Query Language · Account access levels · API access levels · Developer mode and MCP apps in ChatGPT · Connectors in ChatGPT
One matrix for Google Ads. Roles across, tools down.
| Tool | Marketing | Finance | Management |
|---|---|---|---|
| List accessible accounts | Marketing may use List accessible accounts | Finance may use List accessible accounts | Management may use List accessible accounts |
| Report per account | Marketing may use Report per account | Finance may use Report per account | Management may use Report per account |
| Query per account (GAQL) | Marketing may use Query per account (GAQL) | Finance may not use Query per account (GAQL) | Management may not use Query per account (GAQL) |
| Field metadata | Marketing may use Field metadata | Finance may not use Field metadata | Management may not use Field metadata |
| Write actions off by default | Marketing may not use Write actions | Finance may not use Write actions | Management may not use Write actions |
Masked for every role: user emails in change history, customer IDs of accounts nobody ticked.
You set this once. Every ChatGPT user in your team gets exactly this.
Google Ads runs on the free tier: two MCP servers for one person, no card. The roles, the identity per person and the masking above start at €39 a month, as soon as colleagues join. See the plans
Four checks between ChatGPT and Google Ads.
- 01
Identify
OIDC/SSO against your own IdP, including Microsoft Entra. The call runs as the person who made it, never as a shared service account.
- 02
Authorize
Per-role, per-tool, read or write. Anything not explicitly granted never shows up in the tool list in the first place.
- 03
Mask
Field-level masking and pseudonymization applied on your side, before the result travels. The model never sees the raw field. Composio, AnythingMCP and both provider tunnels have no field-level masking at all.
- 04
Log
Who asked, which tool, which records, which fields were masked. One audit trail across every AI client, exportable for review.
What people actually ask ChatGPT about Google Ads.
- Marketing
“Which search terms spent more than €100 last week without a single conversion?”
- Finance
“Spend this month by campaign, against each campaign's monthly budget?”
- Management
“Cost per conversion this quarter versus last quarter?”
Each question runs as the person who asked it, with that person's role. A Finance colleague asking the Marketing question gets the tools their own role allows, not an error, not more.
Four ways to put Google Ads into ChatGPT.
| Native Google Ads connector | Build it yourself | Enterprise gateways1 | Loopthink | |
|---|---|---|---|---|
| Per-user identity | One personal login, all its rights | Only if you build it | Yes | Yes, every call runs as the person who asked |
| Tool-level roles | No | Your code | Yes | Yes, write off by default |
| Field masking | No | Your code | Not documented | Yes, before the model sees the data |
| Published price | Included in your Google Ads plan | Your engineers' time | Contact sales | Free, paid from €39 |
| EU company | No | Whatever you are | Mostly US | Yes, Germany |
Native Google Ads connector: Official Google Ads API MCP server, read-only, OAuth or service account in a local config. One credential per install, no roles, no masking, no shared log.
1 MintMCP, MCP Manager, Pomerium
Coming from one of them? Composio alternative · MintMCP alternative · MCP Manager alternative · AnythingMCP alternative
Also for
Connect another system to ChatGPT
Before you connect.
- Does every team member need their own Google Ads account?
- No. One Google sign-in in Loopthink covers the whole team, and it is the only Google account involved. Your people sign in to Loopthink with their own identity, every call is logged under their name, and the seats in Google Ads stay exactly where they are today.
- Who has to add the connector in ChatGPT?
- One person with the right to add connectors in your ChatGPT workspace, once. After that every team member enables it for themselves. Nobody pastes a key, nobody edits a config file.
- Where does the Google Ads key live?
- There is none, and that is the point. A Google sign-in grants Loopthink access to the Ads API, which is stored encrypted in the EU, is never returned by the API and never reaches ChatGPT or the people using the connector. You revoke it any time at myaccount.google.com/permissions, and nobody has to rotate or paste anything.
- Can somebody change a campaign or a budget from the chat?
- Only if you allow it, and nothing is ever switched on. By default the connection publishes no write tools and the gateway lets only the reporting endpoints through; the Ads API has no read-only scope to ask for, so the limit sits in the gateway. Tick Allow changes on a connection and each account gets one change tool: it creates and edits budgets, campaigns, ad groups, ads and keywords, and pauses them. Nothing is enabled or removed, so a new campaign starts paused and going live stays a click in Google Ads. Billing, users and account settings stay out of reach, every change is validated by Google first, and the audit log keeps each value before and after.
- What does the model see?
- The result of the tool call, after masking. Fields you mark as personal, such as emails, names or card details, are masked before the answer travels to ChatGPT. The model gets the numbers, not the people.
- Is there an audit trail?
- Yes. Who asked, which tool, which parameters, which fields were masked, when. One log across every client your team uses, exportable for review.
- What does it cost?
- Free for one person and two MCP servers, forever, no card. Starter is €39 per month and adds roles, an identity of their own for every colleague, field masking and a 30-day audit. Team is €99 and adds your own APIs and SQL databases, your own domain and your own identity provider. Prices are on the pricing page, no call needed.
- We already run our own MCP server for Google Ads. Does it still work?
- Yes. Point it at Loopthink and it inherits the same login, roles, masking and audit. Nothing on the server has to change.
Google Ads in ChatGPT, with rules.
One key in Loopthink, one login per person, one matrix that decides who may do what.
Free for 2 servers, no card · Paid plans from €39 · EU-hosted