Skip to main content
Integrate OneSignal with Mixpanel to enable real-time, behavior-based targeting across push, in-app, email, and SMS. This app-level integration supports two data flows:
  • Message events → Mixpanel: Track delivery, clicks, failures, and more for all channels.
  • Cohorts → OneSignal: Sync behavior-based Mixpanel cohorts as targeting filters in OneSignal.
Mixpanel currently does not send Custom Events to OneSignal. If you need to route Mixpanel events into OneSignal, use a third-party connector like Vendo.

Requirements

This integration does not create Users. It maps Users in Mixpanel to existing Users in OneSignal by matching identifiers.

Setup

Add Mixpanel to OneSignal (Outbound)

Sends OneSignal message events into your Mixpanel project.
  1. In OneSignal, navigate to Data > Integrations > Mixpanel and click Activate.
OneSignal Integrations page with Mixpanel selected

In Mixpanel

  1. Find your Project Token then copy-paste it into OneSignal.
  2. Check your Data Residency. If using Mixpanel’s EU servers, check the Send events exclusively to Mixpanel’s EU Residency Server box.

Select message events

Select which OneSignal message events you want to send to Mixpanel. When finished, click Activate.
OneSignal Mixpanel integration settings showing event selection

Add OneSignal to Mixpanel (Inbound)

In your Mixpanel Integrations, add OneSignal.
Mixpanel integrations catalog with OneSignal selected
Set the Connector Name as something identifiable like OneSignal - APP_NAME where APP_NAME is the name of the app in OneSignal. You will need the following data available in OneSignal Settings > Keys & IDs:
  1. App ID
  2. API Key

User ID mapping

This step is essential for cohort syncing and event tracking to work properly.
The External ID in OneSignal must match a Mixpanel User ID Property you select (e.g., user_id). Verify this property is populated in both systems — cohort syncing and event tracking depend on an exact match.
Mixpanel OneSignal connector settings showing User ID property selection
Verify the User ID Property you selected is available in your Mixpanel user profile properties.
Mixpanel user profile properties list
The same value in Mixpanel for the user profile property must match the External ID in OneSignal.
OneSignal user profile showing External ID
If you match Users to OneSignal based on the Mixpanel $distinct_id, only the top value will match.In the example below, only 890ea9b1-9024-4fb9-a92f-152ba67dd21a will work. It cannot match 109768518080488203109 or $device:1880c06821f1b3-052354675cde95-1d525634-1fa400-1880c06821f1b3.
Mixpanel Distinct ID example showing multiple values
Click Continue when finished. You should now be able to export cohorts from Mixpanel to OneSignal and collect message events from OneSignal to Mixpanel.

Export Mixpanel cohorts to OneSignal

Sync Mixpanel cohorts to OneSignal using the matching External ID configured above. Exporting does not create Users — each User must already exist in OneSignal.
  1. In Mixpanel, create a cohort.
  2. Click Options > Export to… > The OneSignal Connection name.
Mixpanel cohort export menu with OneSignal destination
  1. Choose sync frequency and press Begin Sync.
Mixpanel cohort sync frequency selection dialog

OneSignal Segment creation

The synced cohort appears as a Mixpanel Segment filter. OneSignal automatically creates a Segment for the cohort if:
  • The Users in the Mixpanel cohort also exist in OneSignal with a matching External ID.
  • You have not exceeded your Segment limit in OneSignal.
Mixpanel requires at least one matching User to create a Segment in OneSignal. Once the Segment is created, it will remain in OneSignal even if the cohort later has no Users. In that case, the Segment shows as empty until Users are added again.
OneSignal Segment builder using Mixpanel Cohort filter

Track message events in Mixpanel

OneSignal sends the following message events to Mixpanel in real time. Select which events to send in Data > Integrations > Mixpanel. To test, send yourself a message from OneSignal, then navigate to your user profile page in Mixpanel. Within the Activity Feed, you should see the events populate.
Mixpanel user activity feed showing OneSignal message events

Message events

Message Event Kind (OneSignal)Message Event Name (Mixpanel)Event Description
Push SentMessage SentPush notification successfully sent
Push ReceivedMessage ReceivedPush notification successfully received
Push ClickedApp Opened from PushPush notification touched on device
Push FailedPush FailedPush failed to be sent. Check the failed message report in OneSignal.
Push UnsubscribedPush UnsubscribedThe Subscription unsubscribed from push.
In-App ImpressionMessage SentIn-App Message successfully displayed on device
In-App ClickedMessage OpenedIn-App Message clicked on device
In-App Page DisplayedIn-App Page DisplayedIn-App Message page is displayed
Email SentMessage SentEmail successfully sent
Email ReceivedMessage ReceivedEmail received by recipient
Email OpenedMessage OpenedEmail opened by recipient
Email Link ClickedApp Opened from PushEmail link clicked on
Email UnsubscribedEmail UnsubscribedEmail unsubscribed by recipient
Email Reported As SpamEmail Reported as SpamEmail reported as spam by recipient
Email BouncedEmail BouncedEmail returned to sender due to permanent error
Email FailedEmail FailedCould not deliver the email to the recipient’s inbox
Email SuppressedEmail SuppressedThe email address is on your suppression list. Either it bounced or marked your emails as spam.
SMS SentMessage SentSMS sent to recipient
SMS FailedSMS FailedSMS failed to send
SMS DeliveredMessage ReceivedSMS successfully delivered
SMS UndeliveredSMS UndeliveredThe SMS could not be sent.

Event properties

Every event sent from OneSignal to Mixpanel includes these properties:
PROPERTY NAMEDESCRIPTION
Distinct IDThe external_id associated with the message
Message IDThe identifier of the discrete message
Message NameThe message name
Message TitleThe message title
Message ContentsThe message contents
message_typeThe type of message sent, push, in-app, email, SMS
template_idThe message template used (API and Journey Messages)
subscription_idThe OneSignal set device/email/sms identifier
device_typeThe device type that received the message
languageThe two-character language code of the device
sourceonesignal (is indicated as the source for all events)
Delivery counts may differ between Mixpanel and OneSignal. See Why doesn’t delivery data match? for details.

Custom events (third-party)

The Mixpanel integration does not natively support sending custom events from Mixpanel to OneSignal. Unlike Amplitude, there is no built-in event destination from Mixpanel to OneSignal. If you need to route Mixpanel behavioral events into OneSignal as custom events to trigger Journeys or Segments, you can use a third-party connector like Vendo. Vendo streams selected Mixpanel events to OneSignal as custom events for campaign triggering.

FAQ

Why don’t my cohort and segment counts match?

  1. Missing or mismatched External IDs Only Users with a matching OneSignal External ID and Mixpanel User ID are included. This integration does not create Users or Subscriptions.
  2. Unsubscribed Users OneSignal Segments only display the count for subscribed Subscriptions. Unsubscribed Subscriptions are available for Journeys or In-App Messages.
For example, if a Mixpanel cohort has 10 users but the OneSignal segment shows 8 Subscriptions, the 2 missing Users may:
  • Not exist in OneSignal or have an incorrect External ID.
  • Have unsubscribed Subscriptions.
To verify, check the Audience > Users tab in OneSignal to see if the Users exist and have active Subscriptions.

Do unsubscribed Users sync from Mixpanel?

Yes, but they are excluded from the OneSignal segment counts at this time. You can still message them via Journeys or In-App Messages if they have other Subscriptions or their Subscription type supports it.

Why doesn’t delivery data match?

A single User may have multiple Subscriptions (push devices, email addresses, phone numbers). Each Subscription generates its own delivery event. For example:
  • 1 user = 2 Android + 1 iOS + 2 Web = 5 push Subscriptions
  • 1 push message = up to 5 sent/received/clicked events
Use the subscription_id in event properties to trace the exact source. To troubleshoot missing events:
  • Ensure OneSignal.login is called whenever a user is identified to set the External ID.
  • Verify that OneSignal.logout isn’t removing the External ID.
  • Check API requests or CSV uploads that may alter the External ID.

Can I send custom events from Mixpanel to OneSignal?

Not natively. The Mixpanel integration supports message events (OneSignal → Mixpanel) and cohort syncing (Mixpanel → OneSignal), but does not include a built-in custom event destination. To route Mixpanel events into OneSignal as custom events, use a third-party connector like Vendo.

How can I send user/subscription events?

User and subscription-level events (e.g., permission granted, user login/logout) are not automatically sent. The OneSignal SDK has event listeners that can be used to track these events for you to send to Mixpanel:

Analytics overview

Overview of OneSignal analytics, delivery metrics, and event tracking.

Custom events

Track User actions to trigger Journeys or power analytics.

Need help?Chat with our Support team or email support@onesignal.comPlease include:
  • Details of the issue you’re experiencing and steps to reproduce if available
  • Your OneSignal App ID
  • The External ID or Subscription ID if applicable
  • The URL to the message you tested in the OneSignal Dashboard if applicable
  • Any relevant logs or error messages
We’re happy to help!