Skip to main content

Overview

Now that you have Mixpanel installed and tracking events, here are some tips and tricks to help you get the most out of your implementation.

Implementation Best Practices

1. Track Consistently

Establish naming conventions early. Use consistent patterns like “Noun + Verb” (e.g., “Video Played”) or “Verb + Noun” (e.g., “Played Video”) across all events.
Good Examples:
  • Sign Up
  • Video Played
  • Purchase Completed
  • Search Performed
Avoid:
  • signup (inconsistent casing)
  • video_play (inconsistent format)
  • user-purchased-item (too verbose)

2. Choose the Right Tracking Method

Server-Side Tracking

Best for:
  • Critical business events
  • Payment/transaction tracking
  • Server-side operations
  • Most reliable data

Client-Side Tracking

Best for:
  • User interactions
  • Page views
  • Quick prototyping
  • Session replay data
Recommendation: Use server-side tracking for critical events and client-side for user interactions. Learn more in our choosing the right method guide.

3. Add Meaningful Properties

Privacy and Compliance

Implement Opt-Out Tracking

Respect user privacy by implementing opt-out tracking:

Don’t Track Sensitive Data

Never track:
  • Passwords or security credentials
  • Credit card numbers
  • Social security numbers
  • Health information
  • Full IP addresses (unless necessary)

Performance Optimization

1. Use Proxy Servers

Avoid ad-blockers by setting up a proxy:
Learn how to set up a proxy

2. Configure Persistence

For web tracking, use localStorage for better reliability:
Note: localStorage doesn’t support cross-subdomain tracking. Use cookies if you need cross-subdomain support.

3. Batch Events on Mobile

Mobile SDKs automatically batch events. You can also manually flush:

Testing Your Implementation

1. Enable Debug Mode

2. Use Browser Console

Check the browser console for Mixpanel debug output:

3. View Live Events

Use the Events page to see events in real-time:
  1. Click “Live View” to see events as they arrive
  2. Filter by your user ID or device
  3. Verify event properties are correct

Advanced Tips

1. Use Super Properties

Set properties that are included with every event:

2. Track Timing

Measure how long actions take:

3. Implement Funnel Tracking

Track complete user journeys:

Common Pitfalls to Avoid

Start with 5-10 critical events. You can always add more later. Tracking everything makes analysis overwhelming and slows down reports.
Use a consistent naming convention from day one. Changing event names later requires code updates and makes historical analysis difficult.
Always call identify() when users log in. Without it, you can’t track user journeys across sessions or devices.
Always test your implementation in a development environment first. Use a separate Mixpanel project for testing.
Mobile SDKs buffer events for battery life. Call .flush() after critical events or use the track_pageview option.

Useful Resources

SDK Documentation

Complete reference for all Mixpanel SDKs

Property Reference

Learn about default and custom properties

Community Forum

Get help from the Mixpanel community

Support

Contact Mixpanel support team

FAQ

Yes, if you pass track_pageview: true in the mixpanel.init() call, Mixpanel will automatically track a “Page View” event every time a new page is loaded. Learn more here.
If tracking from web, make sure you’ve disabled ad blockers and your Do Not Track (DNT) browser settings are set to false when testing your JavaScript implementation. If the DNT setting is set to true, then Mixpanel won’t collect information from that Mixpanel instance. We also recommend setting up a proxy server so that you don’t lose events due to ad-blockers.If tracking from a mobile device, events may take 1-2 minutes to appear because Mixpanel’s mobile SDKs buffer events for 1 minute, or when the app transitions to the background, to conserve battery life and bandwidth. You can call .flush() in the mobile SDKs to manually flush events to Mixpanel.
If a user opts out of tracking, you can call the .optOutTracking() method on any of our client-side SDKs; this prevents any subsequent data being tracked from that user’s device. Learn more here.For iOS specifically: Mixpanel does not use IDFA, so it does not require user permission through the AppTrackingTransparency(ATT) framework. For more details, refer to our Apple App Developer Privacy Guidance.
No, our Mixpanel JavaScript SDK does not set or use any third-party cookies. If you wish to disable cookies entirely, you can set the disable_persistence option to true when initializing your Mixpanel JS instance. Note that disabling persistence will disable the use of super properties and anonymous -> identified user tracking.
If tracking client-side, just call .identify(<user_id>) when a user logs in and .reset() when they log out. Mixpanel will automatically stitch the user journey across logged out and logged in.If tracking server-side, check out our server-side best practices guide. For more information, read our comprehensive guide on Identifying Users.