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.
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:
| Attribute | Manual 3,000-Row CSV Export | Google's analytics-mcp Server | Claude + Otto MCP |
|---|---|---|---|
| Token usage | 40,000 to 80,000 tokens per turn | Filtered Data API v1 payloads | Cuts token usage by 80–90% |
| Data freshness | Static snapshot | Live via Google's official Google Analytics MCP server | Live across GA4 and connected accounts |
| Architecture | Manual file upload | Local server installed per device | Hosted HTTP server (https://otto.islaintel.com/api/mcp) per Model Context Protocol remote servers documentation |
| Credentials | Manual file handling | Local authentication per device | One-time OAuth in Otto; single otto_mcp__ token |
| Tool scope | Zero live tools | Nine read-only Admin and Data API v1 tools | 227 tools across 15 integrations in Otto MCP |
| Execution | None | Read-only GA4 only | Read-only analytics; draft-first WordPress, GitHub PRs, and ads |
Otto MCP
Ask your AI assistant what changed in your ads
Connect Claude or ChatGPT to Otto, then ask about Meta Ads, Google Ads, GA4, and Search Console in the same chat. The logins stay in Otto.
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 Name | Standard Property Limit | Analytics 360 Property Limit |
|---|---|---|
| Core Tokens Per Property Per Day | 200,000 | 2,000,000 |
| Core Tokens Per Property Per Hour | 40,000 | 400,000 |
| Core Tokens Per Project Per Property Per Hour | 14,000 | 140,000 |
| Core Concurrent Requests Per Property | 10 | 50 |
| Core Server Errors Per Project Per Property Per Hour | 10 | 50 |
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:
- 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.
- 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-scopedotto_mcp__bearer token. - Register Otto MCP in your AI client: Add
https://otto.islaintel.com/api/mcpand yourotto_mcp__token in Claude, ChatGPT, Cursor, Claude Code, OpenClaw, or Hermes (while Otto core is also accessible via WhatsApp, web app, and email). - 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.
- 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_urlPageSpeed 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), andlist_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), andrun_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 requiresconfirm=trueplus 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_logrecords 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
- Read-only analytics: GA4, Search Console, Google Ads, Google Business Profile, YouTube, Google Sheets, Shopify, and PageSpeed Insights are read-only in Otto MCP.
- Master required for ad/social writes: Write access to ads and socials requires the Master plan, and white-label agency portals are limited.
- 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. - Catalog boundaries: Unannounced third-party integrations such as Wix, Webflow, or TikTok are not supported in the live MCP catalog.
- 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.
Otto Website Analytics
Monday should say what actually changed.
Otto checks that the numbers are still counting, then sends the week in plain language. Visitors, the pages that moved, and the fix worth doing next.
See how Otto does it