Skip to main content
Glama

Top values of a dimension

get_breakdown
Read-onlyIdempotent

Visitors and attributed revenue per value of one dimension. Defaults to visitors descending. Dimensions: channel, referrer, campaign, keyword, source, hostname, entry, exit, country, region, city, browser, os, device, page, goal, outbound. dim=page includes scroll: median maximum depth (percent), measured/tracked page-view counts, measurement coverage (fraction) and 25/50/75/100% milestone counts and shares of measured views (fractions). Missing depth is null, excluded from the median. Imported history has no scroll measurements. sort=scroll_depth only works with dim=page; unknown depths stay last in both directions. Use get_page_scroll for one exact page. Each row key can be used as a visit filter in other tools.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "dim": "<dim>"
    },
    "name": "get_breakdown"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoLast day, inclusive (YYYY-MM-DD).
dimYesThe dimension to group by.
fromNoFirst day (YYYY-MM-DD, site time zone). Use with to instead of period.
siteNoSite domain (example.com), id or public id (tb_…). Optional with a site key, or when the account has one site.
sortNoDefault visitors. scroll_depth sorts page medians only (dim=page), before limiting.
limitNoRows to return. Default 10.
periodNoTime range. Default 30d. today, yesterday, 24h, 7d, 30d, 90d, 12m, wtd, mtd, ytd, all.
filtersNoOnly visits that match every filter. A value is "is": {"country": "US"}; a list is "is any of": {"country": ["PT", "ES"]}; an object picks the operator: {"page": {"contains": "/blog"}}, {"channel": {"is_not": ["Direct", "Email"]}}, {"page": {"not_contains": "/admin"}}. Operators: is, is_not, contains, not_contains (case-insensitive). "visitor" is "new" or "returning". "ad" is an ad campaign as "google:<campaign id>" or "meta:<campaign id>" (the visits that the Ads page counts for it). Use "(none)" for empty values; countries take ISO codes or English names.
sort_dirNoDefault desc. Unknown scroll depths stay last in either direction.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / sort
      Added value: +{
      +  "description": "Default visitors. scroll_depth sorts page medians only (dim=page), before limiting.",
      +  "enum": [
      +    "name",
      +    "visitors",
      +    "revenue",
      +    "scroll_depth"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sort_dir
      Added value: +{
      +  "description": "Default desc. Unknown scroll depths stay last in either direction.",
      +  "enum": [
      +    "asc",
      +    "desc"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent read, so the description's job is to add domain behavior — and it does: it explains that missing scroll depth is null and excluded from the median, that imported history has no scroll measurements, and that unknown depths sort last in both directions. It does not describe the row shape for non-page dimensions or any result-size behavior, but the disclosed semantics go well beyond the annotation set.

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?

The core output statement is front-loaded and nearly every sentence carries a distinct fact (dimension list, scroll field meanings, sort constraints, cross-tool reuse). The scroll-depth section is parenthesis-dense and slightly run-on, which costs a point on readability, but there is no filler.

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 9 parameters, a nested filters object, and no output schema, the description supplies most of what an agent needs: what the result rows contain for dim=page, how defaults apply, and how row keys feed other tools. It stops short of characterizing the return shape for the other dimensions, the one area the missing output schema leaves uncovered.

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; the description earns above that by explaining non-obvious parameter interactions the schema only hints at, notably the dim=page/scroll_depth coupling and tie-breaking on unknown depths. It also adds cross-tool semantics by noting that each row key can be reused as a filter in other tools, which the schema cannot express.

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 states the exact output axes (visitors and attributed revenue per value of one dimension) and enumerates the 17 available dimensions, so the agent knows precisely what the tool produces. It also names a specific sibling it is not ("Use get_page_scroll for one exact page"), making the boundary against at least one alternative explicit.

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

Usage Guidelines4/5

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

It gives concrete operating conditions: default sort is visitors descending, sort=scroll_depth only works with dim=page, and get_page_scroll should be used for a single exact page. What is missing is guidance on when to reach for this versus the broader get_overview or get_timeseries siblings, which are the more likely confusion points.

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