Skip to main content
Glama

Query CTA performance

query_cta_performance
Read-onlyIdempotent

CTA-level click analytics with daily time series.

Each row has date, CTA text, link, type (explicit for data-cta elements, link, or button), clicks, and unique clickers. Use when the user asks which buttons or links people click, or whether a CTA change worked; get_page_structure shows where each CTA sits on the page. Scans count toward the monthly analytics scan quota and overage billing where applicable. Dates must be valid calendar dates in YYYY-MM-DD format, and startDate must be on or before endDate. Dates are days in the workspace's time zone, UTC when the workspace has none set, and startDate and endDate are whole days in the zone used. Pass timeZone, an IANA name such as America/New_York, for days in another zone; it changes only this response, never the workspace's time zone. The result's timeZone field names the zone used, and timeZoneSource says where it came from (argument, workspace, or default). A row for today's date in that zone counts only the hours so far. When timeZonePending is set, the workspace is switching to that zone once its history is recomputed. Optionally filter by exact CTA text or by a regular expression for the CTA href.

Combine with query_timeseries for traffic context (clicks ÷ visitors = CTR).

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum rows to return. Defaults to 100, max 500.
siteIdYesThe ID of the page
ctaTextNoFilter by exact CTA button text
endDateYesEnd date (YYYY-MM-DD)
timeZoneNoIANA time zone name for the days in this response, such as America/New_York, Europe/Berlin, or Asia/Tokyo. Leave it out for the workspace's time zone (UTC when none is set). It affects only this response: the workspace's time zone stays as it is, and only the workspace's owner changes it, in the dashboard's Settings. Abbreviations such as EST and offsets such as +09:00 aren't accepted.
startDateYesStart date (YYYY-MM-DD)
ctaHrefPatternNoFilter by CTA link pattern as a valid regular expression (e.g. 'https://shop\\.example\\.com/.*')

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / siteId / description
      Previous value: -"The site ID"New value: +"The ID of the page"
  2. Changed1 schema field changed
    • addedInput schema / properties / timeZone
      Added value: +{
      +  "description": "IANA time zone name for the days in this response, such as America/New_York, Europe/Berlin, or Asia/Tokyo. Leave it out for the workspace's time zone (UTC when none is set). It affects only this response: the workspace's time zone stays as it is, and only the workspace's owner changes it, in the dashboard's Settings. Abbreviations such as EST and offsets such as +09:00 aren't accepted.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real operational context beyond them: scans count against the monthly analytics scan quota with overage billing, today's row is partial, and timeZonePending signals a pending workspace zone switch. It does not cover result ordering or pagination behavior, which keeps it short of a 5.

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?

Front-loaded with the row shape and the use case before the operational caveats, and every paragraph carries information. The time-zone paragraph is long and partly duplicates the timeZone schema description, so it is dense rather than wasteful.

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 no output schema, the description takes on the burden of describing the returned columns and the timeZone/timeZoneSource/timeZonePending fields, and it does so. For a 7-parameter read tool with full annotation coverage, an agent has everything needed to call it correctly.

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 cross-parameter constraints the schema lacks: dates must be valid calendar dates and startDate must be on or before endDate, plus the exact-text vs regex-href distinction between ctaText and ctaHrefPattern. The timeZone explanation largely restates the schema field, which caps it at 4.

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?

States a specific verb and resource ('CTA-level click analytics with daily time series') and enumerates the exact row shape (date, CTA text, link, type, clicks, unique clickers). It explicitly distinguishes itself from get_page_structure (placement) and query_timeseries (traffic context), so an agent can route without opening a schema.

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?

Gives an explicit trigger ('Use when the user asks which buttons or links people click, or whether a CTA change worked') and names two alternatives with their distinct roles: get_page_structure for placement and query_timeseries for CTR context. Both the when and the when-else are covered.

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.