Migrate From Mixpanel
The Amplitude Professional Services team compiled this guide to help you migrate from Mixpanel and start getting insights quickly.
Customer case study
Learn how Whisk migrated from Mixpanel to Amplitude on the Amplitude Blog.
Import Mixpanel historical data
Amplitude offers two options to migrate historical data from Mixpanel:
- The Mixpanel import tool: Best for sending historical event data quickly.
- The Batch Event Upload API: Best for sending historical data, including events and user profile properties, at scale.
Mixpanel import tool
With your Mixpanel project's API key or service account credentials, this tool uses Mixpanel's Export API to export event data from Mixpanel and import it to your Amplitude project.
Limitations
- The tool processes about 160,000 events per batch.
- The tool doesn't support User Profile imports. To import user profile information, use one of the following options:
- Export your data from Mixpanel with the Mixpanel Export and Engage APIs, and import it to Amplitude with the Batch Event Upload API.
- Contact Amplitude Support or your Amplitude account manager to get custom services from Amplitude's Professional Services team.
Troubleshooting
If the import tool responds with an authentication error:
- Confirm you provide the correct authentication to the Mixpanel import tool.
- If you use your Mixpanel project's API key, reference the correct project. Each project in Mixpanel has its own API key.
- If you use a Mixpanel service account, enter the credentials as follows:
| Service account value | Amplitude field |
|---|---|
| Username | The username field in the import tool |
| Password | The API Key field |
| Project ID | The Project ID field |
- If you don't have the username and password for your Mixpanel project's service account, create a new service account for your project and copy the values.
- Confirm your Mixpanel service account has permission to access the information you need. Test your credentials with Mixpanel's Download Data page. If the page responds with a
200status, your service account has the necessary permissions.
If the import tool doesn't complete or responds with a generic error:
- The data set may be too large to process. Try again with a narrower time range, aiming for no more than ~160,000 events per batch.
If the tool imports fewer transactions than expected:
- Amplitude detects and excludes duplicate events. If your data contains many duplicates, Amplitude imports fewer events than expected.
- Some Mixpanel events may not be compatible with Amplitude events because of missing information. If your Mixpanel instrumentation doesn't capture fields like
name,date, ordevice ID, Amplitude may not import those events.
Amplitude Batch Event Upload API
Export your data from Mixpanel through the Mixpanel API and upload it to Amplitude with the Batch Event Upload API. If you host your data in another external source, you can also use the batch endpoint to upload data to Amplitude.
Professional Services
To get custom services from the Amplitude Professional Services team, contact your Amplitude account manager.
Plan new Amplitude tracking from Mixpanel
Set product goals
Before you start implementation, confirm that stakeholders and team members agree on what you want to get from the data and which use cases to focus on.
Common use cases by industry
Goal: Understand product engagement.
Key points:
- See how your users convert through critical funnels: acquisition (free trial, sales, partner, POC), onboarding, activation, workflow, cross-sell/upsell funnels.
- Target the right customers at the right time to move them through a critical funnel.
- Find patterns in the way your customers move through key milestones (acquisition, onboarding, activation, renewal).
- Understand different customer segments’ use and adoption to define key personas based on use cases and needs.
- Optimize your product experience to target different customers personas needs and make them more successful.
Design and instrument a data taxonomy
- Review the Mixpanel to Amplitude Taxonomy workbook, built from common use cases of Amplitude customers who migrated from Mixpanel.
- For broader taxonomy guidance, refer to the Data Taxonomy Playbook.
Choose an instrumentation method
You can send data to Amplitude client-side, server-side, or through a third party. Use the following options based on where you track events:
- Client-side event tracking: use the Amplitude SDK Catalog. Reference the Amplitude mapping to replace your existing instrumentation.
- Server-side event tracking: use the Amplitude HTTP API.
Map Mixpanel methods to Amplitude methods
The mapping between Mixpanel and Amplitude tracking and identification methods depends on the type of data.
Event tracking
- Mixpanel tracks events with the
'mixpanel.track()'method, which takes an event name and a set of properties. - Amplitude tracks events with the
'amplitude.getinstance().logEvent()'method, which takes an event name and a set of properties as a JSON object.
Property tracking
Mixpanel super properties attach to all subsequent events. Amplitude user properties function similarly: after you set them, they attach to all subsequent events that Amplitude ingests.
- In Mixpanel, set super properties with the
'mixpanel.register()'method. - In Amplitude, update user properties with the
'amplitude.identify()'method.
User identification
- Mixpanel identifies a user with the
'mixpanel.identify()'method, using a combination ofdistinct_id(a randomly generated identifier on a specific platform) anduser_id(set by the instrumenting team). - Amplitude identifies a user with the
'amplitude.identify()'method, using a combination ofdevice_id(a randomly generated identifier on a specific platform) anduser_id(set by the instrumenting team).
For more on how Amplitude resolves user identities, refer to Track unique users.
Data privacy considerations
Consider the following features and areas when managing your customer data:
- Time to Live (TTL): Amplitude feature that controls how long event data lives in your Amplitude instance.
- How to manage Opt-Outs: SDK settings that let your website visitors disable activity tracking.
- IP Address: Amplitude captures IP address and location-based details by default with client-side tracking. To disable this tracking, refer to Browser SDK | Optional Tracking.
- User Privacy API: API to delete all data for a set of known Amplitude IDs or User IDs.
- Amplitude's Stance on Security & Privacy
GDPR compliance
Amplitude is fully GDPR compliant. For more information about compliance, refer to Security and Privacy.
Amplitude maintains a user privacy API that lets you service end user data deletion requests.
Feedback or questions
To submit feedback or questions about this implementation guide, use this form.
Was this helpful?