Skip to main content
Glama
google-data-mcp

google-data-mcp

by seliem-attia

GA4: Create custom dimension

ga4_create_custom_dimension

Create a GA4 custom dimension for an event, user, or item parameter by specifying the property, parameter name, and display name. Use it to make parameter data available for analysis and reporting.

Instructions

Creates a custom dimension for an event/user/item parameter.

Input Schema

NameRequiredDescriptionDefault
scopeNoDefault EVENT
propertyYesGA4 property ID, e.g. '123456789' or 'properties/123456789'
descriptionNo
displayNameYesDisplay name in GA4
parameterNameYesEvent parameter, e.g. 'form_id'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the mutation and safety profile is covered structurally. The description adds essentially nothing beyond that: it does not mention that a created dimension's scope is immutable, that GA4 enforces a per-property cap on custom dimensions, or that the change propagates with delay — all material facts for a create operation.

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?

A single front-loaded sentence with no filler or repetition. It is appropriately sized for what it conveys, though the same brevity is what leaves the usage and behavioral gaps.

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

Completeness2/5

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

For a five-parameter, three-required mutation tool with no output schema, the definition should say more: whether the created dimension is returned, whether scope can be changed later, and how to verify success. The presence of ga4_list_custom_definitions as a sibling makes the missing pre-check guidance a real omission.

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 description coverage is 80%, so the schema already explains property ID formats, displayName and parameterName examples. The description's phrase 'event/user/item parameter' loosely mirrors the scope enum and confirms the parameter-name linkage, but adds no new semantics such as the immutability of scope or naming constraints. Baseline 3 applies.

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 gives a specific verb and resource ('Creates a custom dimension') and scopes it to event/user/item parameters, which tells an agent it is not the same as ga4_create_custom_metric or ga4_list_custom_definitions. It stops short of explicitly naming those siblings, but the create-vs-list and dimension-vs-metric distinctions are inferable.

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

Usage Guidelines2/5

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

No when-to-use guidance is given: nothing tells the agent to check ga4_list_custom_definitions first to avoid duplicates, when to prefer ga4_create_custom_metric, or what prerequisites (admin access on the property) are required. Usage is only implied by the verb.

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