Integrate Kameleoon with Mixpanel Cohorts

Written by Julie Trenque

Updated on 05/23/2025

1 min

Beginner

Manage your integrations

Analytics

Automation

CDP

CMP

CMS/CRM/E-commerce

Data Warehouses

Developers

Was this content useful?

Mixpanel is a leading user-behavior analysis solution for product teams.

The Kameleoon Mixpanel Cohorts integration automatically export Mixpanel cohort data into Kameleoon, where it can be used to deliver personalized experiences and run highly targeted experiments, driving more impactful and data-driven optimizations.

Key benefits

  • Seamless cohort sync: Import user segments from Mixpanel into Kameleoon effortlessly.
  • Personalized targeting: Deliver tailored experiences based on user behavior.
  • Enhanced experimentation: Run precise A/B tests on specific audience groups.
  • Real-time updates: Keep user segments up-to-date automatically.

Use cases

Optimize experiments with behavioral targeting

Sync Mixpanel cohorts with Kameleoon to test variations on users based on their real-time behavior.

For example, run an A/B test on users who have viewed a product page multiple times but haven’t added anything to their cart. Test different incentives (for example, a limited-time offer vs. social proof messaging) to determine which strategy drives the most conversions.

Analyze results with behavioral segmentation

Break down Kameleoon campaigns using Mixpanel cohorts for deeper insights.

For example, if a test or personalization campaign shows a drop in conversions, analyze key Mixpanel segments (e.g., high-value customers, churn-prone users) to identify patterns. This helps you understand which experiences resonate best with different user groups and refine your strategy accordingly.

Personalize experiences using Mixpanel’s rich user insights

Leverage Mixpanel’s deep user data—such as behavior, lifecycle stage, or purchase history—to create highly relevant experiences in Kameleoon.

For example, identify frequent buyers, users who recently downgraded their subscription, or those who engage with specific content. Then, tailor messaging, promotions, or feature recommendations in Kameleoon to maximize engagement and conversions.

Activate the Kameleoon integration in Mixpanel

The first step is activating the Kameleoon integration in your Mixpanel account to enable cohort synchronization. You can refer to this Mixpanel documentation.

Please note that you will need a Kameleoon API-key, ask your Kameleoon Customer Success Manager for it.

You will see that only identified user profiles get exported to Kameleoon (ie. no anonymous users). If you’re using Mixpanel’s identity merge feature and as Mixpanel’s distinct_id for a given user may change over time as the user’s Canonical ID shifts, we strongly recommend you set an additional user property $kameleoon_mapping_id that contains our Kameleoon Visitor code or “your internal user ID” if you use one of our SDKs. Mixpanel will automatically add the kameleoon_mapping_id in each cohort exports they will send to Kameleoon.

You can set it by using the Mixpanel people.set method, right after the identify method is executed. Here is an example of code you can use with the Mixpanel JavaScript API:

mixpanel.people.set({
     '$kameleoon_mapping_id': Kameleoon.API.Visitor.code
 });

Underneath, Mixpanel uses our Data API map endpoint to send the cohorts to Kameleoon.

Leverage Mixpanel cohorts in your Kameleoon campaigns

Create a custom data to target Mixpanel cohorts in your experiments

To target Mixpanel cohorts, you must set up a custom data within Kameleoon to retrieve the cohort names for each single user.

Please name your custom data “Mixpanel cohorts” and choose the acquisition method Custom JavaScript code if you run a classic web experiment or Kameleoon SDK method if you run a server-side experiment or use a feature flag.

The custom data should be set to the list of and strings types, the scope may be set to Page, depending on the scope being defined in Mixpanel; when being set to Page, it is re-evaluated on every page load, if the user is within a certain cohort being identified by Mixpanel. 

External Segment Sync for web experiments

If you use the $kameleoon_mapping_id property as explained in the previous section, please use the code below in the custom data acquisition method:

Kameleoon.API.Data.retrieveDataFromRemoteSource(Kameleoon.API.Visitor.code, function (data) {
 if (data?.mixpanel_cohorts) {
 data.mixpanel_cohorts.map(function (segment) {
 if (segment?.mixpanel_cohort_id) {
 Kameleoon.API.Data.setCustomData("Mixpanel cohorts", segment.mixpanel_cohort_id);
 }
 });
 }
});
return { "value": null}

If you rather use Mixpanel default distinct_id method to set your own user ID, please use the code below:

if (!window.mixpanel?.get_distinct_id) return null;
let id = mixpanel.get_distinct_id();
Kameleoon.API.Data.retrieveDataFromRemoteSource(id, function (data) {
if (data?.mixpanel_cohorts) {
data.mixpanel_cohorts.map(function (segment) {
if (segment?.mixpanel_cohort_id) {
Kameleoon.API.Data.setCustomData("Mixpanel cohorts", segment.mixpanel_cohort_id);
}
});
}
});
return { "value": null}

External Segment Sync for Server-side

To use Mixpanel cohorts in server-side experiments or feature flags, you can consult the guidelines outlined in the documentation for each respective SDK. For instance, if you’re using the GO SDK, you can refer to its documentation for detailed instructions.

The GO SDK, like our other SDKs, employs the GetRemoteData method, which is accessible across all our SDKs. This method enables you to fetch data stored by Mixpanel on our servers and make it accessible within your backend code.

Fetch Mixpanel cohort names in Kameleoon

In the last step of custom data creation, activate the Save the values for the targeting condition associated with the custom data point option and insert this snippet into the dedicated field. Replace the value “ADD_YOUR_PROJECT_ID_HERE” by your project Sitecode.

var xhr = new XMLHttpRequest();
 xhr.open("GET", 'https://customers.kameleoon.com/mixpanel/cohorts/ADD_YOUR_PROJECT_ID_HERE', false);
 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 var mixPanelSegments = [];
 xhr.onreadystatechange = function() { // Call a function when the state changes.
     if (this.readyState === XMLHttpRequest.DONE && this.status === 200)
     {
         var mixpanel = JSON.parse(xhr.response);
         mixpanel.forEach(function (segment) {
             if (segment.id && segment.name !== 'undefined')
             {
                 mixPanelSegments.push({value: segment.id, label: segment.name});
             }
         });
     }
 }
 xhr.send();
 return mixPanelSegments;

Use Mixpanel cohort names in a Kameleoon segment

After the custom data for the Mixpanel cohort names has been set up, you can build segments within the Kameleoon segment builder, by choosing the custom data and selecting is among the values, which will then show a list of every cohort name from Mixpanel. Selecting one or multiple Mixpanel cohort(s) will enable targeting in personalizations and experiments.

  • In this article :