Events Reference

Kixo auto-collects the following events across platforms. All events include standard fields: device_id, session_id, timestamp, and properties.

Auto-collected events

Event TypeEvent NamePlatformProperties
screen_viewScreen nameiOS, Androidscreen_name, screen_class
page_viewPage URLWeburl, path, title, referrer
tapElement labeliOS, Androidtarget_class, target_text, screen_name
clickElement selectorWebtag, text, href, selector
session_start--Allsession_id, is_first_session
session_end--Allsession_id, duration_seconds
scroll_depthThreshold %Webpercent (25, 50, 75, 100), url
rage_clickElement selectorWebclick_count, selector, url
dead_clickElement selectorWebselector, url
errorError messageAllmessage, stack, type
networkRequest URLiOS, Androidurl, method, status_code, duration_ms
performanceMetric nameAllmetric (LCP, FCP, TTFB, etc.), value_ms
heatmap_clickCoordinatesWebx, y, viewport_width, viewport_height, url
push_receivedPush idiOSpush_id, campaign_id, app_state, content_hash
push_openPush idiOSpush_id, campaign_id, time_to_open_ms, interaction_type
push_silentPush idiOSpush_id, campaign_id, content_hash
customYour event nameAllAny key-value pairs you provide

Standard events (recognised by name)

Kixo recognises eleven canonical event names. Track any of them via Kixo.track("purchase", {amount_cents: 4999}) and Kixo stamps a standard_kind on the event at ingest. Chat queries, segments, and campaigns can then say standard_kind = 'purchase' and catch every alias (purchase / purchased / purchase_completed / order_completed / checkout_completed) without listing them by hand.

These names also feed the AI's monetization / conversion / activation heuristics — Kixo.track("purchase") is understood as revenue with no configuration; the optional amount_cents (or amount / value) property is summed for revenue goals.

Canonical kindAliasesRecommended propsPowers
signupsign_up, signed_up, signup_completed, account_created, user_registeredAcquisition funnel
activationactivated, user_activated, aha_momentActivation funnel, aha-moment
purchasepurchased, purchase_completed, order_completed, order_placed, checkout_completedamount_cents, currencyRevenue / ARPU
subscribe_startsubscribe_started, subscription_startedplan, amount_cents, currency, intervalMRR, cohort retention
subscribe_renewedsubscription_renewedplan, amount_centsRecurring revenue
trial_starttrial_started, free_trial_startedplan, daysTrial-conversion funnel
cancelcancelled, subscription_cancelled, subscription_canceledplanSubscription lifecycle, churn
upgradeplan_upgradedfrom_plan, to_planExpansion revenue
downgradeplan_downgradedfrom_plan, to_planRevenue compression
shareshared, content_sharedchannelVirality coefficient
inviteinvited, invite_sent, referral_sentK-factor

Names are matched case-insensitively. Aliases NOT in the list (e.g. bought, customer_paid) are deliberately rejected — converge on a canonical form so the taxonomy stays stable across teams.

Tagging users instead of events.If you want a persistent "has purchased" flag on the user (not just a per-event signal), call Kixo.setUserProperty("subscribe", true) — see each SDK's "Tag a user for segmentation" section ( Web / iOS / Android).

Event structure

Every event sent to Kixo follows this structure:

  • event_type — one of the types listed above
  • event_name — a descriptive name for the event
  • device_id — unique device identifier
  • session_id — groups events within a session
  • timestamp — ISO 8601 timestamp
  • properties — JSON object with additional data