Quick start
Event counts
Count all events or filter to a specific event name:Top events
See which events happen most often:Property breakdowns
Break down a specific event by its properties to understand the distribution:device_type, country). For custom properties stored in the JSON properties column, prefix with properties. (e.g., properties.plan, properties.amount).
Custom aggregations
Run sum, average, min, max, or count on numeric event properties:sum, avg, min, max, count.
First-time events
Count users who did an event for the first time within a period. This answers questions like “how many users signed up for the first time this week?” — distinct from total event counts, which include repeat actions.First-time vs first-match
Two modes control how filter conditions interact with the historical scan:
first_time (default) — “How many users made their first purchase this month?”
Lookback window
By default, Tell scans the entire event history to find true first occurrences. For large datasets, limit the scan withlookback_days:
argMin.
See the first-time events API reference for full endpoint documentation.
Per-actor metrics
Regular event counts tell you totals. Per-actor metrics tell you about user behavior — how many events does a typical user trigger? What does the 90th percentile look like? Tell computes this with a two-level aggregation: first per user, then across users.page_view events per user for that day — not the total count, but the per-user average.
Aggregation functions
Property aggregation
By default, per-actor counts events. Addproperty to aggregate a numeric property instead:
property: inner aggregation is COUNT(*) per user (event count).
With property: inner aggregation is SUM(property) per user (property total).
The outer function (avg, p90, etc.) then operates on those per-user values.
How it differs from other metrics
- Event counts — total events across all users. “50,000 purchases happened.”
- Per-actor metrics — distribution across users. “The average user made 2.3 purchases. The p90 user made 8.”
- Custom aggregations — single-level property aggregation. “Average purchase amount is $42.” (not per-user)
- Grouped metrics — per-actor logic applied per group for treemap visualization
Drill-down
Inspect raw event data when you need to see individual records:timestamp, event_name, device_id, and session_id. Add filter conditions to narrow down the results.
Formulas
Combine multiple metric series with math. Define series A, B, C (up to 26), then write an expression:B / A * 100 gives a percentage.
Series references
Each series maps to a letter: the first isA, the second is B, and so on up to Z. Reference them in your formula by letter.
Available series metrics: dau, wau, mau, events, event:<name>, sessions, users, logs.
Operators
Standard math precedence applies. Use parentheses to override:
(A + B) / C.
Division by zero returns 0 instead of an error.
Evaluation modes
Formulas evaluate in two modes depending on context:- Time series — per-bucket evaluation, used for charts. Missing values default to
0. - Total — evaluates on aggregate totals, used for KPI number blocks on boards.
Formulas on boards
Add formulas to any metric block on a board. Define your series, write the expression, and the board evaluates it on every refresh. Use this for computed metrics like conversion rates, ratios, or derived KPIs. See the formula API reference for full endpoint documentation.Grouped metrics
Grouped metrics show proportional composition — which countries, events, or plans make up your traffic, and how engaged each group is. The result powers treemap visualizations on boards. Each group has two values:- Size — determines area (event count, unique users, or sum of a property)
- Intensity — determines color (average events per user, percentile, or average of a property)
Size metrics
Intensity metrics
Options
Unlike breakdowns, grouped metrics always return a snapshot (not a time series) and use two-level aggregation — first per user, then per group — to reveal engagement patterns, not just raw counts.
See the grouped metrics API reference for full endpoint documentation.
Lifecycle
The lifecycle metric tracks how your active user base evolves over time. Each period, Tell classifies every active user into one of three states:weekly. Supports daily, monthly, and all other granularity levels. Add compare=previous for period-over-period comparison.
This is different from lifecycle segments. The lifecycle metric is a time series — it classifies users per period with relative lookback. Segments are a snapshot — they classify all users right now using fixed 7/30-day windows and include
dormant and churned states.