Connect Google Analytics 4 to ChatGPT, Claude, Gemini, and other LLMs
Description
Section titled “Description”Google Analytics 4 (GA4) is Google's web and app analytics product. Its data covers traffic, users, sessions, events, conversions, and acquisition sources. To analyze it in ChatGPT, Claude, Gemini, or another LLM, use scheduled Coupler.io imports.
Also searched as GA4, Google Analytics.
How to connect
Section titled “How to connect”Connect Google Analytics 4 to your AI tool with Coupler.io. Pick the tool you use to see how to install it.
Coupler.io runs a GA4 report you define, on a schedule, and exposes the result to Claude through its own MCP server. Claude queries the stored dataset, so a long date range does not have to fit into the conversation.
Works with
Pick the AI tool you use. The install steps below change to match it.
- Each AI tool sees only the datasets from data flows that have that tool as a destination. To use the same data in several tools, add each one as a destination on the data flow.
- Every AI tool destination replaces the data on each run; append mode is not supported.
How to install
Works in Claude web, Claude desktop, Claude mobile, Cowork, Claude Code.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Claude as the destination in the data flow's destination step.
- Give the data flow a clear name, because Claude refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Claude web, desktop, and Cowork
- Install the Coupler.io connector from Claude's connector directory and click Connect.
- In the Connectors menu, click Connect again and sign in to Coupler.io.
- Open a new chat. Claude asks permission to use the Coupler.io tools the first time; allow them.
In Claude Code
- Start a new Claude Code session.
- Paste the connection command shown in the Claude destination step of your data flow.
- Restart the session.
- Run
/mcp, select Coupler.io, and click Authorize in the browser window that opens.
Check it worked
Ask Claude to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count Claude reports with the run in Coupler.io, because the preview alone does not confirm what Claude received.
Good to know
- On individual Claude Free and Pro plans the official connector may connect but fail to load its tools. The documented workaround is a custom connector: in Coupler.io, open AI integrations, click Custom connector, and copy the URL. Remove the official connector in Claude, then go to Connectors, Add, Add custom connector, give it a name with plain letters and spaces only (for example Coupler Custom), paste the URL, and connect.
- Local use with Claude desktop is also available through a Desktop Extension.
Coupler.io guide for ClaudeCoupler.io in the Claude connectors directory
Connects through the Coupler.io ChatGPT app.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose ChatGPT as the destination in the data flow's destination step.
- Give the data flow a clear name, because ChatGPT refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In ChatGPT
- Open the Coupler.io app in ChatGPT, from the link in your Coupler.io account or the apps section of ChatGPT settings.
- Install the app and authorize it with your Coupler.io account.
- Start a new chat to pick up fresh data after a run, or ask ChatGPT to fetch it again in an ongoing conversation.
Check it worked
Ask ChatGPT to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count ChatGPT reports with the run in Coupler.io, because the preview alone does not confirm what ChatGPT received.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Gemini CLI as the destination in the data flow's destination step.
- Give the data flow a clear name, because Gemini CLI refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Gemini CLI
- In the Gemini CLI destination step, generate the command that adds the Coupler.io MCP server, then run it in your terminal. It looks like
gemini mcp add coupler --transport=http --scope=user https://mcp.coupler.io/mcp/.... - Start Gemini CLI and run
/mcp auth couplerto sign in to Coupler.io.
Check it worked
Ask Gemini CLI to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count Gemini CLI reports with the run in Coupler.io, because the preview alone does not confirm what Gemini CLI received.
Added as a custom MCP data store with OAuth credentials from Coupler.io.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Gemini Enterprise as the destination in the data flow's destination step.
- Give the data flow a clear name, because Gemini Enterprise refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Gemini Enterprise
- In the Gemini Enterprise destination step, create OAuth credentials and copy the Client ID and Client Secret. The secret is shown only once; if you lose it, regenerate it.
- In Gemini Enterprise, go to Data stores, Create data store, and choose Custom MCP server.
- Paste the MCP Server URL, Authorization URL, Token URL, and the scope
mcpfrom the destination step, together with the Client ID and Client Secret.
Check it worked
Ask Gemini Enterprise to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count Gemini Enterprise reports with the run in Coupler.io, because the preview alone does not confirm what Gemini Enterprise received.
Coupler.io guide for Gemini EnterpriseGoogle Cloud documentation
Added to a Copilot Studio agent as an MCP tool.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Microsoft Copilot Studio as the destination in the data flow's destination step.
- Give the data flow a clear name, because your Copilot Studio agent refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Microsoft Copilot Studio
- Open your agent in Copilot Studio and confirm generative orchestration is on.
- Go to Tools, Add a tool, New tool, Model Context Protocol, and paste the Coupler.io MCP server URL shown in the destination step.
- For authentication, choose OAuth 2.0 and Dynamic discovery, then click Create. No client ID or secret is needed.
- The first time someone uses the tool, they see a consent card in chat and sign in to Coupler.io once.
Check it worked
Ask your Copilot Studio agent to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count your Copilot Studio agent reports with the run in Coupler.io, because the preview alone does not confirm what your Copilot Studio agent received.
Coupler.io guide for Microsoft Copilot StudioMicrosoft documentation
Perplexity currently uses the local Coupler.io MCP server, which runs in Docker.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Perplexity as the destination in the data flow's destination step.
- Give the data flow a clear name, because Perplexity refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Perplexity
- In Perplexity, go to Settings, Connectors, click Add new connector, and choose the simpler settings.
- Name the connection coupler-io and enter the command
docker run --pull=always -e COUPLER_ACCESS_TOKEN --rm -i ghcr.io/railsware/coupler-io-mcp-server. - Add an environment variable called
COUPLER_ACCESS_TOKEN, then generate a Coupler.io personal access token and paste it as the value. - Save the configuration and accept the security warning about Docker.
Check it worked
Ask Perplexity to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count Perplexity reports with the run in Coupler.io, because the preview alone does not confirm what Perplexity received.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Cursor as the destination in the data flow's destination step.
- Give the data flow a clear name, because Cursor refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In Cursor
- Open the Coupler.io entry in Cursor's MCP directory and click Add to Cursor.
- In Cursor, find the new Coupler.io integration, click Needs authentication, then sign in with your Coupler.io account and grant access.
- Open the AI pane and ask about your dataset.
Check it worked
Ask Cursor to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count Cursor reports with the run in Coupler.io, because the preview alone does not confirm what Cursor received.
Coupler.io guide for CursorCoupler.io in the Cursor MCP directory
Connects to the Coupler.io MCP server through mcporter.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose OpenClaw as the destination in the data flow's destination step.
- Give the data flow a clear name, because OpenClaw refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In OpenClaw
- Install the coupler-io skill from ClawHub. It holds the commands that connect the Coupler.io MCP server to OpenClaw with mcporter.
Check it worked
Ask OpenClaw to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count OpenClaw reports with the run in Coupler.io, because the preview alone does not confirm what OpenClaw received.
Connects any MCP-compatible client with a personal access token.
In Coupler.io
- In Coupler.io, create a data flow and select Google Analytics 4 as the source.
- Choose your property, then pick up to 10 metrics and 9 dimensions and set the date range.
- Choose Custom MCP as the destination in the data flow's destination step.
- Give the data flow a clear name, because your MCP client refers to the dataset by that name.
- Run the data flow manually once and wait for it to finish successfully.
- Set a refresh schedule once that first run has succeeded.
In your MCP client
- In the Custom MCP destination step, click Generate token and copy it together with the MCP server URL.
- Add the token and URL to your MCP client's JSON config, following the example config shown there.
Check it worked
Ask your MCP client to list the datasets it can see; the GA4 data flow should appear under the name you gave it. Then compare the row count your MCP client reports with the run in Coupler.io, because the preview alone does not confirm what your MCP client received.
Good to know
- Treat the personal access token as a secret and do not share it.
- Behind a corporate firewall, allow outbound connections to the Coupler.io MCP endpoint.
What Coupler.io gives you from Google Analytics 4
- One flexible report type that you build from your own choice of metrics and dimensions, loaded dynamically from the GA4 API for your property
- Traffic metrics: Views, Sessions, Total users, New users, Active users, Bounce rate, Engagement rate, Average session duration, Views per session, Sessions per user, Event count, Key events
- Ecommerce metrics: Purchase revenue, Total revenue, Ecommerce purchases, Add-to-carts, Checkouts, Item revenue, Transactions, Average purchase revenue
- Advertising metrics: Ads cost, Ads clicks, Ads impressions, Return on ad spend, Cost per key event
- Dimensions: date and time splits, session source, medium, campaign and default channel group, country, city, region, device, browser, operating system, page path, page title, landing page, hostname, and item-level ecommerce fields
An example question you can ask
Which landing pages lost the most organic sessions this month compared with last, and did their conversion rate move with the traffic?
How the data reaches the AI tool
Coupler.io reads the GA4 Data API, stores the result as a dataset, and serves it to Claude over its MCP server. Queries run on Coupler.io's side, so a large dataset does not have to fit into the model's context. Claude sees only datasets from data flows that have Claude as their destination.
- Historical data
- GA4 properties have a configurable retention period of either 2 months or 14 months, and only data inside that window can be pulled
- You set a start and end date for the report; no hard limit on the range is stated, but long ranges with many dimensions are slow
- Refresh
- A successful manual run is required before a schedule can be set
- Scheduled refresh is described as hourly, daily, or a custom interval
- The platform supports intervals from every 15 minutes to monthly, depending on plan
- Combining several sources
- One data flow can take several sources and combine them with Join or Append before the data reaches Claude
- GA4 is documented as merging with Google Ads, Facebook Ads, CRM, or e-commerce data for a full-funnel view
- Running several reports and joining them is the documented workaround for GA4's 10-metric ceiling
- Prerequisites
- A Google account with access to at least one GA4 property
- Viewer permissions or higher on the GA4 property
- The analytics.readonly permission must be granted during the OAuth flow
- A Coupler.io account
Limits to expect
- Up to 10 metrics and 9 dimensions per data flow, which is a GA4 API limit rather than a Coupler.io one
- Not all metric and dimension pairs are compatible; an invalid combination returns a 400 error
- The GA4 Data API applies request quotas per property, so several flows pulling the same property at once can hit them
- GA4 may withhold rows representing too few users through thresholding, especially when Google Signals is enabled
- Data is typically available within a few hours, but some metrics take 24 to 48 hours to finish processing
- Total users broken down by a dimension will not sum to the overall total
- On the free plan only the first 1,000 rows are exported, which shows up as gaps in dates
Related skills
Section titled “Related skills”A skill gives the AI tool instructions for a task. It connects no data, so connect Google Analytics 4 first.
Ai traffic vs organic report
- How much traffic does my site get from ChatGPT
- Are AI answer engines sending me visitors
View skillAi citation to revenue funnel
- Which of our pages do ChatGPT, Perplexity or Gemini cite
- Does our AI search visibility bring traffic, signups or sales
View skillEcom analytics
- How is my store performing
- What's my conversion rate
View skillGsc GA4 landing page performance
- Does my organic search traffic convert
- Which landing pages actually make money from SEO
View skill
Show 1 more skillShow fewer skills
Marketing analytics
- Why did conversions drop
- Which channel has best ROI
View skill
Related connectors
Section titled “Related connectors”No related connectors listed yet. Browse all connectors.
Questions
Section titled “Questions”Can Claude change my GA4 configuration?
No. Coupler.io is read-only against GA4: Claude queries an imported dataset and cannot edit your Analytics configuration, settings, or events.
How far back can Claude see my analytics?
As far as GA4 keeps it. A GA4 property retains data for either 2 or 14 months depending on its setting, and no route can read past that. If you need longer history, the documented approach is to export on a schedule and store the results before they expire.
Will the numbers Claude reports match the GA4 interface?
Usually, with two documented caveats. GA4 may withhold rows representing too few users through thresholding, especially when Google Signals is on, and Total users broken down by a dimension will not sum to the overall total. Data pulled through the Data API is unsampled, and most metrics settle within a few hours, though some take 24 to 48 hours.
Why can I only pick 10 metrics?
That ceiling is the GA4 Data API's: up to 10 metrics and 9 dimensions per report. The documented workaround is to run more than one report and join them.
My export has missing dates. What happened?
Two documented causes. On the free plan only the first 1,000 rows are exported, which shows up as gaps. The other is an incompatible metric and dimension pair, which returns a 400 error rather than partial data. GA4's per-property API quotas can also bite when several flows pull the same property at once.
The connector shows as connected but Claude cannot see my data. Why?
On individual Claude Free and Pro plans there is a documented defect where the official Coupler.io connector connects but its tools never load, so Claude cannot query the datasets. Coupler.io documents a custom connector URL as a workaround and reports that it works on all plans.
Sources and corrections
Section titled “Sources and corrections”Researched on 2026-10-04. One route is covered, researched on 4 October 2026: the Coupler.io data platform. No dedicated GA4 entry was reachable in Claude’s connector directory at the obvious addresses; the directory cannot be searched exhaustively, so no claim is made that none exists.
Something here wrong or out of date? Open a correction issue and it will be re-checked against the source.