Every SendMessage 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 SendMessage), to the end (closing SendMessage), 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 SendMessage. Here are several sequences of events in the lifecycle that correspond to different scenarios.
The user opened SendMessage but changed their mind and closed it without entering any information:
ready -> opened -> cancelled -> closed
The user started filling out the form but closed SendMessage without sending it:
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 SendMessage 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 email interactions. During run-time, the metadata can help you offer a smart and dynamic experience to your users.
|proactive||boolean||Indicates SendMessage 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 SendMessage was opened.|
|started||integer (timestamp)||Timestamp indicating when the user started entering information into the form.|
|cancelled||integer (timestamp)||Timestamp indicating when the message draft is cancelled. Cancelled refers to when a user abandoned the interaction by closing SendMessage before sending a message.|
|completed||integer (timestamp)||Timestamp indicating when the message was sent successfully.|
|closed||integer (timestamp)||Timestamp indicating when SendMessage 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.|