- Targeting users with Tours based on who they are.
- Personalizing content within Experiences (merge tags in content).
- Better URL matching (merge tags in URLs).
Identifying users (chmln.identify())
Users need to be identified with a unique ID (UID) to enable them to see Tours. This can be your database ID or another stable user identifier.
We also recommend also sending email to maintain a user’s identity across Chameleon and any integrations you enable.
Use the chmln.identify method, calling this as soon as the user is identifiable on page load.
Note: These are example scripts, don’t forget to change the PLACEHOLDERS.
company UID) is the same as within your system.
Note: Please confirm the attributes to be sent with your project owner.
Identifying companies/accounts
Simply include a company key in the call to identifySeeing existing user properties
To view the user properties associated with the current user, you can use the following command within the JS console:Clearing and disabling the Chameleon install (chmln.clear())
Use chmln.clear() to de-identify the user and stop Chameleon from operating on the page (including showing no more Experiences).
- When the user is logged out of a single page app that does not perform a full-page refresh
- When your application enters a “mode” where automatic delivery of Chameleon Experiences should no longer happen (i.e. in full-screen mode)
Disabling Experiences for specific users
By default, all users that match the target audience will see a Chameleon Experience when they first visit the page where that Experience automatically begins. Users will see this Experience until they complete or exit it, and then not again. However you can prevent certain users from seeing any Experiences, by adding a property to their user profile:disabled: true.
Timestamps
Chameleon will interpret a property as a timestamp for a few reasons:- If the timestamp is ISO 8601 standard, Chameleon will always assume the value is a timestamp.
- If the timestamp is a Unix Timestamp that falls between 1973 and 2033 and the name is either ‘created’, or ends in ‘_at’ or ‘_time’.
Default properties
From the JavaScript code snippet, we collect a set of default properties that cannot be overridden, they arebrowser_x, browser_n and browser_tz. In addition, our servers add browser_l , last_seen_session_count , last_seen_at , and last_last_seen_at which cannot be permanently overridden.
Reserved Keywords
Chameleon has some reserved keywords that are not passable in identify. They include:id, user_id, userId, account_id , accountId , profile_id, profileId, company_id, companyId, company, created_at, createdAt , updated_at, updatedAt , options, at, last_seen_at, last_request_at, now, integration, disabled, chameleon_admin, chameleon_tag_ids and percent .
Limits and Errors
- Up to a total of 768 bytes are stored for each scalar value where each Array item and each Hash value can reach this limit.
- See the full page on Limits for more information.
- Any data received that exceeds this limit will be truncated at the 768th byte and a warning surfaced on the data management page for user data or for company data.

