# Chameleon Destination

## Destination Info

* Accepts [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Chameleon** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)

### Components

* [Browser](https://github.com/segment-integrations/analytics.js-integration-chameleon)

## Connection Modes

[Learn more about connection modes.](/docs/segment/connections/destinations/#connection-modes)

### Device-Mode

* web: yes
* mobile: no
* server: no

### Cloud-Mode

* web: no
* mobile: no
* server: no

Our Chameleon destination code is open-source on GitHub if you want to [check it out](https://github.com/segment-integrations/analytics.js-integration-chameleon).

## Getting started

When you enable the Segment direct destination on the [Chameleon dashboard](https://app.trychameleon.com/settings/integrations) we will immediately start receiving your app's user and event data collected by Segment.

You may need to enable your website domain on the [Chameleon Domains Dashboard](https://app.trychameleon.com/settings/domains) to see User events and properties on Chameleon.

## Identify

This helps you target product tours to specific (segments of) users. You can read more about how to segmentations work in [Chameleon's docs](https://help.trychameleon.com/en/articles/1500422-how-to-create-a-target-audience)

At a minimum we suggest sending us:

* `email`
* `name`

We recommend sending us properties that you would like to use to segment users into a handful of groups. Some examples of the properties you may wish to use to segment users include:

* `account role` (admin vs user)
* `account value` (paid vs free)
* `account status` (converted vs retained)

Examples of other specific properties you may also wish to send us include:

* `credit` (# of dollars in account)
* `respoitory_count` (# of authorized items)
* `support_requests_count` (# of touchpoints generated)
* `chats_count` (# of times user reached out for help)

When we know more about your user, we can help you target them more effectively. For example, you could show different tutorials to the account admin and other team members.

## Track

You can send us your app's events for two main reasons:

1. Signal a `conversion` from a product tour (a user successfully completing the action that they were prompted to take with the tour)
2. Trigger a specific product tour *(coming soon)*

Product tours should lead to user actions and so offer the option of tagging each Chameleon product tour with a 'conversion event' that helps you track how successful your tour is. We collect data about each tour (users starting, completing, conversions) and send this back to your preferred analytics provider. Read more about the [analytics Chameleon tracks](https://help.trychameleon.com/en/articles/1226450-what-analytics-does-chameleon-provide).

## Help

For more information, refer to [Chameleon's docs](https://help.trychameleon.com/) or [email them](mailto:support@trychameleon.com).

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

> \[!NOTE]
>
> Real-time audience syncs to Chameleon  may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field   | Description | Required | Type   |
| ------- | ----------- | -------- | ------ |
| API Key |             | Yes      | string |
| fastUrl | fastUrl     | No       | string |
