Mixpanel supports individuals’ right to control their personal information. Tools are available to Mixpanel users that help end users access their own data. This includes the ability to specify whether or not end user data is collected by default, and the ability to opt users out of Mixpanel tracking at any time.
It is important to consider how to manage the opt-out state of users across platforms when designing a tracking implementation. While Mixpanel provides the tools necessary to control a users’ opt-out state, proper design can maximize the number of users consenting to tracking while respecting individuals right to control their personal information.
Opt Users Out of Tracking
Client Side Implementations
It is possible to manage opt-out state of end users in Mixpanel’s client side libraries through the use of Mixpanel opt-out methods.
No data will be sent for users from a particular Mixpanel instance that has a local opt-out state of “true.” Use Mixpanel opt-out methods to toggle the opt-out state for a particular user either to “true” (data is not tracked) or "false" (data is tracked).
Mixpanel opt-out methods control data that is sent out from a particular tracking implementation located on an end-user’s device. In order to prevent data from a particular user being sent to Mixpanel, that user must be opted out of tracking on every platform from which data is sent (i.e. from a mobile device and a web browser).
You can read more details about how to opt individual users out of tracking in Mixpanel’s developer documentation:
Server Side Implementations
The exact conditions under which data is sent to Mixpanel server-side is custom configured by the developer of a server side implementation. Controlling an end user’s opt-out state must be built into the tracking logic. The implementation developer should configure Mixpanel data collection methods so that they run only when data should be sent to Mixpanel.
An "$opt_in" event is created by default whenever a user opts into tracking. This event is tracked with the default Mixpanel properties.
It is possible edit the properties that send with an "$opt_in" event. View the developer documentation for additional information on configuring opt out methods.
Best Practices for Managing Cross-Platform Opt Out States
It is important to manage the opt-out state of one user across devices if Mixpanel is implemented using multiple platforms. General guidelines to help manage a user’s opt-out state on a multiple platform Mixpanel implementation include:
- Set up a single source of truth for a user’s opt-out state. It is important to update all Mixpanel instances to reflect a user’s current opt-out state. All changes should be made based on a single point of reference that stores the user’s opt-out preference.
- Flush the tracking queues on the user’s device to send previously-collected data to Mixpanel before setting a user’s opt-out state. This will allow you to collect data cached on the device before a user opts out.
- Unsubscribe users from emails or other messages before opt-out.
- Delete the user profile after opt-out.
"Do Not Track" Settings
Mixpanel toggles tracking according to "Do Not Track" (DNT) settings in web browsers. If the DNT setting is set, then Mixpanel won’t collect information from that Mixpanel instance.
DNT settings apply to a particular browser instance -- moving to a different browser that does not have DNT configured may cause data to be collected. In addition, DNT applies to web tracking only -- data may be collected and sent to Mixpanel on mobile apps or other platforms that run Mixpanel outside of a DNT-configured web-browser. These platforms must be configured by the platform developer with logic to opt-users out of tracking using the opt out methods outlined above.