The shared-login problem
The usual way a team shares a tool like this is one login, or one API key, passed around. It works until it matters. Then three things go wrong at once.
- Everyone gets the widest access anyone has. If the key was made from the agency owner's Google account, the junior on their second week has the owner's reach into every client.
- Attribution disappears. Google's change history records the identity that made the API call. With a shared credential every change in every client account is attributed to the same person, forever.
- Offboarding means rotating everything. One person leaves and the key has to be replaced everywhere it was pasted, by everyone, at once.
None of that is a policy failure. It follows from the shape of a shared credential, so the fix has to be structural too.
How per-person access works
The organisation holds what is bought once. The person holds the credential. Concretely:
| Belongs to the organisation | Belongs to the person |
|---|---|
| The subscription and seat count | Their Google sign-in and refresh credential |
| The trial window | Their own private connector address |
| The capability tier — read-only or full | Which ads accounts they can reach, via Google |
| The account allow-list | Attribution for every change they make |
Organisation settings apply on top of the individual's and can only ever narrow them. A tighter account scope wins; the earlier of the two expiry dates wins; and a person is active only if both they and the organisation are. There is no combination of settings where joining a team gives someone more reach than they had alone.
Seats, joining and leaving
- The owner sends an invite link. One link per organisation, and it can be replaced at any time, which immediately invalidates the old one.
- The teammate signs in with their own Google account. They complete Google's consent themselves — the owner never handles their credential — and get their own connector address.
- Seats are counted as active people. Switching someone off frees their seat for someone else.
- Leaving is one command. Their connector stops working on the very next request. Their email stays claimed, so they cannot rejoin themselves with the invite link they still have in their inbox.
Scoping to specific clients
A connector can be restricted to named Google Ads customer IDs, at the organisation level or per person. A call to any account outside the list is refused at our server before it reaches Google, and the refusal is written to the audit trail with the account that was attempted.
This is the control that makes a manager account safe to connect. An MCC covers every client beneath it, which is convenient and also a very wide door; an allow-list narrows it back to the accounts that person actually works on.
The audit trail
Every call a connector makes is recorded — which person, which tool, which account, whether it succeeded, and refusals as well as successes. Two questions become answerable without detective work:
- “What did our connectors do in this client's account last week?”
- “Did anyone try to reach an account they shouldn't have?”
Google's own change history answers a related question independently, and because each person authenticates as themselves, it names them rather than naming the tool. The two records corroborate each other, which is exactly what you want when a client asks.
Manager accounts
You can point a connector at a Google Ads manager account so one sign-in covers many clients. Two things are worth doing at the same time:
- Set an allow-list unless you genuinely intend every account under the MCC to be reachable.
- Start read-only. Across a book of clients, the first week is worth spending on what the agent finds before considering what it should be allowed to change. More on that sequence in earning autonomy.
What to tell a client
Agencies are usually asked some version of “so an AI has access to my account?” The accurate answer is short, and it is better delivered before the question arrives:
The team uses an AI assistant connected to your Google Ads account through Google's own sign-in, with the same access we already have and no more. It cannot delete anything. Changes appear in your Google change history under the name of whoever made them, and we can show you a log of every action on request. Your account data is not stored by the tool and is never used to train any model.
All four of those claims are things you can demonstrate rather than assert — the security page sets out how each one is enforced.
Frequently asked questions
How do agencies share an AI Google Ads connector across a team?
Each person signs in with their own Google account and gets their own connector address. The subscription, the seat count, the trial window and the account allow-list belong to the organisation; the credentials belong to the individual. Nobody shares a login, and any one person can be switched off without disturbing anyone else.
Does each teammate need their own Google Ads access?
They need whatever Google already grants them, which is the point. A connector inherits its holder's access exactly, so a junior who can see two client accounts has a connector that can see two client accounts. There is no way for the tool to widen someone's reach.
What happens when someone leaves the agency?
Switch their connector off and their access stops on the next request. Their seat is freed for someone else, and their email stays claimed so they cannot quietly rejoin with the invite link. Their Google grant can also be revoked from your Google account side independently.
Can we restrict the connector to specific client accounts?
Yes. An organisation or an individual can be limited to named customer IDs. A call to any account outside that list is refused at the server before it reaches Google, and the refusal is recorded. This matters most when a manager account is connected, since that otherwise implies every account beneath it.
Can we connect a Google Ads manager account (MCC)?
Yes, and it is the fastest way to cover many clients at once. Pair it with an account allow-list, because connecting an MCC without one hands the agent every account under it.
Who is responsible for what the agent changes?
The person whose connector made the call, and it is visible in two places: our audit trail, and Google's own change history, which attributes the change to their Google identity because the call was made with their credential. That is the practical reason per-person sign-in beats a shared key.
Try it on one account for a week
Read-only to begin, so it can look but not touch. No cost, no card, no contract — you connect your own Google account and can withdraw the access whenever you like.
- One account
- One week
- Read-only
- No card
- Security and dataSecurity model for connecting an AI assistant to Google Ads: OAuth scope, encrypted refresh tokens, destructive tools removed, account scoping, audit trail, rate limits and revocation.
- AI Google Ads auditHow to audit a Google Ads account with an AI assistant: the checks that matter, the exact questions to ask, wasted-spend patterns, and which of Google's own recommendations to distrust.
- Copilot, Gemini, CursorHow to add a Google Ads MCP connector to GitHub Copilot, Gemini CLI, Cursor, OpenCode and Claude Code, including the exact configuration each client expects.
- Google Ads automationThe layers of Google Ads automation from Smart Bidding to scripts to AI agents, what each layer decides, what none of them will do, and what to automate first.