Your Chameleon Experiences (Tours and Microsurveys) can have one or multiple Steps which can span across pages. These Steps can require a user action to show, while the Tour itself can be targeted to a specific user Segment.
All this may fog your understanding when looking at the order your Experiences will take to show up. But in reality, they follow a very simple logic for determining which goes first.
Note: In this article, we picked to showcase Tours logic in the Dashboard, but the same conditions apply to all Experiences, except for Tooltips which always trigger on demand.
There are a number of conditions that any Experience must meet, to show up in your product. Without these, it will not be available to be displayed. We can break these conditions into two different groups: Experience requirements and Step requirements.
When all the Experience requirements are met, then Chameleon will check for the Step requirements, to understand if a specific Step can be displayed. Let's look into each of these in detail.
The Chameleon code snippet is installed and users are correctly identified.
The Experience is published.
The user viewing the page is within the Segment you defined.
Recurrence and dismiss settings are not impeding the Experience from showing.
Page URL must match and the element (if selected) must be present.
Any required user action is completed.
Previous Steps must have been completed.
When all the requirements match for multiple Experiences simultaneously, Chameleon applies priority logic to understand which one should be displayed first.
The priority logic Chameleon follows to understand which Experience should be displayed first, varies according to three major scenarios:
You can view the order that is applied to each type of Experience, from the respective Experience page in the Dashboard, by clicking the '#' button view. Here is where you can see and manage the priority order for Tours, Microsurveys, or Launchers independently.
When there are multiple Experiences that are set to show in the same place (page URL and element match) with all the same conditions to the same Segment, then these will be prioritized based on the order they appear in the list of Experiences.
You can prioritize this list by re-ordering the Experiences in your list. From the Dashboard Experience list simply drag and drop the Experiences to a new position according to your desired priority logic.
Similar to when there are matching conditions, in cases where Experiences start on the same page but have different matching elements, or with different user actions, the higher priority will be attempted first.
If the element is not present or the user action does not take place, the next Experience in the list will be attempted.
This will continue down the list of available Experiences until one is started. Upon reaching the end of the list, Chameleon will check the first Experience on top of the list again, and continue the cycle.
This means that Experiences whose first Step has an Element Rule to require a specific element to be present on the page will still be shown once that element loads on the page later. However, if other Experiences are also available to start on the same page, these may show first.
When an Experience that spans across multiple pages has been started before, its Steps will be attempted first before further Experiences on the list are shown.
For example, let's consider a scenario where we have two different Tours:
User onboarding tour that starts on the homepage and continues on the settings page.
Admin settings tour that starts and continues on the settings page.
A user that begins Tour 1 and then visits the settings page, will be shown the subsequent Step of Tour 1, before Tour 2; even if Tour 2 has higher priority.
⨇ General Rule: a Tour that is in progress will continue before a new Tour is started.
To have stronger control over the order in which Experiences show to your users you can include a condition when creating a Segment to make sure that a Tour for example will only show after a given Tour was completed.
To do this, you can leverage the Chameleon Tour Events filter group and specify which other Tours a user must have started, completed, or exited to be part of this user Segment.
This is particularly useful to create sequential Tours that chain together. Some use cases include:
Showing a Microsurvey after a Tour to measure satisfaction.
Showing a modal showcasing new functionality with an option for a deeper dive.
🚨 Your Experiences are supposed to be showing, but they're not? We recommend that you check these troubleshooting guides and use the Debugger console tool to see more detailed information that you can use to solve possible issues. If you are unable to identify and resolve the issue, please send us a message.