Many Mixpanel reports distinguish individual users as part of its data analysis. Data is therefore sent to Mixpanel with an identifier that represents a unique user’s identity. Some regulations, such as the General Data Protection Regulation (“GDPR”), may not consider this to be truly anonymous tracking. Data that is not truly anonymous is considered personal data or personal information under regulations like the GDPR. Customers may therefore need to have a legal basis to capture this information, such as consent or a legitimate interest. Any uncertainty about whether or not captured data is lawful should be clarified by contacting compliance and legal teams.
While certain Mixpanel reports will not work without the use of unique user identifiers, Mixpanel tracking still can be implemented without unique user identifiers. It is important to consider the implications of using Mixpanel without unique identifiers and how that affects a tracking plan.
Implications of Tracking Truly Anonymous Data
Many Mixpanel reports are dependent on the use of unique identifiers. For this reason, truly anonymous tracking is incompatible with most Mixpanel reports. It is generally recommended to track events with a distinct_id. If tracking an anonymous distinct_id, steps can be taken to ensure that those events do not contain personal information.
Reports that will not work include:
- A/B Testing
Reports that will lose unique count functionality include:
- JQL reports
While truly anonymous tracking does affect most Mixpanel reports, it is still possible to implement truly anonymous Mixpanel tracking. The following strategies for tracking truly anonymous data may be helpful if the implementation is designed for basic analysis of total event counts.
Anonymizing the Distinct_id
By its nature, the distinct_id is not truly anonymous as it connects data to an individual user. There are several ways to alter the distinct_id so that it is truly anonymous.
Send Events Without a Distinct_id
It is possible to send data directly to Mixpanel's HTTP API without a distinct_id. Sending data directly to the API endpoint requires manually building both the HTTP requests and the JSON payload contained within it. This affords flexibility in choosing what data to send to Mixpanel.
It is possible to omit any identifying information, including the distinct_id, in JSON payloads sent via HTTP. User profiles require a distinct_id, so it is important to note that only event data can be tracked anonymously in this way.
Send the Same Distinct_id for All Events
It is possible to replace the randomly generated hash that Mixpanel uses when assigning a distinct_id with a custom unique value. The distinct_id can be truly anonymized by sending the same distinct_id value with all events performed. This means that the distinct_id will be identical for all users, and will not distinguish individuals.
For basic analysis of total events, events can be tracked truly anonymously (without a distinct_id) using Mixpanel’s HTTP API, or by sending a common identifier with each event. With that said, for most user-based analysis, a distinct_id is required.