All Collections
Setup & Installation
Installation scenarios
How do I install only for a subset of users?
How do I install only for a subset of users?

You don't need to include all your Monthly Active Users (MAUs) in your Chameleon plan

Chameleon Team avatar
Written by Chameleon Team
Updated over a week ago

Chameleon pricing is based on Monthly Tracked Users (unique user profiles identified to Chameleon) as this contributes directly to our cost base. But you can control who gets to see your Experiences and focus on building in-product guidance for better adoption, improved conversion, and reduced churn.Β 

Quick access

There may be cases where you may want to install Chameleon for a specific group of users, for example:

  • Only new users

  • Only desktop (and not mobile) users

  • Only on certain pages

  • Only within certain products

This is an easy way to keep your MTUs count in check, or control different types of Experiences. You can easily do so; depending on your installation method, you'll have to adjust how Chameleon identifies users.

πŸ’‘ Learn how you can control where your Experiences display with Environments.

If you have chosen to install the Chameleon code snippet manually (using JavaScript) then simply suppress the call to chmln.identify.

πŸ§‘β€πŸ’» Developer can help: ask your teammate to add some logic before the Chameleon script that decides whether it should be called or not.Β 

if(userShouldBeIdentifiedToChameleon) {
chmln.identify(UID, options);

πŸ“© If your developer is not aware of how this can be done or need some guidance on the logic to do this, feel free to speak with us!

If you have installed Chameleon with Twilio 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:

const userShouldBeIdentifiedToChameleon = false; /* your logic here */

analytics.identify('user_123', {
email: '',
name: 'Jane Kim'
}, {
integrations: {
'Chameleon': userShouldBeIdentifiedToChameleon

Twilio Segment also has the option to filter data via its web application, such as Destination Filters, which allows 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 from being identified, and so will not reduce the MTU count.

This elusive option is available as a global off-switch for advanced use cases where you need finer-grained control than managing domains allows, where you can fully disable Chameleon per sub-domain.

Chameleon has two components that can appear inside your application: the Builder used by admins of your Chameleon account and the Experiences that display to your end-users (e.g. Tours, Microsurveys, etc.). For example, if your main app dashboard and marketing homepage are both on the same subdomain (, you can use:

β–ͺ️To hide Chameleon Experiences for your end-users

chmln.elusive = 'user'; 

β–ͺ️To hide the Chameleon Builder from you and your team

chmln.elusive = 'admin';

β–ͺ️To hide both the Chameleon Builder and Experiences from everyone

chmln.elusive = 'user,admin';

If you installed Chameleon via Twilio Segment you will need to add the following to initialize the chmln object:

window.chmln || (window.chmln = {});
window.chmln.elusive = 'admin';


πŸ‘‰ Have any questions or issues during this implementation process? Let us know how we can help!

Find out more

Did this answer your question?