Skip to main content
Glama

GSCPAP - Google Search Console, GA4, PageSpeed Insights & live SERPs MCP

GA4 traffic from AI assistants

ga4_ai_traffic
Read-only

Traffic from AI assistants (ChatGPT, Perplexity, Gemini, Claude, Copilot, ...): how much, which engines, which pages they send people to, and how it compares with Google organic on the same pages.

Use for "do AI assistants recommend my site?", "how much traffic does ChatGPT send?", "which of my pages does ChatGPT link to?", GEO / AEO / LLM visibility questions. This measures visits, the outcome of being recommended. It cannot see answers that mention the site without a click.

A session counts as AI traffic when GA4 put it in its "AI Assistant" channel OR its source is a known assistant. The channel alone misses about 10% (measured over 446 properties), filed as Referral; ai_sessions_outside_ai_channel says how many that was here.

property_id="all" returns one summary row per GA4 property the user can see (first 25), for comparing a portfolio of sites in one call.

Reading the result:

  • ai_to_organic is the comparable number across sites (AI sessions per Google organic session); ai_share_of_total depends on how much direct/paid/social traffic the site has.

  • Conversion numbers come from GA4 over exactly the AI sessions (sessionKeyEventRate, transactions, purchaseRevenue), never from dividing summed rows. Key events are whatever the property marked, so quote them next to transactions. Across 77 measured properties the AI key-event rate matched organic (median ratio 1.06): do not tell the user AI visitors convert better unless this property shows it.

  • pages lists where AI assistants land people, each with its organic sessions beside it. A page AI sends people to that Google barely does (or the reverse) is the finding to surface.

  • weekly_ai_sessions is by ISO week; the last week is usually partial.

  • engines[].key_events are summed key events, which exceed sessions wherever a session fires several. Take rates from ai_totals.

Input Schema

NameRequiredDescriptionDefault
daysNolookback window (1-365), default 90. AI traffic is small on most sites (median 1.3% of sessions), so short windows are noisy
page_limitNolanding pages to return (1-100), default 20
property_idYesGA4 property id, or "all" for a per-property summary

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, yet the description adds substantive behavior: the AI-session attribution rule (channel OR known source), the ~10% gap filed as Referral, the cap of 25 properties for "all", the partial final ISO week, and the caveat that engines[].key_events are sums that exceed sessions. It also warns against over-claiming AI conversion superiority from an aggregate median, which is real interpretive guidance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with purpose, then usage, then result interpretation, with zero filler sentences — each claim (attribution rule, ratio choice, key-event caveat, partial week) is actionable. The length is justified by analytical complexity, though the block is dense enough that light trimming of the parenthetical measurement asides would help scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description goes further and explains how to read the key fields (ai_to_organic vs ai_share_of_total, pages paired with organic sessions, rates from ai_totals). For a read-only analytics tool with 3 simple params, nothing an agent needs to invoke or interpret it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description still adds meaning beyond the schema for property_id by explaining that "all" returns one summary row per property limited to the first 25 the user can see. The days and page_limit semantics are already fully covered in the schema, so no additional credit is warranted there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific resource (traffic from AI assistants), the named engines, the breakdowns (engines, pages), and the comparison against Google organic. This is clearly separable from generic siblings like ga4_traffic_sources or ga4_top_pages because it is scoped to AI-assistant-referred sessions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It lists concrete user questions the tool answers ("do AI assistants recommend my site?", "how much traffic does ChatGPT send?", GEO/AEO/LLM visibility) and states an explicit boundary: it measures visits only and cannot see mentions without a click. It also flags the portfolio-comparison mode via property_id="all", so the agent knows both when to reach for it and what it will not cover.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.