No matter what conversational experience you're creating, you're inevitably going to be collecting some information about your users: this can range from products they like, what their favorite time to receive a message is, or how satisfied they are with an experience. You're probably already using user properties to store this information and create more personalized, smart experiences. However, user properties aren't great when you're attempting to store multiple instances of the same piece of information: ie a CSAT survey.
Forms allow you to group up and report on related pieces of date over time. In this example, any properties we save within this form (CSAT score, feedback, etc) will be be grouped up and reported together. So now a user can go through this CSAT survey multiple times without overwriting their previous survey.
In order to set up your form, you'll need to create a user property named
formInstance that will be used to signal both the start and the end of a form.
In the example below we are going to be creating a CSAT survey for users who received order updates via conversational AI. The first step is to set a
formInstance user property on the block that will serve as the beginning of this form.
In this instance we're going to set the value to
SET serves as the beginning of the form and
orderDeliveredCSAT serves as the name of the form. You can create any form name that represents what your form is designed to capture as long as it is preceded by
Multiple Entry Points
You can use as many entry points (
SET_formNAME) for a given form as are necessary: conversational AI is inherently not linear so it may make sense to begin a form in various places.
Once a user has transitioned to a block that has the
formInstance property with a value of
SET_formName, any user properties collected will be added to that form until they transition to the end of the form or they reach the start of another form. In this example we'll want to save the user's response to our CSAT order delivery question as a property.
User Property Naming Convention
If you're going to be collecting CSAT, NPS, or any other property in multiple places and would like to report on each separately make sure you give them different names. Ie customerCareCSAT & orderDeliveredCSAT
Similar to the start of your form, you'll want to set a user property on the block that represents the end of your form. Instead of using
SET_formName you'll want to use
UNSET. Also like entering a form, a form can be ended on multiple blocks.