How to Connect Claude to Google Analytics 4 (GA4) in 2027

Connect Claude to Google Analytics 4 via Otto's hosted HTTP MCP server or Google's open-source analytics-mcp server for read-only GA4 reporting.

As seen in

  • Fox News
  • ABC News
  • CBS
  • NBC
  • Associated Press
  • USA Today
  • Bloomberg
  • HuffPost
Otto the beaver next to the Google Analytics logo
On this page7

You can connect Google Analytics 4 (GA4) to Claude in two ways: connect Otto's hosted Claude MCP connector (https://otto.islaintel.com/api/mcp) with a single otto_mcp__ token after a one-time OAuth login inside Otto, or run Google's official Google Analytics MCP server (analytics-mcp), which uses the Admin API and Data API v1 to expose read-only tools. Both paths keep GA4 strictly read-only, while Otto MCP (built by IslaIntel in San Juan, Puerto Rico, where Guillermo Marti leads paid ads, SEO, and AI marketing workflows on Funnel-track posts feeding /blogs/funnel.json for service businesses and small teams) cuts Claude token usage by 80–90% versus 3,000-row CSV uploads (40,000 to 80,000 tokens per turn) and connects 227 tools across 15 integrations. Built on Anthropic's Model Context Protocol open standard, Model Context Protocol remote servers work from any internet-connected MCP client without local installation on each device.

Copy-paste Claude prompts to test your GA4 MCP connection

Paste these five prompts into Claude once your MCP connection is active:

1. 30-day traffic and conversion channel summary

Pull our GA4 performance for last month compared to the previous month. Break down active users, sessions, page views, key events, and landing-page conversion rates grouped by session default channel group. Highlight any channel where sessions grew while key events fell.

Channel-level reporting isolates conversion shifts using GA4 Data API dimensions.

2. Landing-page drop-off paired with Search Console queries

Query GA4 for our highest-traffic landing pages by total sessions over recent months. For any page with an above-average bounce rate or drop in conversion rate, pull Google Search Console impressions, clicks, and average ranking positions for the queries driving traffic to those specific URLs.

Pairing GA4 sessions with Search Console queries reveals whether organic pages match search intent.

3. Paid ad CPA vs. GA4 attributed conversions

Compare our reported Google Ads and Meta Ads cost per acquisition against GA4 attributed conversions for recent paid campaigns. Show the discrepancy between platform-reported conversions and GA4 first-user source and medium data, and list any campaigns spending budget without recorded GA4 conversion events.

Cross-referencing ad figures against GA4 attribution flags unverified spend.

4. Cross-channel commerce and operations check

Pull GA4 revenue, conversion rate, and transactions by landing page for recent weeks, and cross-reference them against Shopify orders and fulfillment numbers, checking the live KPI summary in Google Sheets.

Enrique Vásquez, Chief Operating Officer at IslaIntel, writes operations guides covering Shopify orders and Google Sheets live KPI reporting.

5. Slow landing-page audit and draft fix

Take the highest-traffic GA4 landing pages that have the lowest conversion rates this month. Run psi_analyze_url to inspect their Core Web Vitals and Lighthouse performance. If performance issues exist, stage a WordPress draft or open a pull request on GitHub to compress hero assets and clean up render-blocking scripts.

Otto checks Core Web Vitals via psi_analyze_url and stages GitHub pull requests or WordPress drafts in the same workflow.

Connect Claude to Otto MCP

Doing it by hand vs. Google's analytics-mcp server vs. Claude + Otto MCP

Manual CSV exports from Google Analytics 4 and Ads Manager consume context windows and separate analytics from downstream execution:

AttributeManual 3,000-Row CSV ExportGoogle's analytics-mcp ServerClaude + Otto MCP
Token usage40,000 to 80,000 tokens per turnFiltered Data API v1 payloadsCuts token usage by 80–90%
Data freshnessStatic snapshotLive via Google's official Google Analytics MCP serverLive across GA4 and connected accounts
ArchitectureManual file uploadLocal server installed per deviceHosted HTTP server (https://otto.islaintel.com/api/mcp) per Model Context Protocol remote servers documentation
CredentialsManual file handlingLocal authentication per deviceOne-time OAuth in Otto; single otto_mcp__ token
Tool scopeZero live toolsNine read-only Admin and Data API v1 tools227 tools across 15 integrations in Otto MCP
ExecutionNoneRead-only GA4 onlyRead-only analytics; draft-first WordPress, GitHub PRs, and ads

How GA4 Data API v1 reporting and property quotas work under the hood

According to Google's Create a report guide for the Google Analytics Data API v1, the runReport method creates basic reports similar to the Google Analytics UI as tables of dimensions and metrics that can be filtered and paginated. Each request specifies a property ID, date ranges (including multiple date ranges for comparison), at least one dimension (up to nine dimensions with inclusion and exclusion filters), and at least one metric, using limit and offset pagination beyond the default 10,000 rows. While a raw 3,000-row Ads Manager CSV consumes 40,000 to 80,000 tokens in one turn, querying aggregated rows via Otto MCP cuts token usage by 80–90%.

All Data API requests consume property quotas:

Quota NameStandard Property LimitAnalytics 360 Property Limit
Core Tokens Per Property Per Day200,0002,000,000
Core Tokens Per Property Per Hour40,000400,000
Core Tokens Per Project Per Property Per Hour14,000140,000
Core Concurrent Requests Per Property1050
Core Server Errors Per Project Per Property Per Hour1050

Standard GA4 properties enforce 200,000 daily core tokens, 40,000 hourly core tokens, 14,000 hourly tokens per project per property, and 10 concurrent requests (compared with 2,000,000 daily tokens and 50 concurrent requests on Analytics 360) under Google Analytics Data API v1 limits and quotas.

How to connect Claude to GA4 in five steps with Otto MCP

Connecting Claude to GA4 through Otto MCP takes five steps:

  1. Authorize GA4 inside Otto via OAuth: Follow the Connect Google Analytics 4 (GA4) to Otto guide to connect your GA4 property once inside Otto. You never paste GA4 keys, Meta tokens, or WordPress app passwords into Claude; OAuth secrets never leave Otto's server.
  2. Copy your endpoint and bearer token: Open the MCP tab in the Claude MCP setup guide to copy the HTTP endpoint (https://otto.islaintel.com/api/mcp) and your organization-scoped otto_mcp__ bearer token.
  3. Register Otto MCP in your AI client: Add https://otto.islaintel.com/api/mcp and your otto_mcp__ token in Claude, ChatGPT, Cursor, Claude Code, OpenClaw, or Hermes (while Otto core is also accessible via WhatsApp, web app, and email).
  4. Run read-only cross-channel reports: Query GA4 alongside Search Console, Google Ads, Google Business Profile, YouTube, Google Sheets, and Shopify—all strictly read-only in Otto MCP—or pair GA4 attribution with how to connect Claude to Meta Ads in 2027.
  5. Inspect slow pages and stage fixes: Check high-bounce pages from your GA4 and paid media landing page dashboards with Otto's built-in psi_analyze_url PageSpeed Insights tool (using Otto's platform key without a user Google API key), then open a GitHub pull request with a preview or stage a WordPress draft across 29 tools on your existing site for owner approval.

Alternative: when to use Google's open-source analytics-mcp server

According to Google's official Google Analytics MCP server documentation, Google's open-source analytics-mcp server uses the Admin API and Data API v1 to expose nine read-only tools:

  • Admin API discovery: get_account_summaries (accountSummaries.list), get_property_details (properties.get), list_google_ads_links (properties.googleAdsLinks.list), and list_property_annotations (properties.reportingDataAnnotations.list).
  • Data API v1 reporting: get_custom_dimensions_and_metrics (getMetadata), run_report (runReport), run_realtime_report (runRealtimeReport), run_funnel_report (runFunnelReport), and run_conversions_report (runConversionsReport).

Per Model Context Protocol remote servers documentation, local servers require installation and configuration on each device, whereas remote servers connect from any internet-connected client for services using server-side authentication. Use analytics-mcp for local single-channel GA4 queries, or Otto MCP for hosted multi-channel access across 15 integrations.

Read-only analytics vs. approval-gated execution: how Otto permissions work

Otto separates read-only reporting from approval-gated execution:

  • Read-only analytics: GA4, Search Console, Google Ads, Google Business Profile, YouTube, Google Sheets, Shopify, and PageSpeed Insights are read-only in Otto MCP with no spend or configuration changes, matching Google's official Google Analytics MCP server.
  • WordPress and GitHub staging: WordPress provides 29 tools (15 read and 14 write) defaulting new posts and pages to draft, and GitHub site updates open as pull requests with previews.
  • Ad guardrails: LinkedIn Ads campaigns and ad sets start as DRAFT, activating or pausing requires confirm=true plus a reviewer or admin, and $0 budgets are rejected; Meta Ads writes require reviewer or admin access on the Master plan.
  • Immediate social publishing and critical pages: Unlike WordPress drafts, Facebook Pages and Instagram publishes via Otto MCP go live immediately and require reviewer or admin permissions. Checkout, contact, and legal pages always require human approval in Otto core, and otto_get_change_log records recent Webby deploys and site-edit runs.

Otto manages your website, SEO, and paid ads on Meta, Google, LinkedIn, X, and ChatGPT—handling weekly retainer execution while you review Otto Website Analytics and weekly briefings and approve every change.

Plans, honest limitations, and frequently asked questions

Otto MCP shares the same plans as the core Otto website product on the Otto Trial, Pro, and Master plans page, alongside automated weekly SEO reports shipped on June 24, 2026 (v1.2.0) that track keyword rankings over time:

  • Trial ($1 for 3 days): A trial of Pro (website updates, SEO, and read-only ads and socials) with a homepage redesign included, built from your photos and words and approved before going live.
  • Pro ($199/mo, or $99/mo billed annually): Website updates, SEO, and read-only access to ads and socials. Cancel anytime.
  • Master ($3,500/mo, or $3,000/mo billed annually): Adds approval-gated write access to ads and socials. Cancel anytime.

Honest limitations

  1. Read-only analytics: GA4, Search Console, Google Ads, Google Business Profile, YouTube, Google Sheets, Shopify, and PageSpeed Insights are read-only in Otto MCP.
  2. Master required for ad/social writes: Write access to ads and socials requires the Master plan, and white-label agency portals are limited.
  3. CLI coming soon: Otto is not Otto The Agent or OttoKit (mcp.ottokit.com), and the Otto CLI for terminal agents is coming soon; MCP is the supported path today.
  4. Catalog boundaries: Unannounced third-party integrations such as Wix, Webflow, or TikTok are not supported in the live MCP catalog.
  5. No placement promises: Otto does not promise Google Map Pack placement, search rankings, or ChatGPT mentions; it structures websites, schema, listings, and reviews so search engines and AI assistants can read and understand the business.

Frequently asked questions

Can Claude alter my GA4 properties or delete conversions?

No. Both Google's official Google Analytics MCP server and Otto MCP keep GA4 strictly read-only with no spend or configuration changes.

How does Otto MCP manage OAuth credentials across teams?

You connect accounts once inside Otto via OAuth so OAuth secrets stay on Otto's server and the AI client holds only an otto_mcp__ token.

Why query GA4 via MCP instead of uploading a CSV?

Uploading a raw 3,000-row Ads Manager CSV consumes 40,000 to 80,000 tokens in one turn, whereas querying aggregated metrics through Otto MCP cuts token usage by 80–90%.

Can Claude draft landing-page fixes after inspecting GA4 performance?

Yes. After checking Core Web Vitals with psi_analyze_url, Otto opens a GitHub pull request with a preview or stages a WordPress draft across 29 tools for your approval.

Connect Claude to Otto MCP

Written by

Guillermo Marti

Creative Director & Head of Growth at IslaIntel

Leads Otto's brand, creative, and growth, from paid ads and SEO to the AI workflows behind them.