All guides, by feature
Connect Claude.ai to Google Tag Manager
Add Orbit’s GTM server as a custom connector in Claude.ai and approve it. The same connector then works in Claude Code too.
Before you start
- You need
- Your agency’s Google Tag Manager scope saved in Orbit. Without it the connector authorizes, but its tools fail.
- Where in Orbit
- Sidebar › Data › Integrations
Steps
Tick a step’s number when it’s done. We’ll remember where you were.
Open Integrations, choose Google Tag Manager, then Connect with Claude.ai →.
Under 2. Add the Claude.ai custom connector, press Copy name and Copy URL. The name is GTM via Orbit.
In Claude.ai, open Settings → Connectors → Add custom connector, paste the name and URL, and press Add.
In the tab that opens, sign in to Orbit if asked, check the permissions, and press Approve.
When it worked
Your connection is listed under [[Connected Clients (Claude.ai)]] on the Google Tag Manager page, and it works in Claude Code without authorizing again.
If something goes wrong
Orbit showsHeads up — your agency hasn't configured Google Tag Manager yet.
Save your agency’s container scope on the Google Tag Manager page first. The connector authorizes anyway, but its tools fail until then.
Claude can read tags but can’t change them.
Read-only is on for your agency. Switch it off under Container scope and press Save scope.
Claude can’t publish a container.
Allow publish is off. Switch it on only if you trust Claude to push changes live.
Claude can’t reach a container.
It’s outside your scope. Add its account, or the container itself if Restrict to specific containers is on, and check the service account is a user on it.
How it works
Explainer: Google Tag Manager container scope
Orbit’s shared GTM service account can act only on the accounts and containers your agency lists under Container scope. Anything outside that scope is rejected.
| Setting | What it does |
|---|---|
| Allowed GTM accounts | The Tag Manager accounts Claude may reach, each written accounts/ and its ID. At least one is required. |
| Restrict to specific containers | Off: every container in those accounts. On: only the containers you list, written accounts/…/containers/…. |
| Read-only | On by default. Agents can read GTM data but can’t change tags, triggers, variables or workspaces. |
| Allow publish | Off by default. While it’s off, publishing a container always fails. |
- In Tag Manager, give the service account the Publish role on each container, or Edit if Claude should change tags but not publish.
- Find account and container IDs in Tag Manager’s admin pane.
- The approval screen in Claude.ai sums up the scope, for example “Read and modify GTM data · 1 account, all containers in scope”.
- Once authorized, the Claude.ai connector also works in Claude Code.
Explainer: Google Tag Manager statuses
Google Tag Manager shows Connected once your agency has saved which containers Claude may use and marked Orbit’s service account as added. The Integrations card and the GTM page word the earlier steps differently.
| Integrations card | GTM page | What it means |
|---|---|---|
| Not connected | Not configured | No container scope saved yet. |
| Pending verify | Scope saved · awaiting verification | Scope saved, but nobody has marked the service account as added since the scope last changed. |
| Connected | Connected | Scope saved and marked verified. |
- Marking it verified is your agency’s own confirmation. Orbit doesn’t check Tag Manager to see the service account was added.
- Changing the allowed accounts or containers sets it back to Pending verify. Changing Read-only or Allow publish doesn’t.
- There’s one Google Tag Manager setup per agency, shared by everyone.