Custom SQL
Overview
Custom SQL unlocks full querying power for advanced analyses that exceed the point‑and‑click builders—complex joins, bespoke metrics, detailed exports, or data validation.
Common Use Cases
Top N events or users over a custom window
DAU / MAU or retention calculations with window functions
Joining profiles to events for LTV or cohort reports
Exporting a CSV list (e.g. high‑value customers) for marketing
Interface Walkthrough
SQL Editor
Write multi‑line queries; autocomplete for tables/columns.
Run Query
Execute and preview results instantly.
Save Query
Store as a reusable insight.
Variables
Parameterise dates, IDs, event names for easy reuse.
Changelog
View and revert past edits.
Quick Example (Daily Session Duration)
SELECT
toDate(session_start_time) AS date,
median(session_duration / 60) AS average_session_duration_minutes
FROM (
SELECT
toDate(timestamp) as date,
sessionId,
min(timestamp) AS session_start_time,
toUnixTimestamp(max(timestamp)) - toUnixTimestamp(min(timestamp)) AS session_duration
FROM eventsTable
WHERE timestamp >= dateAdd(day, -30, today())
GROUP BY date, sessionId
HAVING session_duration > 0
)
GROUP BY date
ORDER BY date
Paste into editor → Run Query.
Table shows days and median session duration.
Save as “Daily Session Duration”; add a variable for the day interval if you want quick toggles.
Last updated