Every Callback interaction has a sequence of events we describe as the 'Interaction Lifecycle'. This is a sequence of events that tracks progress and choices from the beginning of an interaction (opening Callback), to the end (closing Callback), and every step in between.
The following events are part of the Interaction Lifecycle:
ready opened started cancelled completed closed
An Interaction Lifecycle can vary based on each user's intent and experience with Callback. Here are several sequences of events in the lifecycle that correspond to different scenarios.
The user opened Callback but changed their mind and closed it without entering any information:
ready -> opened -> cancelled -> closed
The user started filling out the form but closed Callback without submitting the callback request:
ready -> opened -> started -> cancelled -> closed
The user started filling out the form and submitted it successfully:
ready -> opened -> started -> completed -> closed
Each event in the Interaction Lifecycle includes the following block of metadata. By default, all values are set to false. As the user progresses through the lifecycle of a Callback interaction, these values will be updated.
The metadata block contains boolean state flags, counters, timestamps, and elapsed times. These values can be used to track and identify trends or issues with callback interactions. During run-time, the metadata can help you offer a smart and dynamic experience to your users.
|proactive||boolean||Indicates Callback was offered and accepted proactively.|
|prefilled||boolean||Indicates the form was prefilled with info automatically.|
|autoSubmitted||boolean||Indicates the form was submitted automatically, usually after being prefilled.|
|errors||array/boolean||An array of error codes encountered after submitting the form. If no errors, this value will be false.|
|opened||integer (timestamp)||Timestamp indicating when Callback was opened.|
|started||integer (timestamp)||Timestamp indicating when the user started entering information into the form.|
|cancelled||integer (timestamp)||Timestamp indicating when the callback request is cancelled. Cancelled refers to when a user abandoned the interaction by closing Callback before scheduling a callback.|
|completed||integer (timestamp)||Timestamp indicating when the callback request was sent successfully.|
|closed||integer (timestamp)||Timestamp indicating when Callback was closed.|
|elapsed||integer (milliseconds)||Total elapsed time in milliseconds from when the user started entering information to when the user cancelled or completed the interaction.|