Turn activity into decisions.
The events do not improve the product by themselves. They locate the next problem worth solving—and show whether the fix worked.
Find the first broken handoff.
The funnel shows which transition loses people. That turns “growth feels slow” into a bounded product question.
Locate the largest loss
Compare adjacent steps for identified users.
Break down the transition
Check platform, tier, task kind, and export mode.
Fix that handoff
Ship one targeted change, then compare the same transition.
A concrete example points to Mac export.
task → export conversion is the weakest handoff: 490 of 700 creators stop before an observed export.
Investigate Mac export reliability first. Ship the fix, then compare the next Mac cohort against the same 12% boundary.
Diagnose onboarding before redesigning it.
Signed up, but created no task
Measure time and conversion from first sign-in to accepted work.
Intent, setup, or platform friction?
Split by auth method, web vs Mac, and the task kind eventually chosen.
Change the first-run path
Improve import guidance, empty states, sample media, or the failing platform—not all onboarding at once.
Show whether creation reaches a usable result.
A task is intent. An export is realized value. The gap between them is where editor and renderer friction lives.
Start with the gap
People create accepted work but the current client never observes an output.
- Time to export
- Task → export rate
Locate the friction
Compare transcription, translation, VTT, and dubbing; then local vs cloud export and web vs Mac.
- Discoverability
- Reliability
- Performance
Choose the fix
Prioritize the mode and platform with the clearest loss, then verify that completed exports rise.
- Editor guidance
- Exporter hardening
Separate pricing friction from payment failure.
Value or offer problem
Creators use the product but do not begin checkout. Test packaging, limits, price framing, and upgrade timing.
Payment or plumbing problem
Stripe handoff happened, but no verified paid-tier transition followed. Inspect abandonment, payment failure, or webhook state.
Revenue path completed
Compare tier, interval, promotion, activation path, and source page to learn what converts.
Segments tell you where to work.
Cancellation becomes a retention experiment.
Why are they leaving?
Use survey reason and detail presence to identify product, price, timing, or fit problems.
What intervention matched?
Pause, downgrade, or listen—measured against the reason that selected it.
Did it change the outcome?
Compare save rate by reason and offer. Remove weak interventions; improve the ones that retain the right users.
A weekly dashboard answers five questions.
Signup → first task → first export
Where does activation break?
Task → checkout → active subscription
Offer issue or payment issue?
First task → returning weekly task
Does value become habit?
Task → export by kind, mode, platform
Which workflow needs work?
Saved / (saved + confirmed), by reason
Which save offer earns its place?
Use signals for direction. Use records for totals.
Where, when, and for whom does the journey break?
Use events for ratios, funnels, cohorts, comparisons, and before/after movement.
How many tasks, cancellations, and paid subscriptions actually exist?
Use Firestore cancellation records, task state, and Stripe webhooks for exact business counts.
Every event should close a decision loop.
Establish baseline
Configure PostHog, register Plausible Goals, and let normal product traffic accumulate.
Name one loss
Choose the largest useful transition—not the most dramatic-looking chart.
Ship one change
Annotate the release and preserve the same event definitions.
Compare again
Keep, iterate, or revert based on movement plus the authoritative product outcome.