User journeys
you can actually read.
Flows is funnel tracking for product teams. Most funnel tools answer every possible question at the cost of taking a week to learn. Flows answers the one question teams actually ship against: did this release move the needle on the funnel that matters? Scoped, release-aware, and plugged into the rest of Brily.
- 01landing_viewedLanding viewed10,000 → 10,0000.0pp100%
- 02signup_startedSignup started3,800 → 4,400+6.0pp44%
- 03signup_completedSignup completed2,700 → 3,350+6.5pp33.5%
- 04activatedActivated (D1)1,280 → 1,710+4.3pp17.1%
See an event land in real time.
Click the button, watch the track call fire, watch the counter tick up. Same API you would call from your own app.
Brily.track() callbutton.onClick(() => {
Brily.track("signup_completed", { plan: "pro" });
});
Brily.track() POSTs to api.brily.app/v0/events.Define a funnel in two clicks
A flow is a named funnel: a sequence of event names. Landing → signup started → signup completed → activated. No SQL, no schema, no custom dashboard. Name it and ship.
One 10 KB widget, two methods
The same script tag that renders NPS surveys adds Brily.track(event, props). Server-side POST /v0/events for anything the browser cannot see. That is the entire SDK.
Step-by-step funnel conversion
For each funnel, see how many users reached every step, the drop rate between steps, and the median and p90 time to complete each step. Pre-computed, refreshed each minute.
Release cohort, by default
Same pattern as NPS. POST a release marker, and every flow splits automatically into exposed and control cohorts. The dashboard shows the before-and-after delta with a confidence indicator.
User timeline
Pick any external user identifier and see the sequence of events, releases, and NPS responses that user has touched. The foundation for incident and error overlays in v2.
Not a Mixpanel replacement
No free-form SQL, no session replay, no marketing attribution. Flows is scoped to the question product teams actually ask: did this release improve this journey?
How Flows fits with the rest of Brily
A release marker is the atomic unit of "did this change help". Uptime knows whether the release degraded latency. NPS knows whether users felt the difference. Flows knows whether the journey that release touched actually converted more users. Same cohort engine, three views on the same question.
Track an event
In the browser, via the widget:
<script>
window.Brily = window.Brily || {};
Brily.init({
project: "proj_7KfD1",
user: { external_id: "u_1245" }
});
</script>
<script src="https://cdn.brily.app/v1.js" defer></script>
<script>
Brily.track("signup_completed", { plan: "pro" });
</script>Server-side, via the API:
curl -X POST https://api.brily.app/v0/events \
-H "Authorization: Bearer $BRILY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "signup_completed",
"external_user_id": "u_1245",
"props": { "plan": "pro" },
"timestamp": "2026-04-19T14:02:18Z"
}'What you do not get from us
- Free-form SQL or pivot tables. If you need deep analysis, pipe the events to your warehouse via webhook. Flows gives you the release-centric lens.
- Session replay. We do not record sessions. Event sequences only, and only events you explicitly send.
- Marketing attribution. UTM tracking, multi-touch models, ad-spend ROI: all out of scope. Flows is for the in-product journey.
Roadmap
- Q3 2026. Flows preview. Event ingestion, flow definition, funnel report. Opt-in for public-beta users.
- Q4 2026. v1. Release cohort split stable. Pricing live.
- Q1 2027. NPS response enrichment and incident impact slicing. The three-module crossover.
- Q2 2027. Error events, deeper user timeline, webhook pipe for BI export.
Related reading
One cohort engine, every signal.
Flows joins uptime, status, and NPS as the fourth module on the Brily platform. Free plan covers 5 000 events per month.