Skip to main content
Glama

GA4 report by campaign tags

ga4_report
Read-onlyIdempotent

GA4: performance of the client's UTM tags — spend and platform results versus GA4 sessions, key events and revenue by campaign utm_id; CPA/ROAS by GA4, attribution gap, traffic without a campaign. property_id is optional.

Input Schema

NameRequiredDescriptionDefault
date_toNoPeriod end, YYYY-MM-DD, no later than yesterday; up to 31 days. Optional: by default yesterday (the account's time zone when known, otherwise UTC).
client_idYes
date_fromNoPeriod start, YYYY-MM-DD, a completed day. Optional: without dates the last 7 completed days are used (date_from = date_to − 6 days).
property_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / date_from / description
      Previous value: -"Period start, YYYY-MM-DD, a completed day"New value: +"Period start, YYYY-MM-DD, a completed day. Optional: without dates the last 7 completed days are used (date_from = date_to − 6 days)."
    • changedInput schema / properties / date_to / description
      Previous value: -"Period end, YYYY-MM-DD, no later than yesterday; up to 31 days"New value: +"Period end, YYYY-MM-DD, no later than yesterday; up to 31 days. Optional: by default yesterday (the account's time zone when known, otherwise UTC)."
    • changedInput schema / required
      Previous value: -[
      -  "client_id",
      -  "date_from",
      -  "date_to"
      -]New value: +[
      +  "client_id"
      +]
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds scope information (GA4-side attribution gap, untagged traffic) but says nothing about auth requirements, rate limits, data freshness, or why property_id would need to be supplied. Adequate but shallow beyond annotations.

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

Conciseness3/5

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

Front-loaded with 'GA4:' and dense with useful metric names, but delivered as one semicolon-and-em-dash chain that reads as a spec dump. Every clause carries information, yet the lack of sentence structure makes it harder to scan than it needs to be.

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

Completeness4/5

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

With no output schema, the description does the necessary work of enumerating returned content (sessions, key events, revenue, CPA/ROAS, attribution gap, uncampaigned traffic) and states the one required parameter's role. Remaining gap is row granularity/by-dimension breakdown and date-range limits, which the schema partially covers.

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

Parameters3/5

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

Schema coverage is 50%: date_from/date_to are well documented incl. defaults, while client_id and property_id have no schema description. The description partially compensates by noting property_id is optional and framing client_id as 'the client's' UTM spend source, but never explains what property_id selects (a GA4 property) or whether omitting it changes the result set.

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?

The description names a concrete resource (GA4 performance by campaign UTM tags) and enumerates the metrics produced — sessions, key events, revenue, CPA/ROAS, attribution gap. It is clearly more specific than a generic performance report, though it never explicitly distinguishes itself from siblings like get_performance, tracking_audit, or search_console_report.

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?

There is no explicit when-to-use/when-not statement or named alternative. Usage is only implied by the content list: 'attribution gap' and 'traffic without a campaign' hint at reconciliation work, but the agent must infer that this is the GA4-side counterpart to the ads performance tools.

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.

Resources