Correctly identifying your users

Understand how to identify your users and fix the most common issues.

Sonia Schiau avatar
Written by Sonia Schiau
Updated over a week ago

Identifying your users is a critical part of your Chameleon installation and showing the right Experience to the right user. To identify users you must send a unique ID for each logged-in user. This can be the same as your database ID or another identifier, such as email.

๐Ÿ‘‰ You can learn more about what it takes to install Chameleon.


Quick access


๐Ÿ’ก The identification method refers to the chmln.identify() call which pulls user data from your app to identify your users. This is critical to show contextual, targeted Experiences to your users.

Through the call, Chameleon identifies your users and determines if a specific user should qualify for the content you have lined up in Chameleon. Without this, Chameleon will not load into the page. Here's an example script:

chmln.identify(USER.ID_IN_DB, { // Unique ID in your database 
email: USER.EMAIL,
// Add other pertinent parameters here
});

This call can also include other attributes associated with a user or associated company (group) attributes. You can use this call to send those to Chameleon and use them across your stack.

๐Ÿ‘‰ For your data to sync seamlessly through your integrations as well, ensure you're using the same unique identifier as you do in your system.

Make sure you're using the chmln.identify() call as soon as your users are identifiable on the page.


To ensure you're set to display Experiences to your end-users, there are a few ways you can see whether they are identified in Chameleon. Here are the steps you'll want to check:

Check in your Chameleon Dashboard, on the Installation page that a green banner is displayed indicating that data is being correctly received. This does not prove that users are being identified correctly but does indicate that the user identification method is being called.

You can also double-check this per domain from the 'Verify installation' tab of the same Installation page. And test each domain to see whether Chameleon receives data correctly

If there are issues with your installation, the Chameleon Chrome Extension will notify you of any errors that need your attention. Click to open it in your product and review whether any messages show up, like the one below.

This message indicates that you are on a domain or subdomain that does not have Chameleon installed, and you should check that in the 'Verify Installation' tab.

If no error shows up you can review the user identified by Chameleon on the underlying page. If this is not you - the person logged into the application, then this can indicate a problem.

Opening the browser console and running chmln.data.profile will bring up data about the user that is currently logged in and being identified. If this returns an error message, then users arenโ€™t being identified on the page.


Here are some of the most common reasons when user identification breaks or is not successful:

User data is sent to Chameleon when it is available on a web page/application. For some apps, this data is loaded after the page loads and is sent to Chameleon after a small delay.

To get around this, you can get the engineers on your team to call the chmln.identify() method, and send that data to Chameleon as soon as the page is loaded.

Data on a web page should be sent immediately after the page is loaded. This is most likely caused by an issue with how Chameleon has been installed. We recommend involving your engineers to make sure that Chameleon is being loaded as soon as the page loads, including when it is reloaded.

When installing Chameleon, we ask developers to identify users by their unique ID. For users who donโ€™t have a logged-in identity (e.g. visitors), we recommend generating a unique ID and storing it in a cookie, which will then be read afterward.

Note that identifying anonymous users to Chameleon will have an impact on your MTU count, as each anonymous user is counted as an additional user.

You should have a single unified user ID that can be used across different integrations and is common across all apps.

๐Ÿ‘‰ Have any questions or issues? Review the best way to get help.


Learn More

Did this answer your question?