Kameleoon Destination

Destination Info

Kameleoon’s powerful and easy-to-use A/B testing, full stack, and AI-powered personalization solutions help marketers, product owners, and developers maximize customer engagement and conversion all from a single platform.

This destination is maintained by Kameleoon. For any issues with the destination, contact the Kameleoon Support team.

Getting Started

Segment’s Kameleoon destination supports the following Kameleoon products:

In order to use the Kameleoon & Segment.io integration, you first need to request an API Key. Send your request it to support@kameleoon.com, and be sure to specify your Kameleoon account login.

You will also need the sitecode key. You can find it in your Kameleoon account, as described in How do I find my site id?.

To add the destination to your Segment workspace:

  1. From the Destinations catalog page in the Segment App, click Add Destination.
  2. Search for Kameleoon in the Destinations Catalog, and select the Kameleoon destination.
  3. Choose which Source should send data to the Kameleoon destination.
  4. Enter the API Key and the sitecode in the Kameleoon destination settings in Segment.

Implementation pre-requisites: matching Users between Kameleoon and Segment

The integration requires you to use the same system of identifiers for both tools, meaning the userId value you pass to Segment should be the same value as Kameleoon uses to identify a “visitor”.

If you use Kameleoon Experiment or Kameleoon AI Personalization on your website, Kameleoon places a cookie that contains an anonymous unique identifier, called the Kameleoon visitorcode. This ID is randomly assigned to a visitor and is used to uniquely identify a browser.

You can either pass Kameleoon’s visitorcode in the userId property of the Segment calls to ensure Kameleoon can consolidate data and avoid any analytics discrepancies between the tools in your campaign results, OR you may specify in all Segment calls an additional user property, k_visitorCode, whose value is the Kameleoon visitorcode. You can retrieve the user visitorCode from the browser by using Kameleoon’s Activation API.

If you are not able to update your existing Segment tracking plan, you can also pass Kameleoon’s visitor code in an additional Segment call as follows: analytics.track('Kameleoon identifier', {'k_visitorCode': Kameleoon.API.Visitor.code});Kameleoon. This will automatically link your internal user ID or anonymous ID to Kameleoon’s own visitorCode. Make sure to call it only once per session.

If you use Kameleoon Full Stack, please refer to the Kameleoon SDK documentation. Kameleoon recommends you to use your own internal ID to identify users.

Supported methods

Kameleoon supports the following methods, as specified in the Segment Spec.

If the Segment event name matches exactly the name of an existing goal in your Kameleoon account, a conversion for this goal will be associated to the visitor. If the goal does not exist, Kameleoon will create a custom goal by using the Segment event name and associate the conversion to the visitor. The goal will appear in the Kameleoon goals page with the name convention ‘SegmentIO eventType - eventName’. Once the goal has been created, you can use them in any of your campaign.


Send Page calls to record whenever a user sees a page of your website, along with any optional properties about the page. Calling page or screen in a source is one of the first steps to getting started with Segment.

For example:

analytics.page('Home', {"k_visitorCode": "oa16i4syt2ve3b0z"});


Send Screen calls to record whenever a user sees a screen, the mobile equivalent of page, in your mobile app, along with any properties about the screen. Calling page or screen in a source is one of the first steps to getting started with Segment.

For example:

[[SEGAnalytics sharedAnalytics] screen:@"Home"
                            properties:@{ @"k_visitorCode": @"oa16i4syt2ve3b0z" }];

Segment sends Screen calls to Kameleoon as a screenview.


Send Track calls to record any actions your users perform, along with any properties that describe the action.

For example:

analytics.track('Login Button Clicked', {"k_visitorCode": "oa16i4syt2ve3b0z"});

Segment sends Track calls to Kameleoon as a track event.


You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo.

For user-property destinations, an 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.

Real-time to batch destination sync frequency

Real-time audience syncs to Kameleoon may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.


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

Setting Description
string. Please ask your Kameleoon Customer Success Manager for it.
string. On your Kameleoon back-office, in the left menu, click on “Installations” and then on “Sites”. You will find your sitecode on your site card.

This page was last modified: 25 Apr 2022

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account