Skip to main content

Understanding the Debugger Console tool

Learn how to debug your Chameleon Experiences from your browser.

Pulkit Agrawal avatar
Written by Pulkit Agrawal
Updated yesterday

The Chameleon Debugger is a browser console tool that helps you debug your Chameleon Experiences when they're not displaying as expected. This tool provides detailed information about why Experiences might not show up on your website or application.

The Debugger tool shows you specific information including:

  • Whether the user is in the target audience for that Experience

  • If the Experience is being rate-limited

  • Current display status and conditions

  • Segment and step information for troubleshooting

You can use this tool to quickly track and solve issues, helping you fast-track your Experiences to success ⚑️.


Availability & Usage

πŸ” Available for all plans

πŸ“ For accurate display info on Tours, Tooltips, Embeddables, Microsurveys, Launchers

βš™οΈ Use from your browser console


How to run the Debugger

You can access the Chameleon Debugger through your browser's developer console using several methods.

Step 1: Open the Browser Console

🍎 For Chrome on Mac users: Use the keyboard shortcut cmd+opt+J

πŸͺŸ For Chrome on Windows users: Use the keyboard shortcut ctrl+shift+J

You can also:

  1. Right-click on your application page in the browser

  2. Select "Inspect" from the context menu

  3. Click on the "Console" tab in the developer tools

Using the Chameleon Chrome Extension

If you're not familiar with the console, you can use the Chameleon Chrome Extension for easier access:

  1. Click the Chameleon Chrome Extension in your browser toolbar

  2. Copy the Debugger command provided by the extension

  3. Use the shortcut to open the console (or follow the manual steps above)

  4. Paste the command into the console and press "Enter"

After running the command, you'll see a list of Chameleon Experiences that are live, and you can search for a specific Experience to check why it may not be displaying.

Step 2: Run the Debug Command

Copy and paste the appropriate command:

Check if Chameleon is installed

chmln.Snippet.debug()

Debug all Experiences

chmln.debug()

Debug a specific Experience

chmln.debug("YOUR_EXPERIENCE_ID")

πŸ‘‰ Finding your Experience ID: Open the Experience in your Chameleon Dashboard. The ID is in the URL: https://app.chameleon.io/tours/YOUR_EXPERIENCE_ID


Check if Chameleon is Installed Properly

Use the chmln.Snippet.debug() command to test if Chameleon has been installed correctly and that the snippet is working properly.

When you run chmln.Snippet.debug(), look for positive confirmation messages such as:

  • "Chameleon loaded, User profile loaded"

  • Other successful installation indicators

If this debug message returns a positive result, you can then proceed to use chmln.debug() to test your Chameleon Experience status.

Common Errors and Solutions

❌ "Chameleon not loaded"

Meaning: The Chameleon snippet isn't running on this page.

Solutions:

  1. Verify the snippet is installed in your codebase

  2. Check that the snippet loads on this specific page/route

  3. Look for JavaScript errors that may block execution

❌ "User profile not loaded"

Meaning: No user has been identified to Chameleon.

Solutions:

  1. Verify chmln.identify() is called after login

  2. Check that a valid user ID is being passed

  3. Confirm the identify call happens before the Experience should show


Check the status of all published Experiences

When you run chmln.debug(), you will see a list of all the Experiences that have been published in your account.

Click the arrow > next to an Experience to see details on its display state, what segment is used for the Target Audience, and which step it's on.

β„Ή You can also see the Variant label and ID (if the Tour or Banner is part of an A/B test) or any excluded Segments from the audience.

Debugging a specific Experience

You can debug a specific Experience, by including its ID in your debug call. Such as chmln.debug("60cb861eb6ef93001b8d731e").

You can grab the Experience ID directly from the console from the drop-down menu of the Experiences listed in the console.

Or you may find the Experience ID in the Chameleon Dashboard.

Why doesn't my Experience show up on the list?

The Debugger displays only published Experiences, so missing Experiences typically indicate publishing status issues.

Troubleshooting Missing Experiences

If you don't see an Experience listed, follow these steps:

  1. Open the Experience in the Dashboard to get the Experience ID

  2. Run the command for that specific Experience using chmln.debug("EXPERIENCE_ID")

  3. Check the publishing status - Most likely, the Experience isn't published!

While you're in the dashboard, you can also see the state of your Experience. If you do not see the green "Live" badge next to the title, this also tells you that it isn't published and shown live to other users.


How to Interpret Debugger Results

Now that you've gotten the results of your Experience, here's more information about what each message means. If you expect an Experience to display but it isn't, this will help you figure out how to resolve that.

Error phrase

Explanation

How to resolve

Chameleon not loaded

Chameleon has not been installed or initialized correctly.

Review Chameleon's install documents and ensure both the Chameleon snippet and identify commands are installed correctly.

User profile not loaded

No user has been identified to Chameleon, or the user profile has failed to load.

Review Chameleon's install documents and ensure the identify command is installed correctly.

Chameleon is disabled

Chameleon's elusive setting has been enabled on the Chameleon Snippet.

Check to make sure the elusive setting is enabled for the expected users.

Domain disabled

The current domain has been disabled.

Enable the domain on the domains page.

Chameleon Cleared

Chameleon was initialized, and then chmln.clear() was run, which cleared it from the page.

Talk to your development team to make sure that chmln.clear() is run in your app at the appropriate time.

Something unique went wrong

Something that's not obvious went wrong.

Contact Chameleon Support for more help.

More Messages

  • Current user UID "[uid]" is within the Target Audience, Experience can be displayed to you when all conditions are met and no other Experience is showing.

  • Current user UID "{uid}" is not within the Target Audience, Experience will not be displayed to you.

  • Current user UID "[uid]" started this Experience but is no longer within the Target Audience. After it is exited or completed it will not show again.

  • Control group test being run on this Experience, Current user UID "[uid]" is not in the test group and will not see the Experience.

  • Control group test being run on this Experience, Current user UID "{uid}" is in the test group and can see the Experience when other conditions are met.

  • Current user UID "{uid}" is within the Target Audience, but Control group test being run on this Experience, Current user UID "{uid}" is not in the test group and will not see the Experience.

  • Current user UID "{uid}" is within the Target Audience, Experience can be displayed to you when all conditions are met and no other Experience is showing.

  • Current user UID "{uid}" is in the test group and can see the Experience when other conditions are met.

  • Current user UID "{uid}" is not within the Target Audience, Experience will not be displayed to you.

  • Experience would be able to display here, but is rate limited. (See your Rate Limiting page in the Dashboard, and learn more here).

  • Completed Survey, but finishing extra comments or thank-you.

  • Experience was recently triggered by an action on a previous Experience, short-link URL, or a call from the API.

  • Experience can be manually started by an action on an Experience, short-link URL, or a call from the API.

  • Experience has been Completed.

  • Experience has been Exited.

  • Experience is not displayed but will reappear based on next recurrence setting.

  • Experience has been Exited and will reappear after snooze time period ends.

  • Experience queued to be shown after other Experience(s) finish.

  • Experience\'s URL Rules do not apply to the URL of the current page.

  • Experience\'s selected anchor element is not on the current page.

  • Experience\'s trigger element/icon is either not on the current page or is on the page but has not been interacted with yet.

  • Experience has a Timed Delay set, and that time has not expired yet.

  • Experience requires a selected element to be present on the page, still checking for the element.

  • Experience required a selected element to be present, the time has expired and element was not on the page.

  • Experience requires a selected element to be absent from the page, timer still counting down before checking.

  • Experience requires a selected element to be absent from the page, the time has expired and element was still on the page.

  • [Experience] Title: "[name]" is being displayed on the page.

  • There is no published (aka live) Experience with ID '[uid']. Open the Experience from the Chameleon Dashboard, confirm the ID at the end of the URL, and also that the Experience is live.

  • If you're seeing a Launcher and the status is blank, the Tours inside may be unpublished.

  • Now displaying, no other Experiences can Display.

ℹ️ Note you'll also see if your Experiences are not displaying because of a Smart delay (because the user has interacted with another Chameleon Experience before on the same session, or because of the built-in 60-sec delay) or if it's waiting on the Timed delay to end (and another Experience is displayed instead).

πŸ“© If you need any further help feel free to contact us with questions.

Did this answer your question?