If a Chameleon Experience is appearing more frequently than intended, the cause is usually a Recurrence setting that allows repeat display, a chmln.identify() call that re-initialises state, or the Experience not tracking completion correctly. This article covers how to diagnose and fix each case.
π‘ Tip: Not sure where to start? Copilot can walk you through diagnosing why your Experience is showing too often β just describe what you're seeing and it'll help you narrow it down. It's a great first stop before diving into the steps below.
How Recurrence controls display frequency
Each Experience has a Recurrence setting that controls how many times a single user can see it. The available options are:
Don't repeat after it is exited or completed
Repeat on the next page load
Repeat immediately after exited or completed
Repeat after an event occurred
Repeat on a time-based recurrence: each week, month, quarter, half-year, year
How to check the current Recurrence setting
Open the Experience in the Dashboard.
Go to the Review and publish panel.
Check the Choose recurrence field.
If Recurrence is set to Repeat immediately or Repeat after page reloaded, the Experience will show on every page load. This is the most common accidental cause of over-display.
βΉοΈ If your Experience is a Walkthrough, you won't see a 'Recurrence' option as Walkthroughs are triggered by the customer.
Common causes of over-display
Recurrence was set to "Repeat after page reloaded" or "immediately" during testing and not changed back
Setting Recurrence to one of the repeat options is useful for testing β it lets you see the Experience repeatedly without resetting your history. If this is not changed before publishing to real users, those users will see the Experience on every visit.
Fix: Change Recurrence to the appropriate interval and Publish the changes.
The user has not been identified consistently
If chmln.identify() is called with a different user ID across sessions β for example, using a session token rather than a stable user ID β Chameleon treats each session as a new user. All display history is tied to the user ID, so changing it resets what the user has seen.
Fix: Ensure chmln.identify() always passes the same stable, permanent user ID. Read How to identify your users in Chameleon for details.
The User opened multiple tabs
If the user opened your app in multiple tabs, it's possible they'll see the Experience in all the tabs, as Chameleon evaluated 'Recurrence' when the page loaded on each tab.
How to check how many times a user has seen an Experience
To check whether an Experience has been displayed and what state it is in for the current user, you can check the 'Experiences' tab in the User Profile.
Go to Users > All Users and find the user you want to check.
You can also export a CSV file for your Experience, which will contain all users who have interacted with the Experience, and their Status.
Still stuck?
If the Experience is showing to the wrong users rather than too often, read Why is my Experience showing to the wrong users?.



