Core Concepts
Understanding how Kixo organizes data will help you get the most out of the platform. Here are the key building blocks.
Teams
A Team is the top-level container in Kixo. It represents your organization and holds all projects, members, and billing settings. Each team can have multiple members with different roles: Owner, Admin, Member, or Viewer.
Projects
A Project maps to a single product or application. Each project has its own Project ID, API keys, dashboards, and campaign settings. You can create multiple projects under one team -- for example, one for your web app and another for your mobile app.
Apps
Apps are auto-discovered based on the platform and bundle identifier of incoming events. When Kixo receives events from a new platform or bundle ID, it automatically creates an App entry under the project. For example, if you send events from both com.example.ios and com.example.web, Kixo creates two apps.
Events
An Event is a single user action or system occurrence. Kixo auto-tracks many events out of the box (page views, taps, sessions, scroll depth, errors, and more). You can also send custom events using Kixo.track().
Every event includes:
- event_type -- the category (e.g.
screen_view,tap,custom) - event_name -- a human-readable label (e.g.
HomeScreen,Purchase) - device_id -- a unique device identifier
- session_id -- groups events into sessions
- timestamp -- when the event occurred
- properties -- arbitrary key-value pairs for extra context
Sessions
A Session represents a single period of user activity. Kixo starts a new session when the user opens your app or returns after 30 minutes of inactivity. Sessions are used to calculate metrics like session duration, pages per session, and bounce rate.