Skip to main content

How to verify your Chameleon installation

How to confirm your Chameleon snippet is installed and receiving data correctly.

Written by Amanda Oliveira
Updated over 2 weeks ago

After installing the Chameleon snippet, you should confirm it is receiving data correctly before publishing any Experiences. This article walks through the three verification methods: the Dashboard, the Chrome Extension, and the browser console.

πŸ’¬ Having installation issues? Ask Copilot. Describe what you're seeing and it will help you troubleshoot your Chameleon installation.


How to verify in the Dashboard

The Installation page in your Chameleon Dashboard is the primary place to check that the snippet is working.

  • On the sidebar, click on the Cog > Installation

  • Look for the green banner: "Your Chameleon account is detected as installed and correctly receiving user data." If this banner is present, data is flowing.

  • Click the Verify Installation tab to see a breakdown by domain and subdomain.

Each domain entry shows one of three states:

State

What it means

Green checkmark + timestamp

Data received successfully

Warning triangle + "No user profiles identified in the last 48 hours"

No data received from this domain recently

Domain not listed at all

Chameleon has never received data from this domain

For any domain showing a warning, click Test again after loading a page on that domain while logged in to your product.

⚠️ A domain that was previously active but is now showing a warning may have become disabled or archived. Go to Governance > Environments to check. Disabled domains will not receive data until re-enabled.

ℹ️ New subdomains are automatically disabled when they first appear. You need to manually enable them in Governance > Environments before they will receive data.


How to verify with the Chrome Extension

The Chameleon Chrome Extension shows real-time installation status as you browse your product.

  1. Install the Chrome Extension from the Chrome Web Store if you have not already.

  2. Log in to your product in the browser.

  3. Open the Extension by clicking the Chameleon icon in your toolbar.

A correctly installed and identified session shows your name, the current Environment, and an "Enter Builder to edit Experiences" button.

If the Extension shows an error, the most common messages are:

Message

What it means

"Chameleon not fully installed on this domain"

The snippet is missing or not loading on this domain

"User identification not detected"

The chmln.identify() call has not fired yet, or returned a null user ID

"Cannot enter Builder due to a Content Security Policy"

Your site's CSP is blocking Chameleon. Read How to add Chameleon to your Content Security Policy (CSP)


How to verify in the browser console

For a more detailed check, use the browser console directly on any page in your product.

Open the console (right-click anywhere β†’ Inspect β†’ Console) and run these commands in order:

Step 1 β€” Confirm the snippet is loaded:

chmln

If the result is Uncaught ReferenceError: chmln is not defined, the snippet is not present on this page. If it returns a function or object, the snippet is loaded.

Step 2 β€” Confirm Chameleon is initialised correctly:

chmln.Snippet.debug()

This runs a full diagnostic. A result of "Chameleon loaded, User profile loaded" confirms everything is working. Any error message here points to the specific issue to fix.

Step 3 β€” Confirm the user is identified:

chmln.data.profile

A user object confirms identification is working. undefined means no user has been identified on this page.

Step 4 β€” Confirm the right user properties are present:

chmln.data.profile.attributes

This returns every user property Chameleon has received for the current user. Compare this to the properties you are sending in your chmln.identify() call and the properties used in your audience segment rules.


How to test a specific domain

From the Verify Installation tab in the Dashboard, each domain has a Test again button. Clicking this:

  1. Sends a test ping to that domain

  2. Checks whether a user profile has been received in the last 48 hours

  3. Updates the status indicator in real time

If the test fails on a domain that looks correct, try refreshing a page on that domain while logged in, then run the test again.


Still stuck?

Did this answer your question?