With Chameleon's Heap integration, you can better analyze and target Chameleon Experiences. You can learn more about Heap by visiting our integration page.

The Heap integration includes two components:

  • Data Destination: send Chameleon data to Heap (for analyzing Experiences).

  • Data Source: get Heap data into Chameleon using Heap events or webhooks (for targeting Experiences).

Heap as a data destination

With this aspect of the integration, you will see Chameleon Events under the Chameleon Source within Heap. The data that's sent includes (but is not restricted to) the following events:

  • Chameleon Started Tour / Microsurvey

  • Chameleon Completed Tour / Microsurvey

  • Chameleon Step Seen

  • ...

Chameleon events are first-class events within Heap in the Chameleon Source:

For full details of all Chameleon data sent to Heap, use our schema Google Sheet:

Setting up

The Heap integration can be enabled with a single click. Simply visit the Heap integrations page in the Chameleon Dashboard and toggle on "Send Chameleon Data to Heap":

This will automatically begin sending data to your Heap account. This works by using the existing Heap code on your website, and so data will only be sent on pages where the Heap script is present and working.

You will then see events flow into your Heap account; and you can check this in the Live View, as below:

Event properties sent as part of these events include the Experience name, URL, and others (e.g. Step number) where relevant.

Defining Chameleon events within Heap

⚠️ NOTE: For integrations connected prior to July 2021 you will need to first "Define" these within Heap to see these events in your reports and to leverage them in any analysis:

For integrations connected after July 2021, these events will automatically be defined by Heap 👌

To define events within Heap, you will need to click on the event, and then click Define Event:

Alternatively, you can visit the "Definitions" section of your Heap dashboard, and then define the event.

Then, you will have to name the event, which can be the same as the default Chameleon name, or as per your own analytics taxonomy. You may also wish to create a separate category for all the events sent by Chameleon.

Once the event is defined, you will have access to it everywhere in your Heap dashboard.

Example use cases

You can use these events to define funnels and see this reporting within Heap:

You can also set up custom names for key events by editing the Event Criteria, and leveraging these custom (virtual) events in your analysis. 

This can help you monitor and improve your Experience performance. 

Heap as a data source

You can now use Heap events and other data (Heap cohorts coming soon) to target Chameleon Experiences. There are two ways to get data from Heap into Chameleon:

  • Using Heap events

  • Using Heap webhooks

Heap events

You can also forward tracked events in Heap to Chameleon. To do this, create a “snapshot” on any defined event in Heap and use that snapshot to trigger a “track event” action in Chameleon.

  1. Define an event in Heap and add a new snapshot property on the event from the events view.

  2. Set the property value to chmln.track("event name"); where event name can be replaced with any event name you want to show up in Chameleon for this event.

  3. Test performing that event on your site and see if the event appears within Chameleon. You can view all your events within Chameleon in your dashboard here.

Note: Events are shown in the Data Management page within Chameleon soon after they are received, but the 'Last seen' time currently only updates every 12 hours. This might mean an event is sent more recently than the 'Last seen' time indicates. We will be fixing this shortly.

Heap webhooks

Using Heap's Webhooks feature enables you to get data out of Heap in real-time. If you have access to this feature, you will find it under the Integrations list in Heap.

To configure this feature, and have Heap and Chameleon communicate through webhooks, you'll need to make use of Chameleon's Incoming Webhooks, which you can find on your Chameleon Dashboard's Integrations page.

👉 Learn more about Chameleon's Webhooks

Here, you'll find three different endpoints, user properties, company properties, and user events -- each containing a unique URL.

The setup process for events and user properties is very similar, differing only in the Data to Send section. Let's give it a quick overview:

  • Under Basic Configuration, add the endpoint URL that corresponds to the data you're sending to Chameleon.

  • No specific Headers are required. Authentication is built into the Endpoint URL (which contains your unique Chameleon token).

  • For sending user (or company) properties, under Data to Send, add the following properties:

    • Key: uid, type: property, value: Identity *

    • Any other fields you want to send to Chameleon.

  • For sending user events, under Data to Send, add the following properties:

    • Key: uid, type: property, value: Identity *

    • Key: name, type: constant, value: event name (replace 'event name' with the actual event name) **

    • Key: at, type: constant, value: $now ***

  • Under Triggering Events, choose the Heap event that will trigger this webhook to run.


* You will need to make sure you are sending the same uid to both Heap and Chameleon as part of your installation.

** You will find the event in Chameleon named according to what you define here.

*** This will be the time for your event. you can also specify this differently as per your system of keeping time or the time you want to set the event to have occurred.

With this functionality, you can now send events from Heap to Chameleon to help define your target audience for a Chameleon Experience. In the example below, where the Heap event "Clicked nav" is used as a segmentation filter.

👉 Learn more about setting up a Target Audience

More integrations

Did this answer your question?