All this may seem like fogging your understanding of which order Tours will take to show in your product, but in reality, Tours follow a very simple logic for determining which goes first.
In this article, we will help you understand the logic used to show the correct Tour and ensure these show in the right order. We will cover:
Requirements for a Tour to show
There are a number of conditions that must be met for any Tour to show. Without these, a Tour will not be available to be displayed and other Tours will take place. We can break these conditions into two different groups: Tour requirements and Step requirements.
When all the Tour 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.
Chameleon code snippet is installed and users correctly identified.
Tour is published.
User viewing the page is within the Target Audience.
Any required user action is completed.
Previous Steps must have been completed
When all the requirements match for multiple Tours simultaneously, Chameleon applies priority logic to understand which Tour should be displayed first.
Tour priority logic
The priority logic Chameleon follows to understand which Tours should be displayed first varies according to three major scenarios:
Tours have the same conditions
When there are multiple Tours that are set to show in the same place (page URL and element match) with all the same conditions to the same Target Audience, then these will be prioritized based on the order they appear in the list of Tours.
You can prioritize this list by re-ordering the Tours. To do this, simply click and drag the reorder button and position your Tours according to your desired priority logic.
Tours have dynamic conditions
Similarly to when there are matching conditions, also in cases where Tours 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 Tour in the list will be attempted.
This will continue down the list of available Tours, until one is started. Upon reaching the end of the list, Chameleon will check the first Tour again, and continue the cycle.
This means that Tours 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 Tours are also available to start on the same page, these may show first.
Tours span across different pages
When a Tour that spans across multiple pages has been started before, its Steps will be attempted first before further Tours 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.
The rule for this is that a Tour that is in progress will continue before a new Tour is started.
To have stronger control over the order in which Tours show, you can include a condition when creating a Target Audience to make sure that a Tour 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 audience.
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.