Skip to content
Sendora Cloud
Create account
Understand

Analytics

Event-stream analytics with funnels, retention, cohorts, saved boards, top-events, time-series, breakdowns by user trait — Mixpanel-shaped on a Postgres event stream.

Features

  • **Funnel analysis** — `POST /analytics/funnels` to save, `GET .../funnels/:id/results` to compute. Per-step counts + cohort filter via `audienceId`. **Note:** results return step counts; there's no audience-export-per-step today (build via the audience module instead).
  • **Retention endpoint** — `GET /analytics/retention` returns retention curves over N-day windows. **No heat-grid drill-down today.**
  • **Path analysis** — `GET /analytics/paths` for event flow visualisation.
  • **Group-by user trait** — `GET /analytics/events/breakdown-by-trait` joins events × Customers profiles to break any series by `plan` / `industry` / etc.
  • **Multi-line time-series compare** — `GET /analytics/time-series/multi` for layering multiple events on one chart.
  • **Top events + breakdown** — `GET /analytics/events/top` + `.../events/breakdown` for property-level slicing.
  • **Saved Insights** — bookmark a chart configuration via `POST /analytics/insights`. **Boards (multi-chart canvas mixing funnels + retention + time-series) are NOT built today.**
  • **Auto-discovered property + trait dropdowns** — `GET /analytics/events/properties` + `.../profiles/traits` — no schema-doc spelunking.
  • **Cohort filter via `audienceId`** — bind any insight to a saved audience.
  • **AI features (opt-in)** — conversational debug, lifecycle classifier, auto-trait extraction, anomaly detection. Ollama Cloud + BYOK.
  • **Real-time event stream** for debugging — `GET /analytics/events/stream` returns events landing in <2s.
  • **Events feed every other module** — same stream powers Audiences, Automation workflows, Support timeline, Attribution, AI chatbot context. One pipeline.

Common use cases

  • Replace Mixpanel / Amplitude / PostHog for funnel + retention + paths + time-series analysis on events that ALSO drive your messaging.
  • Activation funnel tuning where the cohort filter binds the funnel to a real-time audience (no warehouse round-trip).
  • Multi-platform product analytics with one identity (anon → identified handled via device-takeover, not duplicate profiles).

Key concepts

Event
`{ orgId, projectId, module, eventType, timestamp, userId? | anonymousId, properties, context }`.
Anonymous → identified
SDK mints an `anonymousId` on first launch. `identify(userId)` merges the anonymous timeline into the identified user.
Saved insight
Pin a funnel / time-series / breakdown to a Board. Auto-rerun on the dashboard.

Track + query

Track an event

FREE

Universal `track()` for any user action. Auto-attaches device id + session id + current Auth user. Buffered + flushed in batches.

sendora.track("checkout_completed", {
  amount: 49.99,
  currency: "USD",
  items: 3,
});

Page / screen views

FREE

Convenience method emitting `page_viewed` (web) or `screen_viewed` (mobile). Auto-fires on Next/React-Router nav when `autotrack` enabled.

sendora.page("Checkout", { plan: "growth" });

Funnel queries

STARTER+

Server-side aggregation: ordered events with optional time window. Returns conversion + drop-off per step.

curl -X POST https://api.sendoracloud.com/api/v1/orgs/<ORG_UUID>/analytics/funnels \
  -H "x-api-key: pk_prod_…" \
  -d '{
    "steps": ["signup", "onboarding_completed", "first_action"],
    "window": "7d"
  }'

Retention cohorts

STARTER+

Cohort-by-week retention chart. First-event grouping → return-event match.

curl -X POST https://api.sendoracloud.com/api/v1/orgs/<ORG_UUID>/analytics/retention \
  -H "x-api-key: pk_prod_…" \
  -d '{ "firstEvent": "signup", "returnEvent": "session_started", "windowWeeks": 12 }'

Related