Funnel Events
Capture and transmit funnel interaction events with normalized answer payloads to power analytics and link user inputs to subscriptions and transactions.
We have developed a bespoke tracking system designed to capture user interactions seamlessly across all components where inputs are provided. This system collects and processes the values entered or selected by users in various input types — such as multiple choice questions, text inputs, number sliders, and more.
How We Capture Data
For each interactive component (e.g., multiple choice, text input, sliders), we extract the relevant values directly from the DOM elements associated with that component. These values are normalized into a consistent format defined by our internal AnswerPayload interface, which includes information such as:
The type of conversion (e.g., single choice, multiple choice, text answer, number answer)
The question ID and text
The user’s answer data (IDs, text, or raw values)
We also handle complex cases like multiple selections by merging answers appropriately to avoid duplication.
Event Payloads
All captured answers are packaged into event payloads that are sent to our backend for analytics and processing. These payloads follow a strict schema that ensures data integrity and type safety. The key events include:
FunnelStart— When a user starts interacting with a funnelFunnelViewEnterandFunnelViewComplete— When a user enters or completes a view, including all answers submitted on that pageFunnelComplete— When a user completes the funnelFunnelAbandon— When a user abandons the funnel
Each event payload includes a detailed answers array containing the conversions captured on that step, adhering to the formats like:
Single choice answer
Multiple choice answers (with merged selections)
Text answers
Number answers
Example Payload
Here is a simplified example of a FunnelViewComplete event payload including answers:
{
"eventType": "FunnelViewComplete",
"data": {
"organizationId": "org_123",
"trackingSessionId": "session_456",
"funnelId": 789,
"viewId": "view_001",
"viewSlug": "user-info",
"url": "https://example.com/funnel/view-1",
"answers": {
"q1": {
"value": "Red",
"viewSlug": "color-preference",
"questionText": "What is your favorite color?"
},
"q2": {
"value": "John Doe",
"viewSlug": "name-input",
"questionText": "Please enter your name"
},
"q3": {
"value": ["Hiking", "Reading"],
"viewSlug": "hobby-selection",
"questionText": "Select all hobbies you enjoy"
}
}
}
}
Last updated