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:Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
- Message events → Mixpanel: Track delivery, clicks, failures, and more for all channels.
- Cohorts → OneSignal: Sync behavior-based Mixpanel cohorts as targeting filters in OneSignal.
Requirements
- Mixpanel Account
- OneSignal Paid Plan
- OneSignal app with Users and External ID set.
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.Open the integration in OneSignal
In OneSignal, navigate to Data > Integrations > Mixpanel and click Activate.

Add your Mixpanel project token
In Mixpanel, find your Project Token and paste it into OneSignal.
Set your data residency
Check your Data Residency. If you use Mixpanel’s EU servers, check the Send events exclusively to Mixpanel’s EU Residency Server box.
Add OneSignal to Mixpanel (Inbound)
Sends Mixpanel cohorts into OneSignal as Segment filters.Name the connector
Set the Connector Name to something identifiable like
OneSignal - APP_NAME, where APP_NAME is your OneSignal app name.Add your OneSignal credentials
Enter the App ID and API Key from your OneSignal app’s Settings > Keys & IDs page.
User ID mapping
The OneSignal External ID must match the Mixpanel User ID Property you select (for example,user_id). Cohort syncing and message event tracking only work when this mapping is exact.
Select the User ID Property in Mixpanel
In the Mixpanel OneSignal connector, choose the User ID Property that holds the same value as the OneSignal External ID.

Confirm the property exists on Mixpanel user profiles
Open Mixpanel > Users and verify the User ID Property you selected appears in user profile properties.

Click Continue when finished. You can now export cohorts from Mixpanel to OneSignal and collect message events from OneSignal in 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.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.
OneSignal requires at least one matching User to create the Segment. After creation, the Segment remains in OneSignal even if the cohort later has no Users — it shows as empty until matching Users are added again.

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.
Message events
Push
| Message Event Kind (OneSignal) | Message Event Name (Mixpanel) | Event Description |
|---|---|---|
| Push Sent | Message Sent | Push notification successfully sent. |
| Push Received | Message Received | Push notification successfully received. |
| Push Clicked | App Opened from Push | Push notification tapped on device. |
| Push Failed | Push Failed | Push failed to send. Check the failed message report in OneSignal. |
| Push Unsubscribed | Push Unsubscribed | The Subscription unsubscribed from push. |
In-app
| Message Event Kind (OneSignal) | Message Event Name (Mixpanel) | Event Description |
|---|---|---|
| In-App Impression | Message Sent | In-app message successfully displayed on device. |
| In-App Clicked | Message Opened | In-app message clicked on device. |
| In-App Page Displayed | In-App Page Displayed | In-app message page displayed. |
| Message Event Kind (OneSignal) | Message Event Name (Mixpanel) | Event Description |
|---|---|---|
| Email Sent | Message Sent | Email successfully sent. |
| Email Received | Message Received | Email received by recipient. |
| Email Opened | Message Opened | Email opened by recipient. |
| Email Link Clicked | App Opened from Push | Email link clicked. |
| Email Unsubscribed | Email Unsubscribed | Email unsubscribed by recipient. |
| Email Reported As Spam | Email Reported as Spam | Email reported as spam by recipient. |
| Email Bounced | Email Bounced | Email returned to sender due to a permanent error. |
| Email Failed | Email Failed | Could not deliver the email to the recipient’s inbox. |
| Email Suppressed | Email Suppressed | The email address is on your suppression list. Either it bounced or marked your emails as spam. |
SMS
| Message Event Kind (OneSignal) | Message Event Name (Mixpanel) | Event Description |
|---|---|---|
| SMS Sent | Message Sent | SMS sent to recipient. |
| SMS Failed | SMS Failed | SMS failed to send. |
| SMS Delivered | Message Received | SMS successfully delivered. |
| SMS Undelivered | SMS Undelivered | The SMS could not be sent. |
Event properties
Every event sent from OneSignal to Mixpanel includes these properties:| PROPERTY NAME | DESCRIPTION |
|---|---|
| Distinct ID | The external_id associated with the message |
| Message ID | The identifier of the discrete message |
| Message Name | The message name |
| Message Title | The message title |
| Message Contents | The message contents |
| message_type | The type of message sent, push, in-app, email, SMS |
| template_id | The message template used (API and Journey Messages) |
| subscription_id | The OneSignal-assigned device, email, or SMS identifier |
| device_type | The device type that received the message |
| language | The two-character language code of the device |
| source | onesignal (is indicated as the source for all events) |
FAQ
Why don’t my cohort and segment counts match?
- 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.
- Unsubscribed Users OneSignal Segments only display the count for subscribed Subscriptions. Unsubscribed Subscriptions are available for Journeys or In-App Messages.
- Not exist in OneSignal or have an incorrect External ID.
- Have unsubscribed 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
subscription_id in event properties to trace the exact source.
To troubleshoot missing events:
- Ensure
OneSignal.loginis called whenever a user is identified to set the External ID. - Verify that
OneSignal.logoutisn’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. Unlike Amplitude, Mixpanel has no native OneSignal events destination. To route Mixpanel behavioral events into OneSignal as custom events that trigger Journeys or Segments, 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:- User State Observer: Mobile SDK, Web SDK
- Permission Observer: Mobile SDK, Web SDK
Related pages
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





