User Properties are attributes that describe individual users and help you understand who they are. You can use them to target Experiences to the right audience, personalize content, and build dynamic URLs β all based on who a user is and what you know about them.
Chameleon collects a set of default properties automatically and also lets you send your own custom properties from your product, integrations, or CSV imports.
π Read about understanding data in Chameleon for a full overview of the data types available to you.
What are default User Properties?
As soon as Chameleon is installed, it begins collecting a set of default properties automatically. Each time the chmln.identify method is called β both the first time and in subsequent sessions β Chameleon identifies the user based on their unique user ID and adds these properties to their profile.
Property | Description |
Browser | The type of browser detected (e.g. Chrome, Firefox, Safari) |
Browser width | The latest browser window width in pixels. Useful to target specific screen sizes or devices |
Browser Language code | A parsed version of the Accept-Language header, typically in the format |
Device type | The device category: |
First seen by Chameleon | The first time the user was identified β when the user record was created in the Chameleon backend |
Has Chameleon access | Whether the user can build Experiences on your Chameleon account |
Last seen | The last time the user was identified by Chameleon, indicating their most recent session |
Last Tour | Whether a specific Tour was last completed or not by a user |
Last Tour result | Whether the last Tour was completed or ended early before completion |
Last Tour time | A date filter for the last time a user engaged with a Tour |
Number of web sessions | The number of times a user was seen, not seen for 90 minutes, and then seen again (starting from 1) |
Testing ID | A randomly assigned number from 0 to 100 that never changes for a user. Primarily used for A/B testing |
Timezone offset (hours) | The standardized offset from UTC the user was last seen in (e.g. PST is -8, or -7 during daylight savings) |
Common use cases
Use
containsand a language or country code to target users by language with the Browser Language code property. A handy list of language codes can help you find the one you want.Use the Testing ID to run simple A/B tests β for example, show a Tour to 25% of your users by targeting Testing IDs between 0 and 25.
Use Number of web sessions to trigger engagement milestones β for example, show a "Welcome back" message when a user returns for their 10th session.
π‘ "First seen by Chameleon" may not be the user's sign-up date if they were created in your system before you installed Chameleon. If you need the actual sign-up date, send it as a custom property.
What are custom User Properties?
Custom User Properties are any attributes you send to Chameleon from your product, beyond the defaults. These are the properties that make your targeting and personalization truly specific to your users π―.
Common custom User Property examples include:
Property | Why it's useful |
| Identify users in the Dashboard, enable testing, and personalize Experiences |
| Target users based on how long they've been in your product |
| Reach the right persona for feature adoption, onboarding, or admin flows |
| Deliver upsell opportunities or plan-specific guidance |
| Deliver targeted guidance for different lifecycle stages |
| Show Experiences only to users who have access to specific features |
| Personalize Experience content with the user's name |
βΉοΈ When sending data to Chameleon, null-valued properties will not be sent and are removed as a matter of cleanup and consistency.
How do I send User Properties to Chameleon?
There are three ways to get your custom User Properties into Chameleon:
Via integrations
If you use Twilio Segment or Freshpaint, this is the recommended method. Enable the integration from your Dashboard and Chameleon will automatically receive the user properties you already collect.
You can also pull user data from other integrations like Amplitude, Mixpanel, HubSpot, or Salesforce; or send enriched data from your entire stack with Hightouch or Census.
Via the API
You can also send user data (properties or events) via our API. To learn more about this please visit the following article:
π§βπ» Developers can help: ask your technical teammates for help if you're not comfortable doing this alone. You only need to set it up once β gather the list of user data you want to use in your Segments and ask your developers to send it all.
Via CSV imports
If you can't immediately import all the data you need through dynamic methods, you can upload a CSV file from your Dashboard to update User Properties or tag users.
π Read about how to import data with CSV files for step-by-step instructions.
How do I use User Properties?
Any User Property (whether default or custom) becomes available for use across Chameleon as soon as it's received. You can put your properties to work in the following ways:
π― Audience targeting: When you create a Segment, you'll find all default properties under the "Default properties" section and your custom properties listed by name. Combine filters to build precise audiences for your Experiences.
β¨ Content personalization: Reference User Properties like first_name or email directly inside your Experience copy using the Personalization option in the Builder.
π Dynamic URLs: Use properties to build unique URLs from buttons, so each user is directed to the right page.
π Read about how to target your Experiences to the right users for more on building Segments with User Properties.

