The Messaging and Mobile A/B testing features will be deprecated from the product on January 1st, 2022. Read more information on the Mixpanel blog.
Follow these instructions to unsubscribe users from receiving Mixpanel email messages.
Manually unsubscribe a single user
1) Find the user you wish to unsubscribe from all Mixpanel email messages in the Explore section and click into their profile.
2) Click the + next to "properties" on the right hand panel.
3) Add the property name: $unsubscribed
Mixpanel will exclude any user with an $unsubscribed property set on their profile from all email messages.
4) Add property value: To align your tracking with the format used with Mixpanel's default $unsubscribe links, this value should be the date at which the user unsubscribed. See here for more details about setting date properties in Mixpanel. Alternatively, if you are NOT using Mixpanel's default unsubscribe links in any of your messages, you can set this value to anything you choose. As long as the property is set on the profile and not equal to "false", the user will be excluded from receiving emails from your project.
Note: When the $unsubscribed property is set automatically (when a user unsubscribes from a message by clicking an unsubscribe link), it will be set to the timestamp at which the user unsubscribed.
5) Click the checkmark to save the property to the user’s profile.
The user has now been unsubscribed from receiving any future Mixpanel email messages.
Manually re-subscribe a single user
If you need to manually remove the $unsubscribed property from a user profile, effectively re-subscribing the user, hover over the property in their user profile and click the trash can icon.
Manually unsubscribe users in bulk via CSV
1) Create a spreadsheet with a column for the $distinct_id values for the users whose profiles you’re updating.
The values of this $distinct_id column must match the $distinct_id of the users in your project for whom you’re uploading this property. If they don’t match, you’ll import new, duplicate profiles instead of adding the $unsubscribed property to your users with existing profiles. Need to grab your users’$distinct_id values in bulk? Export your user profiles so you can grab them all at once.
2) Add a second column with the value you’d like to assign to the $unsubscribed property. The values you enter for each user here can be whatever you’d like - for example, you can enter “True” or enter the date that you’re importing them as unsubscribed if you want to keep track of when they stopped subscribing.
3) Once you have one column containing the $distinct_id values of all users you’re updating and one column with the value you’d like for $unsubscribed, remove all other columns, and make sure you do not have any column headers. You should be left with something that looks like this, depending on what your project’s $distinct_id values look like:
4) Save your spreadsheet as a CSV.
5) In your Mixpanel project, go to the Explore report and click Create a new profile, and select the CSV you have created.
6) Enter your column headers as $distinct_id and $unsubscribed.
The column headers must be entered exactly as $distinct_id and $unsubscribed to upload correctly (i.e., distinct_id, $unsubscribe, and unsubscribed will not work).
7) Click Create profiles.
Unsubscribe users in bulk via API
Mixpanel provides an API module to make it easy to delete your profiles. For a quick jump directly to the People method that will let you update profiles with an $unsubscribed property - you can head here.
It's also possible to unsubscribe users in bulk via the API by generating a request to the http://api.mixpanel.com/engage/ API endpoint with all of the relevant user information. The reason you might do this is to add additional meta parameters to your request, as well as for ease of use sending data directly from your server.
The request would be similar to the request which can be seen in the export directions detailed here; if you need additional help unsubscribing in bulk via the API, please contact us.