A key component of personalizing and targeting in-product Experiences built with Chameleon is sending relevant user data. 

You can do this via Segment.com or our API (as part of the installation process). You can send user events (actions users take) or user properties (attributes about the state of the user). You can also send company properties to help target users based on the company (or account or organization) they are part of. 

Data Management page

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

Here you can do things like:

  • Review what data your team is sending already (and what you can use)
  • Check how recently data has been sent
  • Rename, and add a description (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)

Here is an example event from the User events page. To rename, add a description or archive the event, click on the pencil icon on the right hand side. 

This is an "Imported event" meaning it was sent to Chameleon via the API or an integration. You will also see "Defined events" in the list; these are events you are tracking through the Chameleon Editor. Read more about how to track page views and clicks here. 

Here is an example user property from the User properties page:

Note: you can sort any of the tables by clicking on the header.

You will notice the data format as string  -- this helps Chameleon understand the type of data contained for this property. This also sets what kind of operators are available when using this to target users. 

E.g. for string  you will see options such as:

  • Contains
  • Does not contain

Whereas for the timestamp  type, you will see option such as:

  • Before date
  • After date

If the data you are sending is classified as the incorrect type then please send us a message here, so we can help you fix it (will require a code update). 

Nested Objects and Arrays

Chameleon supports up to 2 levels of nesting for Objects and Arrays of any length. Arrays may contain any value types except Array and Object. This means you can store the following object as a property on a user profile.

chmln.identify(UID, {
  metadata: {
    role: {
      id: '5a17',
      name: 'owner',
      display_names: ['Owner', 'Admin'],
  roles: ['owner', 'contributor', 'analyst', 'billing']

Limits and Errors

The value for each user property and each Array member is limited to 768 bytes. 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.

Did this answer your question?