Install Mixpanel

Install Mixpanel


Installing Mixpanel is easy. This guide will show you how to do it with our SDKs.

Already collect product data? Connect your Data Warehouse or via 3rd Party Integrations.


Choose from the methods below. Not sure how to choose? Read our guide.

Install the SDK
<!-- Paste this right before your closing </head> tag -->
<script type="text/javascript">
  (function (f, b) { if (!b.__SV) { var e, g, i, h; window.mixpanel = b; b._i = []; b.init = function (e, f, c) { function g(a, d) { var b = d.split("."); 2 == b.length && ((a = a[b[0]]), (d = b[1])); a[d] = function () { a.push([d].concat(, 0))); }; } var a = b; "undefined" !== typeof c ? (a = b[c] = []) : (c = "mixpanel"); a.people = a.people || []; a.toString = function (a) { var d = "mixpanel"; "mixpanel" !== c && (d += "." + c); a || (d += " (stub)"); return d; }; a.people.toString = function () { return a.toString(1) + ".people (stub)"; }; i = "disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking start_batch_senders people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split( " "); for (h = 0; h < i.length; h++) g(a, i[h]); var j = "set set_once union unset remove delete".split(" "); a.get_group = function () { function b(c) { d[c] = function () { call2_args = arguments; call2 = [c].concat(, 0)); a.push([e, call2]); }; } for ( var d = {}, e = ["get_group"].concat(, 0)), c = 0; c < j.length; c++) b(j[c]); return d; }; b._i.push([e, f, c]); }; b.__SV = 1.2; e = f.createElement("script"); e.type = "text/javascript"; e.async = !0; e.src = "undefined" !== typeof MIXPANEL_CUSTOM_LIB_URL ? MIXPANEL_CUSTOM_LIB_URL : "file:" === f.location.protocol && "//".match(/^\/\//) ? "" : "//"; g = f.getElementsByTagName("script")[0]; g.parentNode.insertBefore(e, g); } })(document, window.mixpanel || []);
Configure the SDK

Replace YOUR_TOKEN with your project token. You can find your token here (opens in a new tab).

//Import Mixpanel SDK
import mixpanel from 'mixpanel-browser';
// Near entry of your product, init Mixpanel
mixpanel.init('YOUR_TOKEN', {debug: true, track_pageview: true, persistence: 'localStorage'});

Next: Identify Your Users

With Mixpanel installed, you’re now ready to identify the users who use your product.


Does Mixpanel automatically track page views?

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.

What are the recommended web configuration options?

When tracking on web, we recommend using localStorage, as this is more reliable:

mixpanel.set_config({ persistence: "localStorage" }); 

Please note that cross-subdomain tracking is not possible when using local storage. If your implementation requires cross-subdomain tracking, remove the persistence flag and use the default "cookie" persistence option.

Does Mixpanel use third-party cookies?

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.

How can I track in a privacy compliant way?

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 (opens in a new tab).

Was this page useful?