Skip to main content
Glama
get-mcp-ads

Google Analytics 4 by Get MCP Ads

ga4 run report

ga4_run_report
Read-onlyIdempotent

Run GA4 analytics reports with query planning across 52 metrics and 63 dimensions, plus auto-pagination. Query property data by date range or preset and sort results to analyze traffic and revenue.

Instructions

Run a GA4 analytics report with intelligent query planning. Supports 52 metrics, 63 dimensions, auto-pagination. Use ga4://metrics and ga4://dimensions resources for available fields. Max 9 dimensions + 10 metrics per request.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results.
offsetNoOptional 0-based row offset for explicit pagination.
endDateNoEnd date YYYY-MM-DD or relative (today, yesterday)
metricsYesMetric keys (e.g., sessions, activeUsers, totalRevenue)
orderByNoMetric or dimension key to sort by
startDateNoStart date YYYY-MM-DD or relative (7daysAgo, yesterday)
datePresetNoNamed reporting period. Use the custom date range when you need exact start and end dates.
dimensionsNoDimension keys (e.g., date, sessionSource, country)
propertyIdYesGA4 property ID (numeric, e.g., 123456789)
autoPaginateNoWhen true, omit the limit so the GA4 client paginates through all rows using offset.
orderDirectionNoSort direction for the selected ordering field.DESC

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv2.1.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv2.0.1

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and open-world, so the safety profile is covered. The description adds the per-request field caps and notes auto-pagination, but 'intelligent query planning' is unexplained and nothing is said about quota/rate-limit behavior even though a quota-snapshot sibling exists.

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?

Three short sentences, front-loaded with the core action and followed by constraints and the field-discovery pointer. Only 'with intelligent query planning' is vague filler; everything else earns its place.

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?

With an output schema present, rich annotations, and 100% parameter coverage, the description only needs to add the field limits and the discovery path for valid metric/dimension keys — both of which it does. An agent has enough to construct a valid call.

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 100%, so the baseline is 3, but the description adds a constraint absent from the schema: a maximum of 9 dimensions and 10 metrics per request (the schema sets no maxItems on dimensions). That is genuine meaning beyond the structured fields.

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

Purpose4/5

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

States a specific verb and resource ('Run a GA4 analytics report') and adds scope details (52 metrics, 63 dimensions, auto-pagination). It does not, however, distinguish itself from close siblings like ga4_run_realtime_report, ga4_run_pivot_report, or ga4_batch_run_reports, leaving the agent to infer which report runner to pick.

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

Usage Guidelines3/5

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

The description gives a prerequisite ('Use ga4://metrics and ga4://dimensions resources for available fields') and a hard cap ('Max 9 dimensions + 10 metrics'), which are useful usage constraints. It never says when to choose this over the realtime, pivot, funnel, or batch variants, so selection guidance is only implied.

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