Target Users Based on Prior Messaging

The Messaging and Mobile A/B testing features are not available for purchase and will be deprecated from the product on January 1st, 2022. Read more information on the Mixpanel blog.

Mixpanel allows you to target users with new messages based on whether or not they’ve opened a previous email or push notification.It's best to use the user message property to target messages based on prior messages received (or not received). Using the message sent event could result in inaccurate targeting due to race conditions. This type of tracking can be done as long as:

  • The previous message was sent within the last 90 days. 
  • You've successfully tracked the open rate on the previous email or push notification.
    • If you’re not already tracking email open rates, you can do this by clicking the "Track email open rate" button when creating your email. Read our guide on tracking email open rates.
    • Push notification open rates will be tracked by default for versions 3.1.9 (Objective C), 2.1.9 (Swift), and 4.9.5 (Android), meaning any SDK below this will require an upgrade. For Android, tracking also requires your app to use Ice Cream Sandwich or above (API 14+). Read our guide on tracking push notifications.

It is not possible to target users based on whether or not they’ve opened a previous SMS or webhook, since open rates for these message methods are not available. 

Create a New Message

Creating a message filtered by previously sent messages does not differ from creating any other message in Mixpanel. In order to build a message from within a Mixpanel report:

1. Select Messages found under the "Take Action" dropdown.


2. Select Create Message and select the message type.


3. Create a message. Ensure that "Track email open rate" is selected.


Target New Message

Sending a new message according to the open status of previously sent messages will happen as users are targeted. In order to accurately target users:

1. Filter by the "Message Opened" event.

2. Send the message to all users who who did open an email by selecting "was performed". Send the message to all users who did not open the email by selecting "was not performed".


3. Select the desired time frame.

4. Filter the message by event properties by clicking the plus to the right of the selection fields. 


4. Select the "Message" property. Filter by the name of your previously sent email. 


Adjust the Delivery Settings

The delivery settings must be specified after building the email. This message can be sent immediately or later, and can be delivered as a one-time message or as a recurring message.

You can use a cohort to send a message at a specific time after a previous message event, rather than within a certain time frame. For example, if you want to send a message exactly one day after the “Message Sent” event was triggered you can configure the cohort like the following example:


The cohort in the image above will send the second message exactly one day after the first message is sent. 

Best Practices

If your plan is to target users who did not open one email and send them the same email again, you’ll want to protect your domains reputation and reduce the risk of messages being flagged as spam by making changes to both the subject line and body of the new message. Sending the exact same email multiple times to the same user could possibly reduce inbox placement and deliverability.

Did this answer your question?



Article is closed for comments.