Event Structure
Internal Event ID
Theinternal_event_id is a unique identifier for each event, calculated using the xxHash64 algorithm on a composite key consisting of the following fields:
app_tokenevent_typeevent_nameuser_idcompany_idinserted_at
Event Name & Type
Theevent_name field tracks the name of the event and varies depending on the event_type:
-
For identify_user, identify_company, session_start, and page_view events:This field will be empty. -
For track events:The value will represent the name of the event being passed programmatically or through the button-tracking feature. -
For track_feature events:The value will contain theidof the tracked feature tag. -
For interaction events:- The format is
{entity_type}:{entity_id}:{entity_interaction_status} - Example:
checklist:2:SEEN,experience:448:DISMISSED,resource_center:1:ENGAGED,experiment:9:SEEN.
When a flow is part of an experiment, bothexperiment:*andexperience:*events are generated to track experiment participation and flow interaction respectively. - The format is
Source
Thesource field indicates where the event was captured. The default value is web-client, but it can vary depending on the source of the event:
- web-client: Captured through the web SDK.
- backend-http: Captured via HTTP endpoints.
- backend-hubspot: Captured through the HubSpot integration.
- backend-salesforce: Captured through the Salesforce integration.
- backend-segment: Captured through SegmentIO integration.
Attributes Schema
Themetadata field varies depending on the event type:
For identify_user, identify_company, and track events:This field will contain custom attributes passed during the event tracking.For page_view, session_start and track_feature events:This field will be an empty object.For interaction events:Attributes vary based on the engagement entity type and provide specific interaction details (see below).
Interaction Attributes
Below are common interaction events and the relevant attributes associated with each.Surveys (survey_module events)
Example:
Checklists (checklist and checklist_task events)
Example:
Resource Center and Articles (resource_center, resource_center_article events)
Example:
NPS Events
Example:
Flow and Flow Steps (experience, experience_step events)
Example:
Flows in Experiments: When a flow is part of a test experiment, the system generates BOTH
experiment:* and experience:* events:experiment:*events track experiment participation and variant assignmentexperience:*events track flow interaction
Experiments (experiment events)
When flows are used testing experiments, Userpilot tracks experiment participation through dedicated experiment events. These events capture which variant (test group) a user was assigned to.
Variant Values:
The
variant attribute indicates which test group the user was assigned to. Possible values are “A”, “B”, or “C” depending on the experiment type (Controlled A/B Test, Head-to-Head A/B Test, or Controlled Multivariate Test).
For more details on experiment types and how variants are assigned, see the Experiments documentation.
Example: