With Chameleon's Customer.io integration, you coordinate lifecycle emails and campaigns with Chameleon product tours. To learn about Customer.io visit our integration page

The Customer.io integration includes two components:

  • Data Destination -- send Chameleon data to Customer.io (to use in sending other messaging, such as emails)
  • Data Source -- get Customer.io data (webhooks) into Chameleon (for targeting Tours and personalizing content)

This integration enables Customer.io to be a Data Destination -- you can send Chameleon data to Customer.io. 

We are also in *beta* for Chameleon as a Data Source -- see below and email us if you'd like access.


The Customer.io integration can be enabled with a single click. Simply visit the Integrations section within the Chameleon Editor, select Customer.io and then hit: "Connect to Customer.io".

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


Chameleon will automatically send tour performance data, for each user, and you can view this within your Customer.io account, on the Activity page:

The events sent by Chameleon are:

  • Started Tour (Chameleon)
  • Completed Tour (Chameleon)
  • Exited Tour (Chameleon)
  • Step Seen (Chameleon) -- by request, to avoid flooding you with events. 
  • Previewed Tour (Chameleon) -- for admins only

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

You can then use this activity by users to be a part of an event triggered email campaign. You can also use these events as part of your Customer.io segments, which can then be further used for any notification or message you send via Customer.io.

Customer.io webhooks (new)

You can now send data from Customer.io to Chameleon in real-time using webhooks. You can send event or property webhooks to Chameleon, which can help you:

  • Trigger Chameleon Tours (based on matching)
  • Update user data (for targeting)
  • Personalize content within Tours


  1. POST to https://observe.trychameleon.com/profiles
  2. X-Account-Token  as a header with the token copied from the code installation page
  3. Send a uid key in the body that matches the one sent in the JavaScript snippet via chmln.identify
  4. Add data/content as properties in the request body

Example: Customize Tour content

First Step body content


We are not currently aware of any common problems experienced as part of this integration, so please message us if you have any issues, or ideas for improvements. Simply use the green chat circle on the bottom right of this screen. ↘️

Did this answer your question?