Chameleon pricing is based on Monthly Tracked Users (unique user profiles identified to Chameleon) because that directly contributes to our cost base and is the opportunity for you to leverage in-product experiences for better adoption, improved conversion, and reduced churn. 

In some cases, you may want to only install Chameleon for a specific group of users, for example:

  • Only new users
  • Only desktop (and not mobile) users
  • Only on certain pages

To do this you will have to adjust the Chameleon installation, and you can do this in two ways:

  1. Not installing Chameleon for the excluded case
  2. Calling the chmln.elusive method for the excluded case

When installed manually

If you have chosen to install the Chameleon code snippet manually (using JavaScipt) then simply don't install the Chameleon script in the places where you don't want your users to see Chameleon Experiences.

Your developers can add some logic before the Chameleon script that decides whether it should be called or not. 

Note: If your developers are not aware of how this can be done or need some guidance on the logic to do this, feel free to speak with us!

When installed with Segment

If you have installed Chameleon with Segment, then you will have to use the Integrations Object within Segment to restrict whether Chameleon is called as part of the analytics.identify call, for example:

analytics.identify('user_123', { 
email: 'jane.kim@example.com',
name: 'Jane Kim'
}, {
integrations: {
'Chameleon': false
}
});

Segment also has the option to filter data via its web application, such as Destination Filters, which allow you to restrict data being sent to integrations. This can prevent event data from being sent to Chameleon but will not be sufficient in preventing users being identified, and so will not reduce the MTU count.


Selectively hiding Chameleon

Chameleon has two parts that can appear inside your application: the Builder and the Experiences themselves.

The Builder is used to create Experiences, and can be entered by your teammates using the Chrome Extension. The Experiences (e.g. Tours, Microsurveys etc.) are what appear to your end-users.

You may want to selectively hide either of the above parts forcefully on a particular page or in a particular instance. For example, if your main app dashboard and marketing homepage are both on the same subdomain (www.yourapp.com) and you can't use URLs or elements to ensure Experiences only display on one instance.

To do this, you can add the following code, on the line after the snippet, on that page or instance:

// A. To hide Chameleon Experience for your end-users    
chmln.elusive = 'user';

// B. To hide the Chameleon Builder from you and your team (and treat yourself as an end user)
chmln.elusive = 'admin';

// C. To hide both the Chameleon Builder and Experiences from everyone
chmln.elusive = 'user,admin';

Note, if you installed Chameleon via Segment.com, you will need to add the following before the chmln.elusive call:

window.chmln || (window.chmln = {});


👉 Have any questions or issues during this implementation process? Let us know how we can help!


Find out more

Did this answer your question?