By Ira Bodnar, Ryze AI · Updated
Quick answer
To connect Claude to Google Analytics 4, connect your GA4 property in a Ryze AI workspace with a Google login that has at least the Viewer role, add https://connector.get-ryze.ai/mcp as a custom connector in Claude, click Connect, allow access and start a new chat. Claude then reads GA4 through nine read-only tools, and nothing in the property changes.
- Connect Google Analytics 4 in Ryze AI with a Google login that has Viewer access
- In Claude open Customize, Connectors, + Add, Add custom connector
- Paste the URL, click Add, Connect, then Allow connection
- Start a new chat and list your GA4 properties
Before you start
- A Claude account. Anthropic lists custom connectors on the Free, Pro, Max, Ultra, Team and Enterprise plans, and Free is limited to one custom connector. On Team and Enterprise an Owner adds the connector once in Organization settings, Connectors, and each member then clicks Connect. (Anthropic help center)
- A Google login with access to the GA4 property. At least the Viewer role on the property, or on the account above it. Universal Analytics properties are not supported. The access section below shows how to get the role.
- A Ryze AI workspace on a plan or free trial. GA4 is connected here once. Without an active plan, Claude can list your workspaces and connect platforms, but the other tools reply that a subscription is required. Every Ryze AI plan includes the Claude connector; Paid Ads is $89 per month with a 7-day free trial and SEO Starter is $129 per month with a 3-day free trial. See pricing.
How to connect Claude to Google Analytics 4 in claude.ai
Six steps across Ryze AI and Claude. The screenshots show the Claude settings screen and the Ryze AI permission page, which look the same for every platform; the connector URL is the same for every user.
Connect Google Analytics 4 in Ryze AI
Sign up at ryze.ai, open Integrations in the left sidebar and find Google Analytics 4 under Analytics. Click Connect, sign in with the Google login that has access to the property, approve access and keep every requested permission checked. Back in Ryze AI, pick the Property (listed as account, property) and click Save. Until a property is saved the card shows Require setup.
Copy the connector URL
The URL is the same for every user: https://connector.get-ryze.ai/mcp. In Ryze AI it is also on the Connect Claude card on Home and on the Claude MCP card under Integrations, AI.
Open Connectors in Claude
In claude.ai click your avatar in the bottom-left corner, open Settings, then Connectors. Claude now keeps connectors on the Customize page, so follow the link to Customize, Connectors, or open claude.ai/customize/connectors directly.

Add the custom connector
Click + Add, then Add custom connector. Enter Ryze AI as the name and paste https://connector.get-ryze.ai/mcp into the MCP server URL field (Remote MCP server URL in some versions). Click Continue or Add. If Claude then shows a second screen with authentication settings, choose Sign in now under Authentication and Register automatically under OAuth client, leave Request headers empty and click Add. The Ryze AI server supports automatic client registration and does not support Claude's published identity. There is no client ID, client secret or Google Cloud project to enter.
Click Connect and allow access
Click Connect on the new Ryze AI connector. On the Ryze AI page Connect your data sources to AI, sign in, keep the workspace that holds your GA4 property ticked (all workspaces are ticked by default, up to 20 per connection) and click Allow connection. When exactly one workspace is ticked, the page also shows Connect your accounts, where you can connect more platforms before you allow access.

Start a new chat and list your properties
Chats opened before the connection do not pick it up, so start a new one. Ask: List the Google Analytics accounts and properties I can access, with their property IDs. Claude calls listAccountSummaries and returns each account with its properties.
Connection errors on the Claude side are covered in the Ryze AI Claude connector FAQ, and the steps follow Connect Claude and Connect Google Analytics in the Ryze AI help center.
GA4 role and permission screen
Ryze AI reads the GA4 properties your Google login can already open, so the role is set in Google Analytics, not in Ryze AI. The Ryze AI help center and Google's own MCP setup guide both ask for at least the Viewer role on the property.
| GA4 role or restriction | What Google says it allows | Works with the connector |
|---|---|---|
| Viewer | Sees settings and data and can change which data appears in reports | Yes. This is the minimum. |
| Analyst | Viewer permissions, plus sharing explorations with other users | Yes |
| Marketer | Analyst permissions, plus audiences, events, key events and attribution settings | Yes. The extra rights are not used, because the connector only reads. |
| Editor | Analyst permissions, plus full control of property settings | Yes. The extra rights are not used. |
| Administrator | Editor permissions, plus managing users | Yes. The extra rights are not used. |
| None | No role on that property | No. The property does not appear in the list. |
| No Cost Metrics or No Revenue Metrics restriction | Blocks cost metrics (such as Google Ads cost and ROAS) or revenue metrics | Reads work, but the restricted metrics come back as 0. Google enforces the restriction in the API too. |
If your login has no role yet, a GA4 Administrator adds it: Admin, then under Property select Access Management, click +, choose Add users, enter your Google email, pick the Viewer role and click Add. Only Administrators can add users. Source: Google's access and data-restriction management and add users help pages.
The Google permission screen
When you click Connect on the Google Analytics 4 card in Ryze AI, Google's sign-in and consent screen opens. The sign-in request Ryze AI sends to Google asks for four scopes (checked November 7, 2026). Google describes each one in its OAuth scope list as follows:
| Scope Ryze AI requests | How Google describes it |
|---|---|
| analytics.readonly | See and download your Google Analytics data |
| openid | Associate you with your personal info on Google |
| See your primary Google Account email address | |
| profile | See your personal info, including any personal info you've made publicly available |
Ryze AI does not request analytics.edit or any other Google Analytics write scope. Pick the login that has the role, keep every requested permission checked, then pick the property in Ryze AI and click Save. If the Google Analytics permission is unticked, Ryze AI cannot read the property. The saved property is only the default: Claude can query any other property on the same Google login by naming it. Source: Google's OAuth 2.0 scopes for Google APIs.
What Claude can read
All nine GA4 tools on the connector read data. runAdminRead accepts GET requests only and rejects create, update and delete paths, so Claude cannot change key events, data streams or property settings through Ryze AI.
| Tool | What it returns |
|---|---|
| listAccountSummaries | Every GA4 account and property the login can reach, with property IDs |
| runRawReport | Any Data API report: dimensions, metrics, named date ranges, filters, ordering |
| runPivotReport | Pivot tables, for example channel by device |
| runRealtimeReport | The last 30 minutes: active users, screen views and events |
| runAdminRead | Admin API reads: key events, custom dimensions, data streams, audiences |
| getAIReferrals | AI referral sources with sessions and conversions |
| getAiLandingPages | Top landing pages that receive AI-referred traffic |
| getAiTrafficByEngine | AI traffic by engine, compared with a prior period |
| getAiTrafficDaily | Daily sessions from AI referrers such as ChatGPT and Perplexity |
Parameters, request examples and API limits for each tool are on the Google Analytics MCP server page.
Claude Desktop
Remote connectors belong to your Claude account. Anthropic's help center lists custom connectors for claude.ai, Cowork and Claude Desktop, so a connector added on claude.ai is already in the desktop app. To add it from the app instead, click your avatar in the bottom-left corner, open Settings, Connectors (or Customize, Connectors), click + Add, Add custom connector, paste the URL and click Connect.
You do not need claude_desktop_config.json; Settings, Connectors does the same without Node. If you prefer the file, the Ryze AI developers page has an mcp-remote config. Google's own Google Analytics MCP server runs on your machine, so in Claude Desktop it goes in that file.
Claude Code
One command registers the connector for every project on your machine:
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope userThen open Claude Code, type /mcp, pick the Ryze AI server (ryze) and finish the sign-in in the browser tab that opens. If you sign in to Claude Code with the same claude.ai account, the connector you added on claude.ai is already available there and this step is optional. claude mcp list confirms the server is connected.
For scripts and headless runs, create a key in Ryze AI under Workspace Settings, Profile, API keys, and send it as a header instead of signing in in the browser:
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope user \
--header "Authorization: Bearer YOUR_RYZE_AI_KEY"Sources: the Claude Code MCP docs and the Ryze AI API for agents.
ChatGPT, Cursor and Windsurf
The same URL works outside Claude. The GA4 connection in Ryze AI stays the same; only the client side changes.
ChatGPT
Needs a ChatGPT plan with apps and connectors (Plus, Pro or Business) and Developer mode. Open Settings, Apps, Advanced settings and turn on Developer mode. Click Create app, enter Ryze AI as the name and the connector URL as the MCP server URL, choose OAuth, tick I understand and want to continue and click Create. Then click Sign in with Ryze AI and Allow connection. ChatGPT saves the tool list when the app is installed, so if you connect GA4 in Ryze AI afterwards, remove the app in Settings, Apps, install it again and start a new chat.
Cursor and Windsurf
Add the server to .cursor/mcp.json in your project, restart Cursor and approve the sign-in prompt it opens on first use. Windsurf takes the same entry with the key serverUrl instead of url.
{
"mcpServers": {
"ryze": { "url": "https://connector.get-ryze.ai/mcp" }
}
}Ryze AI connector vs Google's GA4 MCP server vs CSV
Three ways exist to get GA4 data in front of Claude. They differ on setup, freshness and how much Claude can ask for.
| Method | Setup | GA4 tools | Works in | Best for |
|---|---|---|---|---|
| Ryze AI connector (hosted MCP) | Google sign-in in Ryze AI, then paste one URL into Claude | 9, all read: account summaries, Data API reports (raw, pivot, realtime), Admin API reads, 4 AI-referral reports | claude.ai, Claude Desktop, Claude Code, ChatGPT, Cursor | Marketers who want GA4 next to ad and Search Console data in one chat |
| Google's Google Analytics MCP server (analytics-mcp, open source) | Python 3.10+, pipx or uv, a Google Cloud project with the Analytics Admin and Data APIs enabled, Application Default Credentials with the analytics.readonly scope | 13 in the GitHub README; 3 of them write (annotations, custom dimensions, key events) only with the --allow-write flag and the analytics.edit scope | Claude Desktop through its config file, Claude Code, Cursor, Antigravity CLI and IDE; claude.ai only if you host it as a remote server with your own OAuth client | Developers who already run a Google Cloud project and want Google's code |
| CSV download attached to the chat | Download a report from GA4 and attach the file | None. One report, frozen at download time | Any Claude surface | A one-off question when you cannot connect anything |
Google's developer guide calls its server read-only and asks for the Viewer role, while the current GitHub README adds three write tools behind a flag. Both checked November 7, 2026. For a wider comparison of hosted and self-hosted options, see the best MCP servers for Google Analytics.
Sources: Try the Google Analytics MCP server (Google for Developers) and the analytics-mcp README on GitHub.
Download a GA4 report as CSV instead
- In Google Analytics select Reports in the left menu and open the report you need, for example Traffic acquisition, with your date range set.
- Click the Share this report icon at the top right, choose Download File, then Download CSV. The file holds up to 100,000 rows, and you need the Viewer role on the property.
- In Claude click the + button in the message box, attach the file and ask, for example: Which five landing pages have the most sessions but the lowest key event rate?
The file is a snapshot of one report. Claude cannot pull other dimensions or dates from it, so a new question often means a new download. Source: Google's share and export reports help page.
First 3 prompts to run
Run these three in order in a new chat. Each one lists what comes back. This page shows no figures from any GA4 property.
Prompt 1 · tool:
listAccountSummariesList the Google Analytics accounts and properties I can access, with their property IDs.
What comes back: Each GA4 account with its properties, the property ID and whether your login can edit it. Claude uses the ID in every report after this one.
Prompt 2 · tool:
runRawReportFor the <property name> property, show sessions, engaged sessions and key events by default channel group for the last 28 days against the 28 days before.
What comes back: One row per channel and per date range, labeled with the range names Claude sets, plus the currency and time zone of the property. Claude then writes the comparison as a table.
Prompt 3 · tool:
getAiTrafficByEngineHow many sessions came from AI assistants in the last 28 days compared with the 28 days before, split by engine?
What comes back: Sessions, users, revenue and purchases for the period, sessions and revenue for the prior period, the change in sessions as a percentage and a breakdown by engine (ChatGPT, Gemini, Claude, Perplexity and others, by referrer).
Next prompts
- List the key events on this property and how each one is counted. (
runAdminRead) - Who is on the site right now, by country and device? (
runRealtimeReport) - Which landing pages received the most visits from AI assistants this month? (
getAiLandingPages)
For reusable versions of these prompts, see Claude skills for Google Analytics. For Google Ads, see how to connect Claude to Google Ads.
GA4 errors and fixes
- No properties to pick in Ryze AI
- The Google login you connected has no role on any GA4 property. Ask a GA4 Administrator to add it with at least the Viewer role, then reconnect Google Analytics 4 in Ryze AI with that login.
- The Google Analytics 4 card shows Require setup
- The login is connected but no property is saved. Click View on the card, pick the Property and click Save. The saved property is only the default; Claude can still query other properties on that login by name.
- Claude does not show any GA4 tools
- Claude saves the connector's tool list when you add it, so GA4 connected afterwards does not appear. Remove the Ryze AI connector in Customize, Connectors, add it again and start a new chat. Reconnecting GA4 in Ryze AI does not refresh Claude's list.
- Revenue or cost comes back as 0
- Either ecommerce tracking is not set up in GA4 and purchase events are not firing, or your GA4 user has the No Revenue Metrics or No Cost Metrics restriction. Google applies restrictions in the API as well, so ask an Administrator to check your access.
- This property is denied access to the API (HTTP 429, RESOURCE_EXHAUSTED)
- We saw this on November 7, 2026 when Claude ran Data API reports on a property in Google's public GA4 demo account; Admin API reads on the same property worked. Run reports on a property you own instead.
- Quota errors (HTTP 429, RESOURCE_EXHAUSTED) on your own property
- The Data API gives a standard property 200,000 core tokens per day, 40,000 per hour and 10 concurrent requests, and one app's Cloud project can use at most 14,000 tokens per hour on a property. When a bucket runs out, requests return 429. Ask for fewer rows or a shorter date range, or wait for the hourly quota to refill.
- Numbers differ from the GA4 interface
- Check that the date range and time zone match; reports come back in the property's time zone. GA4 also applies data thresholds to reports and API calls that include demographic data or low counts in a narrow date range, so some rows can be withheld.
- Claude asks for conversions and the column is empty or rejected
- GA4 renamed conversions to key events. Ask for keyEvents and sessionKeyEventRate instead of conversions and sessionConversionRate.
- The card shows Reconnect needed
- Click Reconnect on the Google Analytics 4 card in Ryze AI and sign in to Google again, then start a new chat in Claude.
Sources: Ryze AI GA4 integration help, Data API quotas and GA4 data thresholds.
GA4 next to your ad accounts
The same connector URL carries Google Ads, Meta Ads, Search Console, Shopify, TikTok Ads and the other platforms you connect in the workspace, so Claude can read GA4 next to ad spend in one chat.
- Google Analytics MCP server: full tool reference
- Best MCP servers for Google Analytics
- Claude skills for Google Analytics
- How to connect Claude to Google Search Console
- How to connect Claude to Google Ads
- How to connect Claude to Meta Ads
- Connect multiple Google Ads accounts to Claude
- How to measure AI referral traffic in GA4
- Ryze AI MCP for developers
- All Claude integrations
Frequently asked questions
How do I connect Google Analytics to Claude?
Connect your GA4 property in a Ryze AI workspace with a Google login that has at least the Viewer role. Then in claude.ai open Customize, Connectors, click + Add, Add custom connector, paste https://connector.get-ryze.ai/mcp, click Connect and Allow connection, and start a new chat. No Google Cloud project, API key or code is needed.
Does Claude need a connector to read GA4 data?
For live data, yes. Claude reads GA4 through an MCP server that calls the Google Analytics Data and Admin APIs. You can use a hosted connector such as Ryze AI, or run Google's open-source analytics-mcp server yourself. Downloading a report as CSV and attaching it to a chat also works, but only for that one snapshot.
Which Google Analytics role do I need?
At least Viewer on the GA4 property or on the account above it. Analyst, Marketer, Editor and Administrator all include Viewer permissions, so they work too. If your user has the No Revenue Metrics or No Cost Metrics restriction, those metrics come back as 0 through the API as well.
Which Claude plan do I need?
Anthropic lists custom connectors on the Free, Pro, Max, Ultra, Team and Enterprise plans, with Free limited to one custom connector. On Team and Enterprise an Owner adds the connector in Organization settings first, then each member clicks Connect. Checked November 7, 2026.
Does it work in Claude Desktop and Claude Code?
Yes. Remote connectors are tied to your Claude account, so a connector added on claude.ai is also in Claude Desktop, and in Claude Code when you sign in with the same claude.ai account. You can also register it in Claude Code with claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope user and finish the sign-in with /mcp.
Can Claude change my GA4 settings?
Not through Ryze AI. All nine GA4 tools on the connector read data, and the Admin API tool accepts GET requests only. Key events, custom dimensions, data streams and property settings stay as they are.
How is Ryze AI different from Google's official Google Analytics MCP server?
Google's analytics-mcp is open source and runs from Python with pipx or uv. It needs a Google Cloud project with the Analytics Admin and Data APIs enabled and Application Default Credentials with the analytics.readonly scope. Its GitHub README lists 13 tools, three of which write only when you pass --allow-write. Ryze AI is hosted: you sign in with Google in Ryze AI, paste one URL into Claude and get nine read tools, four of them for AI-assistant traffic.
Which GA4 connector should I use with Claude?
Ryze AI is the best GA4 connector for marketers who want Claude to report AI-assistant traffic and ad performance in the same chat, because it adds four AI-referral tools and the same URL also covers Google Ads, Meta Ads and Search Console. Google's own server suits developers who already run a Google Cloud project and want to host the code themselves.
Can I connect several GA4 properties or clients?
Yes. One Google login reaches every property it has access to, and you can add more Google logins to the same workspace with Add one more account. For separate clients, use one Ryze AI workspace per client; one Claude connection can cover up to 20 workspaces, and you name the client in chat.
Why do the GA4 tools not show up in Claude?
Claude saves the connector's tool list when you add it, so GA4 connected afterwards does not appear. Remove the Ryze AI connector in Customize, Connectors, add it again and start a new chat. Reconnecting GA4 in Ryze AI does not refresh Claude's list.
How much does it cost to connect Claude to GA4?
The connector is included in every Ryze AI plan. Paid Ads is $89 per month with a 7-day free trial, SEO Starter is $129 per month with a 3-day free trial, and annual billing takes 30% off the first year. A paid Claude plan, if you use one, is billed by Anthropic separately.
Can Claude see traffic from ChatGPT and other AI assistants in GA4?
Yes. Four tools report AI-referral traffic: sources with sessions and conversions, top landing pages, traffic by engine against a prior period, and daily sessions. Ask, for example: Which pages did ChatGPT and Perplexity send visitors to this month?