---
title: "Mixpanel"
slug: "mixpanel"
description: "Integrate Userflow with Mixpanel to analyze user interactions, sync cohorts, and enhance your product analytics for better targeting and insights."
updated: 2026-06-02T15:37:02Z
published: 2026-06-02T15:37:02Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.userflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mixpanel

The Userflow-Mixpanel integration connects Userflow’s in-app guidance data with Mixpanel’s product analytics platform. Once connected, you can stream Userflow events to Mixpanel, sync user attributes and events in both directions, and pull Mixpanel cohorts into Userflow as segments — so both tools see the same picture of how users engage with your product.

## Key benefits

**Bi-directional event and attribute sync.** Mixpanel events and user attributes appear in Userflow segments, auto-start conditions, Chart Builder, and Funnel Analysis. Userflow user and group attributes sync back into Mixpanel for analysis alongside your existing data.

**Automated event streaming.** Critical Userflow events — such as when a user starts a flow or completes a checklist task — can be continuously sent to your chosen Mixpanel project for unified analytics.

**Cohort sync.** Mixpanel cohorts (groups of users defined by shared behaviors) can be synced back to Userflow as segments, so you can target and personalize in-app experiences for specific user groups.

**Streamlined setup.** Connecting Userflow and Mixpanel is a one-time setup per environment. We recommend starting with your Staging setup to confirm everything works before enabling the connection in Production.

With Userflow and Mixpanel connected, product teams can measure the impact of onboarding experiences, identify drop-off points, correlate feature usage with guided flows, and build more data-driven adoption and retention strategies.

## What bi-directional sync means

Previously, the Mixpanel integration only supported sending events from Userflow to Mixpanel (event streaming) and pulling cohorts from Mixpanel into Userflow. Both of those still work — no changes are needed for existing setups. Bi-directional sync adds two more directions:

- **Mixpanel → Userflow.** Events and user attributes from Mixpanel become available in Userflow segments, auto-start conditions, Chart Builder charts, and Funnel Analysis.
- **Userflow → Mixpanel (attributes).** User and group attributes from Userflow sync into Mixpanel.

You can enable each direction independently. Existing Userflow → Mixpanel event streaming and Mixpanel Cohort Sync continue to work alongside the new options.

## When to use bi-directional sync

Use bi-directional sync when:

- You already track key product events in Mixpanel and want to trigger Userflow flows from them without re-instrumenting.
- You want Userflow attribute data available in Mixpanel alongside your other product analytics.
- Your team is split — analytics in Mixpanel, in-app guidance in Userflow — and you want both tools to see the same picture.

## Prerequisites

- A Userflow account with Owner or Admin role.
- A Mixpanel project, including:
  - Service account credentials (username and secret) — only required if you want to receive data from Mixpanel into Userflow.
  - The Mixpanel project token — required for any direction.
- Plan availability — available on all plans.

## **Mixpanel projects and Userflow environments**

**Best practice: Use separate projects for each environment.**

We recommend using separate Mixpanel projects for each environment (e.g., Production and Staging) to prevent data contamination. Since each Userflow-Mixpanel integration connects one Userflow environment to one Mixpanel project, you'll need to set up the integration separately for each environment.

**Best practice: Start with a staging environment or project first.**

We strongly recommend setting up and testing the integration in your staging environment before connecting it to production. This allows you to verify that everything works correctly without affecting your live data. If you have both staging and production environments, you'll need to complete the setup process twice — once for each environment.

### **Required user ID match for integration**

**Use consistent user IDs.** For accurate data correlation, you must use the same user ID to identify users in both Userflow and Mixpanel.

## Connect Mixpanel to Userflow

> [!NOTE]
> Already have Mixpanel connected?
> 
> Your existing integration continues to work — event streaming and cohort sync will keep running with no changes. To enable bi-directional sync, click **Reconnect** on your Mixpanel integration. You'll be taken to the sync type screen, where you can choose the sync types you want, click **Next**, and provide the additional inputs (service account username and secret, project timezone, project ID). You don't need to disconnect — reconnecting preserves your existing event streaming and cohort sync setup.

1. In Userflow, go to **Settings > Integrations**.
2. Click **Add integration** and select **Mixpanel**.
3. Click **Connect with Mixpanel**.
4. Choose which direction(s) you want to enable:

You can enable one or both. Each direction has its own input requirements (see below).
  - **Receive data from Mixpanel into Userflow** — imports attributes and events from Mixpanel.
  - **Send data from Userflow to Mixpanel** — sends attributes from Userflow into Mixpanel. (Existing event streaming is configured separately and is not affected by this toggle.)
5. Click **Next**, enter the inputs for your chosen direction(s), and click **Save**.

### Inputs required by direction

| Input | Send to Mixpanel | Receive from Mixpanel |
| --- | --- | --- |
| Server region | Required | Required |
| Mixpanel project token | Required | Required |
| Service account username | — | Required |
| Service account secret | — | Required |
| Project timezone | — | Required |
| Project ID | — | Required |

### Where to find each value in Mixpanel

- **Server region** — In Mixpanel, go to **Project settings > Data residency**. Select the matching region in Userflow (e.g., United States).
- **Service account username and secret** — In Mixpanel, go to **Org settings > Service accounts**. If you don't have a service account, create one. Copy the username and secret immediately — Mixpanel does not display the secret again after creation. If you lose the secret, you'll need to create a new service account.
- **Project timezone** — In Mixpanel, go to **Settings > Project settings > Overview**. Copy the timezone string (for example, `Asia/Kolkata` or `America/Los_Angeles`).
- **Project ID** — In Mixpanel, go to **Settings > Project settings > Overview**. Copy the project ID.
- **Project token** — In Mixpanel, go to **Settings > Project settings > Access keys**. The token is shown as the API key.

After entering the inputs, click **Save**. The integration card updates to show **Connected**, and you can reconnect or disconnect at any time.

## Map attributes (object mapping)

Object mapping is how Mixpanel fields connect to Userflow fields. Set this up after the connection is live.

1. In the Mixpanel integration page, click **Select object type** and choose **User** or **Group**.
2. Click **Continue**.
3. Pick a Mixpanel field to sync and choose a data type.
4. Either map it to an existing Userflow field, or let Userflow create a new field automatically if no match exists.
5. To set up both user and group mappings, click **Continue** again after saving the first and configure the second.
  - For Group mapping, you'll also need to provide a **group key** and **data group ID**.
6. Click **Save mapping**. Mapped fields start syncing in both directions.

## Set up Mixpanel event sync to Userflow

Event sync brings Mixpanel events into Userflow as events you can use in segments, auto-start conditions, and analytics.

1. In the Mixpanel integration page, toggle **Mixpanel event sync** on.
2. Select the Mixpanel events you want to import from the dropdown.
  - If you have no Mixpanel events yet, the only option will be **Create new event** — create your events in Mixpanel first, then return here.
3. If your Mixpanel project is a **legacy project**, check the legacy project checkbox. (Mixpanel-side configuration determines this; if you're not sure, leave it unchecked and contact Mixpanel support to confirm your project type.)
4. Click **Save**.

Imported Mixpanel events appear in Userflow within a few minutes.

## **Set up Userflow event streaming to Mixpanel**

1. [**Sign in to Mixpanel**](https://mixpanel.com/login/) and navigate to the project you want to stream Userflow events to. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(642).png)
2. Open **Project Settings** for the relevant project. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(643).png)
3. Copy the **Project** **Token** from the **Access Keys** section. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(644).png)
4. [**Log in to Userflow**](https://userflow.com/app) and navigate to the environment you want to stream Userflow events from. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(172).png)

1. Select **Settings** **>** **Integrations**from the sidebar. Then click **Add integration**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(647).png)

1. Select **Mixpanel**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(648).png)
2. Click **Add Mixpanel.** ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(651).png)

1. Paste the **Token** you copied from Mixpanel in step 3 above into the **Mixpanel Token** field and enter the name of the user ID property you share with user profiles in Mixpanel in the **Mixpanel User ID Property** field. For example, `user_id`, then click **Save**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(653).png)
2. Use the toggle switch to activate the option to **Stream events from Userflow to Mixpanel** and click **Save**. Confirm the selection when prompted. *Event streaming will start immediately.* ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(654).png)

### Verify event streaming

1. Select **Data > Events**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(664).png)
2. Verify that Userflow events appear as expected. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(665).png)

### **Stopping event streaming**

1. In Userflow, select **Settings > Integrations** and open your Mixpanel integration.
2. Use the toggle switch to deactivate **Stream events from Userflow to Mixpanel.***Event streaming will stop immediately.* ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(666).png)

## **Set up Mixpanel cohort sync to Userflow**

This configuration automatically syncs user cohorts from Mixpanel to Userflow segments.

> [!NOTE]
> Note
> 
> Mixpanel refers to user groups as "cohorts," whereas Userflow refers to them as "segments."

#### Step 1: Configure Mixpanel-Userflow event streaming

Set up the Mixpanel integration in Userflow as directed in the [**Set up Userflow event streaming to Mixpanel**](/userflow/docs/mixpanel#set-up-userflow-event-streaming-to-mixpanel)****section above.

#### Step 2: Configure User ID in Userflow

1. In Userflow, select **Settings > Integrations > Mixpanel**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(180).png)
2. Complete the **Mixpanel User ID Property** under **Mixpanel settings**.
  1. Enter the user property in Mixpanel where you store users’ IDs.

**Example:** Type `user_id` if your Mixpanel snippet calls something like `mixpanel.people.set({user_id: id})`, and this `id` is the same value your Userflow.js snippet passes to `userflow.identify(id)`.

If you’re not using a dedicated user ID property in Mixpanel, you may enter `mixpanel_distinct_id` into this field, but note that this will use whatever canonical Distinct ID Mixpanel chooses for your user profiles, which may not always be the same value you pass to `mixpanel.identify(id)` if you have Mixpanel’s Identity Merge feature enabled. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(182).png)
3. Click **Save**.
4. Copy the **Webhook URL** to your clipboard. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(183).png)
5. Continue in Mixpanel using the instructions below.

#### Step 3: Complete configuration in Mixpanel

1. In Mixpanel, select **Settings > Integrations** from the lower left corner.
2. Scroll down the page and select **Custom Webhook**.
3. Click **Connect** under **Custom Webhook**. If you already have other custom webhooks, select **Add Connection**from the menu dropdown. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(668).png)
4. Enter “Userflow” as the **Connector Name** and paste the Webhook URL you copied from Userflow in the **URL** field. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(669).png)
5. Select **Lexicon**from the left-hand navigation, then select **Cohorts**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(671).png)
6. Select **Cohorts**from the **Saved Definitions** section.
7. Click the three-dot button next to the cohort you want to sync to Userflow. *(Scroll to the right if the three dots are not visible.)*
8. Hover over **Export to…**, then click **Custom Webhook (Userflow)**. ![](https://cdn.us.document360.io/9697557a-eb5d-476f-9b09-062b0f7bdcbd/Images/Documentation/image(672).png)
9. Choose whether you want to do a one-time export or a recurring sync.
10. Click **Begin sync**.
11. Once Mixpanel starts syncing (which should happen within a few minutes), you’ll be able to see the cohort as a segment on your **Users** page in Userflow.

## Using Mixpanel data in Userflow

Once Mixpanel events and attributes are imported, they're available across Userflow exactly like any native Userflow event or attribute:

- **Segments.** Build segments based on Mixpanel events ("Users who triggered `feature_x_used` in the last 7 days") or Mixpanel attributes.
- **Auto-start conditions.** Trigger a flow when a user fires a specific Mixpanel event or has a specific Mixpanel attribute value.
- **Chart Builder.** Visualize Mixpanel event trends alongside in-app engagement data.
- **Funnel Analysis.** Use Mixpanel events as funnel steps.

You no longer need to create a Mixpanel cohort and sync it just to use Mixpanel data in Userflow.

## Using Userflow data in Mixpanel

Userflow attributes (and event streaming, if you've configured it) sync into Mixpanel and can be used in your Mixpanel dashboards, cohorts, and analyses alongside Mixpanel-native data.

## Logs

After the integration is connected, the Logs tab shows event streaming and sync activity. Use it to confirm data is moving and troubleshoot delivery issues.

## Troubleshooting

**Mixpanel events aren't appearing in Userflow segments.**

- Confirm the **Mixpanel event sync** toggle is on and the event is selected in your sync list.
- Check the Logs tab for ingestion errors.
- Verify the Mixpanel event name matches exactly — Mixpanel event names are case-sensitive.
- New imports can take a few minutes to appear; allow time before troubleshooting further.

**Userflow attributes aren't appearing in Mixpanel.**

- Confirm Object Mapping is configured for User (or Group, as applicable).
- Verify the service account credentials still have write access to the Mixpanel project. (Service account secrets are only viewable at creation — if you've lost the secret, create a new service account and reconnect.)

**The connection shows as disconnected.**

- Service account credentials may have rotated. Reconnect with new credentials.
- The Mixpanel project token may have changed. Update it in the integration settings.

**My Mixpanel project type is unclear (legacy vs. non-legacy).**

- This determines whether the legacy project checkbox in event sync should be on. If you're not sure, contact Mixpanel support — it's a Mixpanel-side property.
