You'll leverage user data when delivering Experiences to your users. You can do this in the following ways:

  • Defining the audience for an Experience (by creating a Segment with Filters that rely on the user data)

  • Personalizing content within Experiences (e.g. referencing a user's name or their account manager within content)

  • For specific URLs/links (e.g. opening a unique URL from a button)

  • Tracking success of Tours, by leveraging events as the 'Goal'


Types of user data

There are a few different types of user data available in Chameleon, or that can be sent:

  • User properties: attributes of the user (e.g. name, sign-up date etc.)

  • Company properties (e.g. account name, plan etc.)

  • User events (e.g. "invited_user", "made_payment")

  • Chameleon activity (e.g. "Tour completed", "Input submitted")

  • Chameleon Tags (can be added to users manually, or via CSV uploads)

  • Cohorts data (via integrations) (e.g. member of 'new_users' from Mixpanel)

  • Webhooks data (to update user/company properties or events sent from another tool/system/your database etc.)

Chameleon collects some of these (non-identifying) attributes by default, and you can also send in additional user data to deliver better Experiences.

Any user data that Chameleon collects or you send to Chameleon (via integrations or API) will be available to deliver contextual, personal, and relevant Experiences.

You can review and manage your user data from your Chameleon Dashboard.

User properties

These are attributes of users that reference their state (persist over time) such as: name, email address, role, browser type, etc.

These are sent directly if Chameleon is installed via a CDP such as Segment/Freshpaint, or can be sent manually via the JS API.

Some ideas of other properties that you can consider sending:

  • Feature flags / tags indicating access to product functionality

  • State of a user in the lifecycle (e.g. activated etc.)

  • Enrichment data from a service like Clearbit

Company properties

Company properties are similar to user properties but attached to the company/group of the user ("nested").

This can be helpful when many users are attached to a single group (for B2B products) and certain properties are associated with that group (e.g. plan) instead of on an individual user basis.

Chameleon supports Group calls via Segment/Freshpaint, but if you are sending manually via the JS API, one of the user properties sent must be the company or group, as per below:

chmln.identify(USER.ID_IN_DB, {     // Unique ID of each user in your database, must be a string (e.g. "23443" or "590b80e5f433ea81b96c9bf6")
email: USER.EMAIL, // Put quotes around text strings (e.g. "jim@example.com")

company: { // For B2B products, send company / account information here
uid: COMPANY.ID_IN_DB, // Unique ID of the company / account in your database (e.g. 9832 or "590b80e5f433ea81b96c9bf7")
created: COMPANY.SIGN_UP_DATE, // To enable targeting all users based on this company property
name: COMPANY.NAME, // Send any data that appears within URLs, such as subdomains (e.g. "airbnb")
trial_ends: COMPANY.TRIAL_ENDS, // Send data about key milestones (e.g. "2017-08-01T03:21:10Z")
version: COMPANY.VERSION, // If your software varies by version then this will help show the correct guidance (e.g. "1.56")
plan: COMPANY.PLAN, // Send null when no value exists (e.g. "Gold", "Advanced")
...
spend: COMPANY.CLV // Send other properties that will help in targeting users (e.g. sales rep, source, stage)
},
});

User events

Events are attached to individuals, and can be sent to Chameleon via integrations or manually. These can be useful for targeting and triggering Experiences based on when a user takes an action.

Chameleon supports real-time updates for events, so as soon as an event occurs, the Audience that depends on it will see the Experience in the product.

However note that Chameleon does not currently support "Event properties" so only the occurrence/count of the event can be used for targeting.

Chameleon activity

Chameleon will automatically track and collect events associated with users interacting with Chameleon Experiences. This will include events such as:

  • Tour completed

  • Launcher opened

  • Step completed

  • Microsurvey submitted

  • etc.

Much of this data will also be available to you for targeting Experiences; simply look for it in the Segment creation menu:

Chameleon Tags

You can manually tag users and companies in Chameleon (not to be confused with tagging Experiences for the purposes of organizing).

This is more effective/performant when you want to target a specific group of users rather than adding a long list of emails to the "within list" filter.

To do this, click on the individual user and then use the slideout to add the Tag.

You can also bulk tag users or companies via the Import feature:

Currently users can only be tagged individually, or via CSV upload, but bulk tagging from the Dashboard will be coming soon...

Cohorts data

Chameleon can also connect to a host of other tools, and receive data about whether a user is a member of a cohort/list as defined in that tool. This includes the following:

  • Mixpanel

  • Heap

  • Amplitude

  • Hubspot

  • Salesforce

  • Segment (Personas)

Technically these are received as user properties but can be used distinctly when creating a filter for a Segment.

Webhooks

Webhooks are a simple way to send data to Chameleon, from another tool or system (that is able to send webhooks / supports outgoing webhooks). This will directly update user or company properties, and user events.


Managing User Properties

All the data you send to Chameleon can be seen and managed on the Data Management section in your Chameleon Dashboard.

Here you can do things like:

  • Review what data your team is sending already

  • Check how recently data has been sent

  • Rename and add descriptions to your data (to help team members understand and leverage data)

  • Archive events or properties (to hide them within any lists when creating a target audience or setting a goal)

Learn More

Did this answer your question?