Each week, Mixpanel will release articles from our archives to help you get the most out of Mixpanel. Follow the Topic Tag #fromthearchive to subscribe to these posts and get alerted when they drop.
Mixpanel Messages are automatically set up to be delivered only once to a user for a given campaign with the exception of in-app messages, which are delivered once per device token stored on the profile.
If users are receiving your 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?). If you are creating profiles with different distinct_ids, and those profiles have the same information (like email or phone number), the message will de-duplicate across deliveries.
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 support 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.