POST /v1/events). For architecture and ingestion details, see Platform Analytics (Event Pipeline).
Admin Exclusion
When theexcludeAdminUsersFromTracking config is enabled (default: true), users with the admin role are excluded from all tracking. No events are sent for admin users in this case. Configure this in Feature Admin → Beacon → Analytics.
Session & System Events
| Event | Type | Description | Properties |
|---|---|---|---|
session_start | System | Fired when the analytics SDK initializes | — |
screen_view | Page View | Fired when a user views a screen/page | screen, event_id, org_id, etc. (varies by page) |
Event Pages & Actions
Page Views
| Event | Screen Name | Description | Properties |
|---|---|---|---|
screen_view | Event Page | User views an event detail page | event_id, event_name |
screen_view | Event Workspace | User views event management workspace (Club Dashboard overlay) | event_id, org_id |
screen_view | Events Dashboard | User views the main events dashboard | — |
screen_view | Explore | User views the event explore/discovery page | — |
screen_view | Orgs List | User views the organizations list | — |
screen_view | Create Event | User views the event creation form | — |
screen_view | Club Dashboard | User views an org’s club dashboard | org_id |
screen_view | Events Management | Org admin views events management | org_id |
screen_view | Approval Dashboard (OIE) | OIE/admin views approval dashboard | approval_group |
screen_view | Org Management | Admin views org management (Atlas) | — |
screen_view | Event System Config (Beacon) | Admin views event system configuration | — |
Event Actions
| Event | Description | Properties |
|---|---|---|
event_view | User views an event detail page | event_id, source (implicit from route) |
event_agenda_view | User opens the event agenda modal | event_id |
event_registration | User registers for an event | event_id |
event_registration_form_open | User opens the registration form modal (before submitting or closing) | event_id |
event_registration_withdraw | User withdraws registration from an event | event_id |
event_checkin | User checks in to an event (during event time) | event_id |
event_checkout | User checks out of an event | event_id |
event_create_click | User clicks to create event from dashboard | source |
event_create_submitted | User successfully submits event creation | event_id, as_draft, hosting_type |
event_workspace_view | Org admin views event dashboard/workspace | event_id, org_id |
event_workspace_tab_view | Org admin views a tab within event workspace | event_id, org_id, tab |
overview, agenda, jobs, analytics, edit, registrations, checkin, equipment, communications
Referrer Attribution (all events)
Becausedocument.referrer does not update on client-side SPA navigation, the app tracks the previous pathname on every route change and injects it into context.referrer for all analytics events (track and screen). The analytics SDK automatically uses this SPA referrer when available, falling back to document.referrer for external links and new tabs.
This provides accurate referrers for any page view or event without per-page logic. The backend derives normalized sources from context.referrer for event analytics:
| Source | Condition (pathname or URL contains) |
|---|---|
org_page | /org/ or /club-dashboard/ |
explore | /events-dashboard |
direct | Empty, external URL, or unrecognized |
eventAnalyticsRoutes.js. The raw context.referrer is available for custom analytics or downstream consumers.
Organization Pages & Actions
Page Views
| Event | Screen Name | Description | Properties |
|---|---|---|---|
screen_view | Org Page | User views an organization’s public page | org_id, org_name |
Org Actions
| Event | Description | Properties |
|---|---|---|
org_join | User joins an organization (or submits application) | org_id |
org_leave | User leaves an organization | org_id |
org_follow | User follows an organization | org_id |
org_unfollow | User unfollows an organization | org_id |
Mobile App Landing Page
The Mobile Landing page (/mobile) promotes the Meridian mobile app and tracks install-related actions.
Page Views
| Event | Screen Name | Description | Properties |
|---|---|---|---|
screen_view | Mobile Landing | User views the mobile app landing page | — |
Mobile Landing Actions
| Event | Description | Properties |
|---|---|---|
mobile_landing_app_store_click | User clicks the App Store badge | source (e.g. hero, cta_section) |
mobile_landing_play_store_click | User clicks the Play Store badge | source |
mobile_landing_qr_expanded | User clicks “Show QR” on desktop to reveal QR code | — |
mobile_landing_feature_click | User clicks a feature card | feature (e.g. explore, shuttle_tracker, qr_scanner) |
Event Envelope
All events conform to the event envelope schema. Key fields:- event — Event name (e.g.
screen_view,event_registration) - ts — Client timestamp (ISO 8601)
- event_id — Unique id for idempotency (UUID)
- anonymous_id — Device-scoped persistent id
- user_id — Set when user is logged in
- session_id — Session identifier
- platform —
web - app —
meridian - context —
screen,route,referrer,locale,timezone - properties — Event-specific payload (no PII)
Adding New Events
To add new events:- Use
analytics.track('event_name', { ...properties })for actions - Use
analytics.screen('Screen Name', { ...properties })for page views - Keep event names in
snake_case - Avoid PII in properties (email, name, phone, etc. are stripped)
- Update this document when adding new event types