For an overview of how the Chameleon API works, please first read this article.

Sending event data to Chameleon can be valuable for:

  • Targeting users with tours based on what they have done.
  • Tracking conversion goals for tours.


Send a POST  to
Include a UID  that uniquely identifies the user in your database (required)
Include a name  that names the "thing the user did" (required)
Include an at of the exact time the "thing" happened (optional, in ISO 8601 format)
Include any and all parameters pertinent to the user (optional)

Note: If you have successfully enabled Secure Identity Verification, then you must use your Secret API key (found at the bottom of this page) and not your account token (identifier in the installed Chameleon code snippet) for all requests. Any requests not using the Secret API key will be ignored.


Create an event for user with uid=123  when they  "Imported leads"  and the total number of leads is 2817.


curl -X POST -H "X-Account-Token: SECRET" -d '{"uid":"123","name":"Imported leads","leads_count":2817,"at":"2018-01-03T21:49:12+00:00"}'


  event: {
    id: "590b80e5f433ea8000000207",
    profile_id: "590b80e5f433ea81b96c9bf6",
    uid: "imported_leads",
    name: "Imported leads",
    leads_count: 2817

Via JavaScript API

If you have implemented Chameleon directly via the JS (and have not used then you may wish to supplement your user attribute data with user action data. This will be powerful for showing tours in response to what users do. 

To use the JavaScript API, using our chmln.track method:

chmln.track(EVENT_NAME);  // The name of the event (e.g. "Subscribed to Plan", "Imported leads")

(Note: Chameleon ignores events from admins, so they don't clog up your analytics. In order to test whether the track method on your page is working, you'll need to be logged out of the browser you're testing on, or use Chameleon's Test Mode.)

Did this answer your question?