Mixpanel Messages are automatically set up to be delivered only once to a user for a given campaign with the exception of push notifications, which are delivered once per device token stored on the profile. Learn more about users receiving multiple push notifications.
If users are receiving your email, SMS, or in-app messages more than once, it’s likely you have duplicate profiles stored. Mixpanel determines unique users by distinct_id (what is distinct_id?). So if you are creating profiles with different distinct_ids, even if they have the same information (like email or phone number), the profiles will be separate and will each receive a message if targeted.
Debug duplicate profiles
Confirm that you have duplicate profiles by searching for users’ emails, names, or phone numbers in Explore or by sorting by name/email.
Duplicate profiles can result from identifying users by device id's, and inadvertently creating multiple profiles when a user switches devices (i.e., they use your product on the web and also on their phone, but have different distinct_ids on each). Learn how to use alias and identify to make sure user identity stays consistent.
If you’re already using the alias method, you still could be creating duplicate profiles during the user’s initial session by sending a property update with the alias id before the alias table has had a chance to update on Mixpanel's side. To avoid this race condition, it is best practice to call identify on the original, anonymous ID right after you’ve aliased it. That way, all the profile updates will be sent to the correct profiles with the same distinct id if it gets to Mixpanel before the alias is finished writing in the lookup table.
If you’re not able to find the source of your duplicate profiles, please reach out to email@example.com for additional help, and include a summary of how you’re using alias and identify in your email.
Clean up duplicate profiles
We recommend identifying the source of the duplicate profiles before cleaning them up and removing the duplicates so that you only have to perform cleanup once.