Get custom events over time
umami_get_events_seriesCount custom events over time, grouped by event name, to track conversions and interactions like form submissions, button clicks, and signups.
Instructions
Get counts of custom tracked events bucketed over time, grouped by event name.
Use this for conversion and interaction tracking: form submits, button clicks, signups, or any event fired through umami.track().
Args:
website (string, optional): Website ID, name, or domain.
range (string): Date range, default '7d'.
start_date / end_date (string, optional): Explicit bounds, overriding 'range'.
unit ('minute' | 'hour' | 'day' | 'month' | 'year', optional): Bucket size, chosen automatically if omitted.
event (string, optional): Restrict to a single event name.
filters (object, optional): Segment filters.
timezone (string, optional): IANA timezone.
response_format ('markdown' | 'json'): Output format (default: 'markdown').
Returns: JSON shape: { "website_id": string, "unit": string, "totals_by_event": { "": number }, "series": [ { "event": string, "timestamp": string, "count": number } ] }
Examples:
"How many contact form submits last week?" -> range="last_week", event="contact-form-submit"
"Which events fire most often?" -> range="30d"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Bucket size for the series. Omit to pick automatically from the range. Umami caps: minute up to 60 minutes, hour up to 30 days, day up to 6 months. | |
| event | No | Restrict results to a single event name. | |
| range | No | Date range for the query, default '7d'. Relative ("30m", "24h", "7d", "4w", "3mo", "1y"), named ("today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year", "mtd", "ytd", "all_time"), or an explicit ISO date via start_date/end_date. | |
| filters | No | Optional segment filters. Supported keys: path, referrer, title, query, browser, os, device, country, region, city, language, hostname, tag, event, distinctId, utmSource, utmMedium, utmCampaign, utmContent, utmTerm, segment, cohort. Example: { country: 'US', device: 'mobile' }. | |
| website | No | Website ID (UUID), name, or domain. Optional if UMAMI_DEFAULT_WEBSITE is set. Use umami_list_websites to discover values. | |
| end_date | No | Explicit end date (YYYY-MM-DD, ISO 8601 timestamp, or epoch ms). Overrides 'range'. | |
| timezone | No | IANA timezone for bucketing and day boundaries, e.g. 'America/New_York'. Defaults to UMAMI_TIMEZONE. | |
| start_date | No | Explicit start date (YYYY-MM-DD, ISO 8601 timestamp, or epoch ms). Overrides 'range'. | |
| response_format | No | Output format: 'markdown' for a readable summary, 'json' for raw structured data. | markdown |