Segment Integration

Note: Mixpanel has a bi-directional integration with Segment. This document is about syncing cohorts from Mixpanel as user traits in Segment. To send events from Segment to Mixpanel, please refer to Segment's documentation.



You must be a Mixpanel project admin to enable the Segment integration.


Setting Up the Integration

The connection requires a Segment Write Key. You can obtain this key via Segment's UI: 

  • Login into your Segment workspace and click Sources under Connections in the menu bar on the left.
  • Click Add Source button the right side above the sources table.
  • Search for Mixpanel Cohorts, select and hit nextScreen_Shot_2022-01-19_at_11.44.29_AM.png
  • Create a Mixpanel Cohorts source.Screen_Shot_2022-01-19_at_11.48.25_AM.png
  • Copy the Write Key displayed there.              Screen_Shot_2022-01-19_at_11.45.14_AM.png


In Mixpanel, select Integrations under the Data Management tab in the top navigation bar:


Then select Segment, click Connect, and paste the Write Key that you generated in Segment.



You've now successfully created the integration!


Export a Cohort

You can export a cohort to Segment from the Cohorts page.

Select the overflow menu on cohort that you want to export and click Export to... → Segment.



Sync Types

There are two types of sync: one-time and dynamic.



In this sync, Mixpanel sends Segment the static set of users who currently qualify for the cohort. The cohort data will not be updated in Segment after a one-time export.



In dynamic sync, Mixpanel initiates sync between a cohort and Segment every 15 minutes. The exported cohort will be updated every 15 minutes to reflect the most recent list of users in a cohort.


When you generate a one-time export or dynamic sync, it overwrites the previous export with an updated export that reflects users who qualify for the cohort at the time of export.


Verifying in Segment 

Once the export completes, you can open the debugger on the source you created in Segment above and you'll see "identify" calls flowing in for each user that has been added or removed from the cohort.


Mixpanel sets a property on the user's profile in Segment indicating whether they are currently part of the cohort.

We send the following identify call to Segment when a user enters the cohort:

"type": "identify",
"traits": {
"Mixpanel - <Cohort Name in Mixpanel>": true,
"userId": "" // we use the distinct_id property here


We send the following when a user exits the cohort:

"type": "identify",
"traits": {
"Mixpanel - <Cohort Name in Mixpanel>": false,
"userId": "" // we use the distinct_id property here




Did this answer your question?



Please sign in to leave a comment.