Event Reference

All supported event types and their properties.

Common Properties

Every event includes these common fields:

FieldTypeRequiredDescription
eventstringYesEvent name (e.g., 'feature_used')
anonymous_idstringYesDevice-generated anonymous identifier
user_idstringNoYour application's user ID (set via identify)
timestampISO 8601YesWhen the event occurred
contextobjectNoContextual metadata (browser, OS, locale)

Event Types

track

A custom event representing a user action.

FieldTypeRequiredDescription
eventstringYesEvent name
anonymous_idstringYesAnonymous device ID
user_idstringNoIdentified user ID
propertiesobjectNoCustom event properties
json
{
  "type": "track",
  "event": "feature_used",
  "anonymous_id": "abc-123",
  "user_id": "user-456",
  "properties": {
    "feature": "export",
    "format": "csv"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

identify

Associates a user ID with traits like email, plan, or custom attributes.

FieldTypeRequiredDescription
user_idstringYesYour application user ID
anonymous_idstringNoLinks anonymous to known user
traitsobjectNoUser traits (email, plan, etc.)
json
{
  "type": "identify",
  "user_id": "user-456",
  "anonymous_id": "abc-123",
  "traits": {
    "email": "user@example.com",
    "plan": "pro"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

group

Associates a user with a group (company, team, workspace).

FieldTypeRequiredDescription
user_idstringYesUser performing the grouping
group_idstringYesGroup identifier
traitsobjectNoGroup traits (name, industry, etc.)
json
{
  "type": "group",
  "user_id": "user-456",
  "group_id": "company-789",
  "traits": {
    "name": "Acme Corp",
    "plan": "enterprise"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

page

Tracks a page view with optional page name and properties.

FieldTypeRequiredDescription
anonymous_idstringYesAnonymous device ID
namestringNoPage name
propertiesobjectNoPage properties (url, referrer, title)
json
{
  "type": "page",
  "anonymous_id": "abc-123",
  "name": "Pricing",
  "properties": {
    "url": "https://app.example.com/pricing",
    "referrer": "https://google.com"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

revenue

Tracks a revenue event for billing and conversion analytics.

FieldTypeRequiredDescription
user_idstringYesPaying user ID
amountnumberYesRevenue amount
currencystringNoISO 4217 currency code (default: USD)
propertiesobjectNoAdditional revenue context
json
{
  "type": "revenue",
  "user_id": "user-456",
  "amount": 49.99,
  "currency": "USD",
  "properties": {
    "plan": "pro",
    "interval": "monthly"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

experiment_exposure

Fired when a user is exposed to an experiment variant.

FieldTypeRequiredDescription
experiment_idstringYesExperiment identifier
arm_keystringYesThe variant the user was assigned to
user_idstringNoIdentified user ID
anonymous_idstringNoAnonymous device ID
json
{
  "type": "track",
  "event": "experiment_exposure",
  "user_id": "user-456",
  "properties": {
    "experiment_id": "exp-onboard-v2",
    "arm_key": "treatment"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

paywall_exposure

Fired when a user encounters a paywall or upgrade prompt.

FieldTypeRequiredDescription
paywall_idstringYesPaywall identifier
featurestringYesFeature being gated
user_idstringNoIdentified user ID
outcomestringNoUser action: dismissed, converted, deferred
json
{
  "type": "track",
  "event": "paywall_exposure",
  "user_id": "user-456",
  "properties": {
    "paywall_id": "export-gate",
    "feature": "csv_export",
    "outcome": "dismissed"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

intervention_delivery

Fired when RetainPixel delivers an intervention (nudge, reward, etc.) to a user.

FieldTypeRequiredDescription
intervention_idstringYesIntervention identifier
intervention_typestringYesType: nudge, reward, prompt
subject_idstringNoTarget subject ID
channelstringNoDelivery channel: email, in-app
json
{
  "type": "track",
  "event": "intervention_delivery",
  "properties": {
    "intervention_id": "int-welcome-3",
    "intervention_type": "nudge",
    "subject_id": "subj-789",
    "channel": "email"
  },
  "timestamp": "2026-03-10T12:00:00Z"
}

reward_obligation

Fired when a reward obligation is created or fulfilled for a subject.

FieldTypeRequiredDescription
reward_idstringYesReward identifier
subject_idstringYesSubject receiving the reward
statusstringYesObligation status: pending, fulfilled, expired
amountnumberNoReward monetary value if applicable
reward_typestringNoType: cash, product, social, progress
json
{
  "type": "track",
  "event": "reward_obligation",
  "properties": {
    "reward_id": "rwd-milestone-5",
    "subject_id": "subj-789",
    "status": "fulfilled",
    "reward_type": "product",
    "amount": 0
  },
  "timestamp": "2026-03-10T12:00:00Z"
}