Platform
Analytics
Track product and web analytics for every project — custom events, conversion funnels, retention cohorts, performance percentiles, crash groups, and website traffic — without bolting on a third-party tool.
Every OrbitNest project ships with a built-in analytics pipeline. Send events from the SDK or REST API, then explore them in the Studio Analytics view or query them programmatically. Nothing to provision — ingestion, storage, and aggregation are managed for you.
What you can measure
Ingestion tokens
Events are sent with an analytics ingestion token — a write-only credential scoped to a single project. Create one in the Studio Analytics view, or via the API, and embed it in your client app. Tokens can be revoked at any time to immediately stop accepting events from a compromised build.
# Create an ingestion token
curl -X POST \
https://studio.orbitnest.io/api/analytics/projects/{projectId}/tokens \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Production iOS app" }'Write-only by design
Sending events
Send a single event or a batch. Each event has a name, an optional screen, a timestamp, and a free-form properties object. Anonymous and identified users are both supported via the distinct_id field.
curl -X POST \
https://studio.orbitnest.io/api/analytics/events \
-H "X-Analytics-Token: $ANALYTICS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"name": "checkout_completed",
"distinct_id": "user_123",
"screen": "Checkout",
"properties": { "plan": "pro", "amount": 29 }
}
]
}'Overview metrics
The overview endpoint returns the headline numbers — total events, sessions, daily active users, and crashes — for a time range and granularity. Filter by platform and app version to compare cohorts.
curl "https://studio.orbitnest.io/api/analytics/projects/{projectId}/overview\
?from=2026-05-01&to=2026-06-01&granularity=day" \
-H "Authorization: Bearer $TOKEN"Funnels
Pass an ordered list of event names. OrbitNest computes how many users reached each step and the conversion rate between them.
curl -X POST \
https://studio.orbitnest.io/api/analytics/projects/{projectId}/funnel \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"steps": ["app_opened", "signup_started", "signup_completed", "checkout_completed"],
"from": "2026-05-01",
"to": "2026-06-01"
}'Retention
Retention seeds a cohort by their first-seen date and measures how many return on each subsequent day. Use it to judge whether product changes actually improve stickiness.
Performance & crashes
Report timing metrics (cold start, request latency, render time) and read them back as percentiles. Crash reports are grouped by normalized stack trace so a single bug shows as one row with an affected-user count, not thousands of duplicates.
GET /analytics/projects/{projectId}/performance— percentile breakdown per metric.GET /analytics/projects/{projectId}/crashes— crash groups with affected users.
Web analytics
For websites and web apps, the web analytics endpoints give you privacy-friendly traffic metrics without cookies-by-default tracking:
/web/overview— visitors, pageviews, sessions, engagement./web/timeseries— traffic over time./web/referrers— traffic sources./web/devices— device / OS breakdown./web/geo— country-level geo distribution.
From the SDKs
The Flutter and Node SDKs wrap event ingestion so you don't handle tokens or batching by hand. See the Flutter SDK and Node.js SDK guides for the analytics helpers.
GDPR data requests
distinct_id and the matching events are purged from the analytics store.