How Zooly combines first-party journey events, PostHog, Session Replay, and the executive Stats dashboard
Zooly records the complete Z-Agent customer journey without making the product depend on an external analytics provider. Every product event is written to Zooly's journey_event table first and then delivered to PostHog on a best-effort basis.
The integration has two complementary views:
The Zooly database is the source of truth. PostHog is an analysis and replay destination. A PostHog outage must never block signup, onboarding, agent creation, conversations, Offers, or any other product action.
The executive funnel follows these milestones:
Supporting events describe onboarding steps, authentication outcomes, dashboard activity, conversations, errors, and operational delivery. See Journey Events for the complete taxonomy.
| Need | Use |
|---|---|
| Quick Production conversion check | User Journey Stats |
| Filter an agency or account | User Journey Stats |
| Inspect detailed event properties | PostHog Activity |
| Watch what happened in a browser session | PostHog Session Replay |
| Diagnose delivery, deduplication, or environment issues | Zooly DB and PostHog Activity |
Development and Production use the same PostHog project and are separated by the normalized environment property:
development for dev.zooly.aiproduction for app.zooly.aiStage does not have an independent analytics stream. The Stats dashboard intentionally reads only READ_ONLY_PROD_DB and only rows where environment = 'production'. Development activity can be inspected in PostHog, but it will not appear in Stats.
@zooly/util: event envelope, sanitizer, session stitching, and browser logger@zooly/util-srv: database-first persistence and PostHog delivery@zooly/consent: PostHog browser initialization and Session Replayzooly-app: first-party event ingest and Z-Agent instrumentationzooly-auth: signup/login events routed back to the correct App environmentzooly-stats: admin-only Production dashboard and replay deep links