Skip to main content

Why isn't my Experience showing?

When a Chameleon Experience isn't showing up as expected, this guide will help you identify and fix the issue.

Written by Chameleon Team
Updated yesterday

If a Chameleon Experience is not appearing for you or your users, this article walks through every requirement an Experience must meet before it displays. Work through them in order β€” most issues are resolved by step 3 or 4.

πŸ’‘ Tip: In a hurry? Copilot can help you dig deeper β€” just describe what's happening and it'll guide you toward a fix. It's a great way to get quick answers at any point in your troubleshooting.


How to run a quick check with the Debugger

If you have already confirmed the snippet is installed and users are identified, run this in your browser console:

chmln.debug("YOUR_EXPERIENCE_ID")

This returns the exact reason the Experience is not showing for the current user. Read How to use the Debugger Console tool for a full explanation of the output.

⚠️ If chmln returns as undefined, that means Chameleon isn't properly installed. Please check this guide to install Chameleon!


Requirements for an Experience to Display

For a Chameleon Experience to display properly, all of the following conditions must be met:

  1. Snippet Installation: The Chameleon Snippet must be correctly installed on the page.

  2. User Identification: Users must be identified correctly with a unique identifier.

  3. Experience Status: The Experience must be live with all Edits Applied.

  4. URL Matching: The Step URL must match the current page URL.

  5. Element Presence: The Step trigger element or anchor element must be present on the page.

  6. Audience Targeting: The user must be within the selected audience.

  7. Completion Status: If the Experience is set not to recur, the current user must not have completed or exited the Experience previously.

  8. No Blockers: Ad blockers or cookie blockers must not be interfering with the Experience.

Troubleshooting steps

You can follow these troubleshooting steps to identify and resolve why your Chameleon Experience is not appearing:

Step 1: Verify Snippet Installation and User Identification

Checking if the Chameleon snippet is properly installed

To confirm that you have correctly implemented the Chameleon snippet:

  1. Right-click on the page and select "Inspect Element"

  2. Open the Console tab

  3. Type chmln.data.profile

βœ… If you see your user profile being returned, then everything is working as expected!

❌ If you receive an error message such as "Uncaught ReferenceError: chmln is not defined" or "undefined," the snippet has not been implemented correctly.

Verifying that users are being identified correctly

User identification is critical for Experience display. Please make sure that chmln.identify is called with a user ID (uid) parameter each time a logged-in user loads a page.

If chmln.identify is not properly called, Experiences will not display to users. You can use the Debugger tool in your browser console to verify this identification process.

Verifying your domain

Check if you have previously disabled the domain, as this will prevent Experiences from showing to users. You can review your domains in the Dashboard under Settings > Domains.

Step 2: Check if the latest version of your Experience is published

Ensuring your Experience is live and published

Your Experience must be published and live for users to see it. To publish Experiences, you must first sign up for a paid Chameleon plan.

For information on testing Experiences without making them live, please see our article here.

Applying recent edits to your Experience

If you have made any changes to your Experience since you last published it, you must click "Apply Edits" for those changes to appear in the live version. Unapplied edits remain in draft status and will not be visible to users.

Step 3: Check URLs Matching Configuration

Steps will only display on URLs that exactly match their configured URL patterns. Please verify that the URL of your current page precisely matches the URL pattern set for the step you are trying to preview. πŸ•΅πŸ»β€β™€οΈ

πŸ‘‰ Learn more about URL matching configuration here.

Step 4: Verify if all required elements are present

If you configured an element to trigger the Step or used an element to anchor the Step to a specific page location, that element must be present and accessible on the page when the Experience should display.

Common element identification issues

Sometimes the element identified during editing is too specific or does not match exactly with the element on the page, even if they seem visually similar. This is due to differences in the underlying HTML structure and CSS selectors used to identify the element.

πŸ‘‰ Learn more about how to adjust these here.

Step 5: Review Audience Targeting

If you do not fall in the target Segment or have previously seen the Experience, then you will not see it again.

To circumvent this, you have a few options:

  • Set the Recurrence of the Experience to every time

  • With Tours, you can use its Tour Link to bypass targeting settings (note: the first Step URL must be specifically defined and cannot use wildcards like "*").

ℹ️ We store data about Experience history both server-side and on local storage. This means that even if you clear your history, the Experience may not show immediately, so please use a fresh incognito tab in Chrome or close Chrome (for your Chrome user persona) and then try again.

Step 6: Check for Technical Blockers

Cookie Blockers

Verify that your browser is not blocking 3rd party cookies. For Chrome, you can read about how to manage exceptions (to allow Chameleon to set cookies) in Chrome's documentation.

Ad Blockers

Check if any ad-blocking software is interfering with Chameleon. Try temporarily disabling your ad blocker and refreshing the page to determine if that resolves the issue.


Additional Troubleshooting Resources

If none of these solutions resolve your issue, then please:

  1. Use the debugger tool: The Chameleon debugger tool can show you the status of an Experience, including whether it's being Rate limited.

  2. Advanced Troubleshooting: For more in-depth problem-solving, check our advanced troubleshooting article.

  3. Contact Support: Email our support team with a screenshot or video of your app with the JavaScript console open (and scrolled to any errors related to chmln).

ℹ️ Chrome now requires the Developer Console to be open while the page is loading to access variables, so please open the console and reload the page to see any potential errors.

Did this answer your question?