Mixpanel makes analytics self-serve for your product teams and enables everyone to answer questions around user conversion, retention and activation.
The Mixpanel Integration with MoEngage consists of two parts -
Cohort Sync from Mixpanel to MoEngage:
This integration allows you to export cohorts in Mixpanel to Moengage and send personalized campaigns to all the users under this cohort from MoEngage.
Streaming MoEngage Events to Mixpanel
This integration allows you to export the campaign interaction events generated after your users engage with the MoEngage campaigns to Mixpanel.
How can this integration help you?
The Mixpanel - MoEngage Integration will allow you to leverage the advanced cohorts that you have in Mixpanel and target them through one of the Moengage campaigns directly and also see the campaign events from MoEngage in your Mixpanel cohorts / analytics views.
Below are a few use-cases where the integration can add a lot of value to your analytics + user engagement activities -
- E-commerce: Understand the seasonal changes in purchase trends that are happening and send rich push notifications to such users via MoEngage. For example, target the cohort of users who purchase high value items during summers and send the rich push notifications with similar recommended items.
- Travel: You can create a cohort in Mixpanel of millennial users who are also premium users of your app and send them popular and unique holiday destination recommendations via MoEngage emails.
- E-learning: Understand where your users are dropping off while watching a video series on your platform and bring them back with engaging campaigns! Through insights into user behavior, you are armed with a holistic picture of exactly what actions can trigger a user to return to the app.
Enabling Mixpanel <> MoEngage Integration for your account.
- Cohort Sync from Mixpanel to MoEngage: This integration will be listed in your Mixpanel account now and you can go to your Mixpanel dashboard and enable this.
- Exporting Campaign Events from MoEngage to Mixpanel: To do this, you need to reach out to your MoEngage Customer Success Manager or write a note to firstname.lastname@example.org with a few details mentioned in the next sections.
Setting up MoEngage integration on Mixpanel
To setup MoEngage Integration on Mixpanel, follow the below steps:
Step 1: Login to Mixpanel and navigate to Data Management -> Integrations
Step 2: On the Integrations page, search MoEngage and click on the CONNECT button. You will see a pop-up to enter the MoEngage credentials as shown below -
The fields in the pop-up are:
- USERNAME: This is the Data API ID available on MoEngage dashboard.
- PASSWORD: This is the Data API Key available on MoEngage dashboard.
- MOE-APPKEY: This is the App ID available on MoEngage dashboard.
- MOENGAGE DATACENTER: This is the MoEngage data center that you signed with you on MoEngage. To find out the data center that you signed up with, please refer this article.
Step 3: Find MoEngage App Id, Secret Key and Data Center on the MoEngage Dashboard. Login to your MoEngage Dashboard and navigate to Settings -> API Settings. Pick up the Data API ID and Data API Key as shown in the below image -
Step 5: Complete the Integrations Setup:
After configuration on the Mixpanel dashboard, click save on continue to connect MoEngage as an integration.
Exporting Cohorts from Mixpanel to MoEngage
To export specific cohorts from Mixpanel to MoEngage, please follow the below steps:
Step 1: Go to the cohorts page on Mixpanel dashboard as shown below -
Step 2: Click on the three dots menu on the right-hand side of any cohort that you want to export to MoEngage. Once you click here, you will see an option to export this cohort to MoEngage.
Step-3: Click on the export to MoEngage option. A pop-up will open up with the below options
Select any one of the following options:
- One-time export: This will only export the users under the cohort to MoEngage once and the cohort will not sync thereafter.
- Dynamic sync: This option will ensure that the updated information of the cohorts like the new users who qualify for this cohort and the existing users who are removed from the cohort are sent to MoEngage every 15 minutes.
Step-4: You can check the export status after you export the cohort as shown below -
Using Cohorts in MoEngage Campaigns
Once an export is complete, you would be able to see the cohort as a custom segment in MoEngage like below -
The custom segment can be used in any MoEngage campaigns to send personalized messages to the users under this segment.
Exporting Campaign Data from MoEngage to Mixpanel
Please send an email to your MoEngage Customer Success Manager or to email@example.com with the below details -
- Integration Name - Mixpanel
- Mixpanel project token - This is available on your Mixpanel Dashboard -> Settings -> Overview -> Access Keys -> Project Token as shown below -
- (Optional) Additional events, user attributes or device attributes that you want to see with each event in Mixpanel. By default, MoEngage will be sending the data points mentioned in the next section to Mixpanel.
Following data points will be sent by default to Mixpanel:
|Event Name||Event Code||Type (for reference only)||Channel||Description|
|Card Sent||n_c_s||Delivery||Cards||Tracked when a Card notification is sent to the user, doesn't indicate if the notification is delivered to the App Inbox|
|Card Delivered||MOE_CARD_CAMPAIGN_DELIVERED||Delivery||Cards||Tracked when a Card is delivered to the App Inbox, after the user has opened the Inbox|
|Delivery||Cards||Tracked when the user views a Card or scrolls down to it in the App Inbox|
|Interaction||Cards||Tracked when the user clicks the Card in the App Inbox|
|Connector Sent||MOE_CONNECTOR_SENT||Delivery||Connector||Tracked when a connector was sent successfully.|
|Email Sent||MOE_EMAIL_SENT||Delivery||Tracked when our system sends an email to a user.|
|Email Deferred||MOE_EMAIL_DEFERRED||Delivery||Tracked when the receiving server is unable to accept your request, email sending will be re-tried in this case|
|Email Delivered||MOE_EMAIL_DELIVERED||Delivery||Tracked when an email is delivered in an inbox|
|Email Dropped||MOE_EMAIL_DROP||Delivery||Tracked when a user opens an email.|
|Delivery||Tracked when a user clicks on any link in the email.|
|Email Soft Bounced||
|Delivery||Tracked when an email is dropped. Email is dropped, when it's part of the bounce list, the unsubscribe list or the spam report list.|
|Email Opened||MOE_EMAIL_OPEN||Interaction||Tracked when our system finds an email is soft bounced. Typically happens when there is a temporary delivery issue.|
|Email Clicked||MOE_EMAIL_CLICK||Interaction||Tracked when our system finds an email is hard bounced. Typically happens when email address doesn't exist.|
|Interaction||Tracked when a user marks the email as spam.|
|MOE_EMAIL_SPAM||Interaction||Tracked when a user unsubscribes from receiving emails.|
|IN_APP_SHOWN||Interaction||In-App||Tracked when an In-App message is shown to the user on Android device.|
|IN_APP_CLICKED||Interaction||In-App||Tracked when a user clicks In-App message on Android device.|
|IN_APP_CLOSE_CLICKED||Interaction||In-App||Tracked when a user dismisses In-App message by clicking on close button on Android device.|
|In-App Shown iOS||iOS_IN_APP_SHOWN||Interaction||In-App||Tracked when a In-App message is shown to the user on iOS device.|
|In-App Clicked iOS||iOS_IN_APP_CLICKED||Interaction||In-App||Tracked when a user clicks In-App message on iOS device.|
|In-App Closed iOS||
|Interaction||In-App||Tracked when a user dismisses In-App message by clicking on close button on iOS device.|
|MOE_IN_APP_SHOWN||Interaction||In-App V3||Tracked when a user is shown an in-app version 3 campaign|
|MOE_IN_APP_CLICKED||Interaction||In-App V3||Tracked when a user clicks an in-app version 3 campaign|
|MOE_IN_APP_DISMISSED||Interaction||In-App V3||Tracked when a user closes an in-app version 3 campaign|
|Notification Received Android||NOTIFICA TION_RECEIVED_MOE||Delivery||Push||Tracked when a user receives a notification on an Android device.|
|Notification Clicked Android||NOTIFICA TION_CLICKED_MOE||Interaction||Push||Tracked when a user clicks notification on an Android device.|
|Notification Sent iOS||n_i_s||Delivery||Push||Tracked when a user receives a notification on an iOS device.|
|Delivery||Push||Tracked when App in foreground and user receives the notification on iOS.|
|Notification Clicked iOS||
|Interaction||Push||Tracked when a user clicks notification on an iOS device.|
|Delivery||Push||Tracked when a user receives a notification on a browser.|
|Interaction||Push||Tracked when a user clicks notification on the browser.|
|Interaction||On-site||Tracked when an on-site messaging campaign is shown to a user|
|Interaction||On-site||Tracked when an on-site messaging campaign is clicked by a user|
|Interaction||On-site||Tracked when an on-site messaging campaign is closed by a user|
|Web Personalization Message Shown||
|Interaction||Web Personalization||Tracked when a web personalization campaign is shown to a user|
|Web Personalization Message Clicked||
|Interaction||Web Personalization||Tracked when a web personalization campaign is clicked by a user|
|Web Personalization Message Closed||
|Interaction||Web Personalization||Tracked when a web personalization campaign is closed by a user|
|SMS Sent||SMS_SENT||Delivery||SMS||Tracked when our system sends SMS to a user.|
|SMS Delivered||SMS_DELIVERED||Delivery||SMS||Tracked when our system receives a delivery receipt for the SMS sent to a user.|
|User Entered Flow||USER_ENTERED_FLOW||Delivery||Flows||Tracked when a user falls in the target audience and has qualified for entry in the Flow.|
|User Exited Flow||USER_EXITED_FLOW||Delivery||Flows||Tracked when a user exits from a Stop Cell of the Flow.|
|User Added To Control Group||
|Delivery||All Campaigns||Tracked when a user is added to a control group|
|User Removed From Control Group||
|Delivery||All Campaigns||Tracked when a user is removed from a control group|
|User Removed From Campaign Due to Control Group||
|Delivery||All Campaigns||Tracked when a user is removed from a campaign due to the user being a part of the control group|
Few things to note for the events that will be sent to Mixpanel -
- Along with all events sent to Mixpanel, uid will be present by default. This captures the value of the ID which is present in unique user profile in MoEngage. This is also used to match a user in Mixpanel basis the value of the mixpanel_distinct_id.
- Along with all campaign events, campaign_id, campaign_name, campaign_type, campaign_channel will be present by default
- For all email campaign events, email_id will be present by default as moe_email_id
- For all push campaign events, push_id will be present by default as moe_push_id
- For all sms campaign events, mobile number will be present by default as moe_mobile_number
- For all campaign events, if the campaign is a part of MoEngage Flows, there will be two additional attributes - parent_flow_id and parent_flow_name.
- For all campaigns which have multiple variations / locales, there will be additional attributes - variation_id, locale_id, locale_name
- All events will contain a moengage_user_id by default. This is a moengage internal user identifier and is populated with each event in MoEngage.
- All events which are generated from the mobile app will contain a moengage_device_id which is a moengage internal identifier.
You can also see all the events sent by MoEngage in Mixpanel by filtering basis $source = MOENGAGE
These events will be sent to Mixpanel in near real time and will use the mixpanel distinct_id for mapping user profiles between MoEngage and Mixpanel. Please ensure that you are setting the mixpanel_distinct_id as the unique user id in MoEngage.
User Mapping between Mixpanel and MoEngage
When you are exporting cohorts from Mixpanel to MoEngage, all users in your Mixpanel cohort will be attempted to be mapped with unique user profiles in MoEngage. We will be relying on a unique user identifier that will be present across Mixpanel and MoEngage users for mapping. This identifier will also be used when sending campaign events from MoEngage to Mixpanel.
You need to ensure that you are adding an alias for your Mixpanel distinct_id and that the same identifier is used as ID (unique user id) in MoEngage.