Skip to main content

Testing Checklist: Things to Verify Before Going Live

A pre-launch checklist to catch the most common reasons a Chameleon Experience fails to display.

Written by Amanda Oliveira
Updated today

Run through this checklist before publishing any Experience to real users. Each item maps to a condition Chameleon checks before showing an Experience. If any one of these is not met, the Experience will not display.

πŸ‘‰ Not sure where to start? Ask Copilot! It can help you diagnose this issue faster.



The checklist

1. The Chameleon snippet is installed and users are being identified

How to verify

Run this command:

chmln.Snippet.debug()

This tests whether the Chameleon snippet has been installed correctly and is running on the current page.

ℹ️ A positive result such as "Chameleon loaded, User profile loaded" confirms the snippet is working. If this command returns an error or nothing, resolve the installation issue before proceeding.

2. The Experience is published, and all edits are applied

Open the Experience in your Dashboard and confirm it has a green "Live" badge. If you also see an 'Edited' badge, this means your Experience has unpublished changes.

✨ Unpublished edits are not visible to users. If you have made any changes since the last publishing, click "Apply Changes".

ℹ️ Publishing requires a paid Chameleon plan. Free plans support Interactive Demos only.

3. The URL rule matches the page you are testing on

Check the URL rule configured for the first Step of your Experience. Open the exact URL where the Experience should appear and confirm it matches the pattern precisely, including any subdomains, paths, query parameters, or trailing slashes.

ℹ️ In the Builder, the top bar will show a notification if the URL rule is preventing the Experience from displaying.

⚠️ Common causes of URL mismatch: trailing slashes, query parameters not accounted for, subdomain differences (e.g. app.company.com vs. www.company.com).

4. The target element is present on the page (if you are using one)

If your Experience uses a trigger element or an anchor element, confirm that element is present and visible on the page at the moment the Experience should appear.

Elements that load after a delay β€” for example, inside a modal or populated by an API call β€” may not be detected if they are not present when Chameleon checks for them.

πŸ’‘ If your element loads asynchronously, you may need to adjust the element checker timer setting in your element rules.

5. You are in the target audience

Check the audience Segment set for the Experience in the Dashboard. Run the following in the browser console to see whether the current user matches the target audience:

chmln.debug("YOUR_EXPERIENCE_ID")

This returns true or false for the audience match.

πŸ’‘ If you want to test without worrying about audience matching, temporarily switch the audience to "Just Me" and Apply Changes.

6. You have not already seen it (or Recurrence allows you to see it again)

If your Experience is set to show only once and you have already seen it, it will not show again.

To reset:

  1. Go to your Profile page in the Dashboard and press the refresh icon next to your user profile.

  2. Use a fresh incognito tab or fully close and reopen Chrome to clear local storage as well.

πŸ’‘ Alternatively, temporarily set Recurrence to "Every time" for testing purposes.

7. No technical blockers are active in your browser

  • Disable any ad blockers and refresh the page. Some ad blockers interfere with Chameleon scripts.

  • Confirm that third-party cookies are not blocked in your browser settings. In Chrome, go to chrome://settings/ and check that "Block third-party cookies" is off.

  • If your application has a Content Security Policy (CSP), confirm that Chameleon has been added as a trusted source. A CSP error will appear in your browser console as: Refused to load the script 'https://fast.chameleon.io/...'


Quick-reference summary

Check

How to verify

Snippet installed, users identified

chmln.data.profile in console returns user data

Experience is published

Green "Live" badge in Dashboard; Apply Changes clicked

URL rule matches

Exact URL match confirmed; no trailing slash or query param issues

Target element is present

Element visible on page at display time

You are in the audience

chmln.debug("ID") returns true for audience match

Recurrence allows display

User history cleared, or Recurrence set to "Every time"

No technical blockers

Ad blocker off; third-party cookies allowed; no CSP errors in console


Still stuck?

If you have checked all items and your Experience is still not appearing:

Did this answer your question?