breakdown_by_property
Analyze visitor counts grouped by a custom property (e.g., plan, SKU, source). Retrieve top values for any event property you configured.
Instructions
ANSWER FIRST for 'how many [X] signups by plan?', 'split [event] by [property]', 'pro vs free signups', 'sales by SKU', 'newsletter signups by source' — anything that means grouping a CUSTOM event property the user previously instrumented with get_event_tracking_snippet. Property name must match [A-Za-z0-9_.-]{1,64}. For built-in dimensions (country, browser, device, channel, AI source, city, etc.) use get_breakdown instead. Returns top values for the property with visitor counts.
Optional date range. Either {preset:'last_7_days'} (also: today, yesterday, last_14_days, last_30_days, last_90_days, last_year, month_to_date, last_month, all_time) OR {from:'2026-05-01', to:'2026-05-15'} for a custom range (ISO 8601 dates or timestamps). Defaults vary by tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| property | Yes | Custom event property name. Must match [A-Za-z0-9_.-]{1,64}. The value users sent in their tracker call (e.g. property='plan' for window.gizmo('signup', {plan:'pro'})). | |
| event_name | No | Narrow to a single event (e.g. 'signup'). Omit to roll up across every event that has the property. | |
| site_id | No | Internal site UUID. Get one from list_sites. Omit to scope to the entire workspace. | |
| date_range | No | Optional date range. Either {preset:'last_7_days'} OR {from:'2026-05-01', to:'2026-05-15'}. Defaults per tool — usually last_7_days. | |
| limit | No | Max number of rows to return. Defaults to 20, capped at 200. Pagination via date_range for larger windows. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Top-N rows sorted by visitor count, descending. |