Tours can consist of a single or multiple steps, which can be across pages. These steps can require a user action to show, while the tour itself can be targeted to a specific audience.

All this may cause overlapping guidance within your product, and this article will help you understand the logic used to show the correct tour and help you ensure your tours work correctly.

💡 Note: you can view all the tours live (for your logged-in user profile) by using Testing Mode. This will also let you reset your history to view tours multiple times. Learn more.

Requirements for a tour to show

For any tour to show, the following conditions must be met:

  • Chameleon code snippet installed and users correctly identified. Learn more.
  • Status must be Live
  • User viewing the page must be within the target audience.
  • User must not have completed / exited tour before. To reset your own tour history, use Test Mode. To clear another user's history read this.

If a tour is available to show, then for a specific step to show, it must also meet the following conditions:

  • Page URL must match and element (if selected) must be present. Learn more.
  • User action required (if set) must be completed. Learn more.
  • Previous steps must have been completed

Troubleshooting tours not showing

If you are not seeing a tour that you expect to, please following this troubleshooting guide. If you are unable to identify and resolve the issue then please message us. ↘️

You can also use your browser console to check all the tours available and whether they are supposed to show, using some simple commands. Learn more in this article

Tour priority logic

Same conditions

If there are multiple tours that are set to show in the same place (page URL and element match) with all the same conditions (user actions) to the same user, then they will be prioritized based on the order they appear in the list of tours in your Editor sidebar. 

You can re-order this list, by hovering over the tour in question, clicking the ellipsis menu on the right-hand side, and then clicking-and-dragging from the "Reorder" menu.

Dynamic conditions

In cases where tours start on the same page, but with different matching elements, or with different user actions, the higher priority (higher in list) 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 to cycle through. 

This means that tours whose first step requires 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. 

Across pages

If a tour spans multiple pages and has been started, its steps will be attempted first, before further tours. 

For example, if we have two 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 the 'User onboarding tour' and then visits the settings page, will be shown the subsequent step of the 'User onboarding tour' before the 'Admin settings tour' even if the 'Admin settings tour' is higher priority, because a tour that is in progress will continue before a new tour is started.

Sequencing tours

If you would like stronger control over the order in which tours show, you can add this as a condition when creating the target audience

The 'Tour activity' / 'Chameleon tour events' filter allows you to specify which other tours a user must have "Started" / "Completed" / "Exited" to be part of this audience. 

You can use this to specify the other tours that must have been started / completed before this one begins. In this way you can create a sequential curriculum for the guidance that users are shown. 

If you have any questions or issues please review how to best get help

Did this answer your question?