System Events

Himetrica automatically fires system events when meaningful things happen to a visitor. These events are prefixed with $ and can be used in funnels, user flows, and visitor timelines.

Overview

System events are generated server-side when Himetrica detects visitor behavior changes. They use a $ prefix to distinguish them from your custom events. You don't need to configure anything — they fire automatically.

Excluded from aggregate counts

System events are excluded from your total event counts, top events, and event timeseries charts. They still appear in visitor timelines and can be used as funnel steps or user flow filters.

Event List

EventWhen it firesRepeatable
$identifiedVisitor gets a name or email for the first timeOnce per visitor
$engagement_changedEngagement level changes (e.g. casual → active)Yes
$lifecycle_changedLifecycle stage changes (e.g. exploring → activated)Yes
$churnedVisitor transitions to "churned" lifecycle stageYes
$first_conversionVisitor fires a conversion event for the first timeOnce per visitor
$returnedVisitor returns after 7+ days of inactivityYes

$identified

Fired when a previously anonymous visitor is identified for the first time — either through the client-side identify() call or the Server API POST /identify endpoint. This event only fires once per visitor.

Properties

KeyTypeDescription
namestring | nullVisitor's name
emailstring | nullVisitor's email
method"client" | "server"Whether identification came from client-side or server API

$engagement_changed

Fired when a visitor's engagement level changes. Engagement levels are computed based on session frequency, page depth, recency, session duration, and event activity.

Possible levels: new, casual, active, power_user, dormant.

Properties

KeyTypeDescription
fromstringPrevious engagement level
tostringNew engagement level
scorenumberEngagement score (0-100)

$lifecycle_changed

Fired when a visitor's lifecycle stage changes. Lifecycle stages track where a visitor is in their journey with your product.

Possible stages: exploring, activated, retained, at_risk, churned.

Properties

KeyTypeDescription
fromstringPrevious lifecycle stage
tostringNew lifecycle stage

$churned

Fired when a visitor transitions to the "churned" lifecycle stage. This is a convenience event — it fires alongside $lifecycle_changed when the new stage is "churned". Useful as a standalone funnel step or conversion event.

By default, a visitor is considered churned after 30 days of inactivity. This threshold can be configured in your project's behavior settings.

Properties

KeyTypeDescription
previousStagestringThe lifecycle stage before churning
daysSinceLastSeennumberDays since the visitor was last active

$first_conversion

Fired when a visitor triggers one of your configured conversion events for the first time. Conversion events are defined in your project settings. This event only fires once per visitor, regardless of how many conversion events they trigger later.

Properties

KeyTypeDescription
eventNamestringThe name of the conversion event that was triggered

$returned

Fired when a visitor comes back to your site after 7 or more days of inactivity. This can fire multiple times for the same visitor if they have multiple periods of inactivity.

Properties

KeyTypeDescription
inactiveDaysnumberNumber of days the visitor was inactive
previousLastSeenAtstring (ISO 8601)When the visitor was last seen before returning

Filtering & Aggregation

System events are automatically excluded from:

  • Total event counts in the dashboard
  • Top events ranking
  • Event timeseries charts
  • Daily rollup aggregations
  • Engagement score calculations (events/session ratio)

System events are available in:

  • Visitor timeline / event history
  • Funnel steps (e.g. "Visited pricing" → "$identified" → "Purchase")
  • User flow event filters
  • Event detail views
Himetrica - Analytics That Actually Matter