vs
Heap vs Mixpanel
The numbers side by side
12 of the 43 features we record differ, though 4 of those are values we have not confirmed on one side.
| What we check | Heap | Mixpanel |
|---|---|---|
| Status | Active | Active |
| Cookies in the browser | Used | Optional mode |
| Where it runs | Cloud | Cloud |
| Data in EU | Yes | Yes |
| Open source | No | No |
| Free plan | Yes | Yes |
| Entry price | Free | Free |
| At 100k / month | On request (sessions) | Free (events) |
| Script, gzip | 6.01 KB | 32.7 KB |
| Data retention | 1 year | 2 years |
Prices are monthly, without VAT, in the vendor’s currency, and are comparable only between tools that bill in the same unit. See how we check every value.
Where the feature lists differ
Values come from each vendor’s own pages. “Partly” means the feature has limits or is only on some plans.
| Feature | Heap | Mixpanel |
|---|---|---|
| 404 / error trackingTracking & Reporting | Partly | No |
| Cookieless by defaultPrivacy & Compliance | No | Partly |
| Data retentionPrivacy & Compliance | 1 year | 2 years |
| Public APISetup & Integrations | Partly | Yes |
| Data export (CSV/JSON)Setup & Integrations | Partly | Yes |
| Public shareable dashboardSetup & Integrations | Partly | Yes |
| Unlimited sites on entry planPricing & Plans | Partly | Yes |
| SquarespacePlatforms & frameworks | Yes | Not confirmed |
| WixPlatforms & frameworks | Partly | Not confirmed |
| ReactPlatforms & frameworks | Yes | Partly |
| Vue / NuxtPlatforms & frameworks | Partly | Not confirmed |
| Next.jsPlatforms & frameworks | Not confirmed | Yes |
Where they match
31 features have the same value in both
- Pageviews & visitors Yes
- Live visitor count Partly
- Top pages report Yes
- Top referrers Yes
- UTM campaign tracking Yes
- Country & city breakdown Yes
- Device, browser, OS Yes
- Bounce / engagement Yes
- Time on site Yes
- Custom events Yes
- Goals / conversions Yes
- Funnels Yes
- Outbound link tracking Partly
- File download tracking Partly
- No personal data collected (vendor’s position) No
- No consent banner needed (vendor’s position) No
- Data hosted in EU Yes
- Data hosted in US Yes
- Self-hostable No
- Open source No
- Bot & spam filtering Partly
- Single-snippet install Yes
- WordPress plugin No
- Proxy / first-party domain Yes
- Google Search Console connector No
- Email digests Yes
- Slack / webhook alerts Partly
- Shopify Yes
- Drupal Partly
- Google Tag Manager Yes
- Server-side tracking Yes
Price by traffic volume
Heap
- Free · up to 10k sessionsFree
- Higher volumesOn request
Mixpanel
What the numbers say
Both are sold by volume, and the volumes are different objects. Heap counts sessions, and a web session ends after 30 minutes without a pageview. Mixpanel counts events across every project in an organization, so an autocaptured click and a page view both add to the total. The row at 100,000 shows the effect: one side has a published ladder there, the other an estimate after you sign up and install the snippet.
Over the limit, both behave the same way: keep collecting, stop showing. Heap states that data is neither dropped nor throttled, and that you must upgrade before you can view it again. Mixpanel blocks reports on the free plan until you upgrade or the month turns over, and bills the extra events on its paid mid-tier with no way to cap that.
Retention hides the most behind a single figure, and both rows show the cheapest paid plan. Heap shows six months of history on its free plan and twelve on the entry paid one, with longer periods sold as an add-on. Mixpanel deletes events after two years in projects created since 1 September 2025, and keeps five in older ones until the plan changes or the project moves to the free plan. Both store in the EU if you ask at the right moment, which is when the project is created; Mixpanel states it cannot move a project’s data to another region for you.
One row carries a footnote: the file measured for Heap is a loader that fetches the main script, so a browser downloads more than the figure shows.
Who picks which
Heap records first and lets you name things later: page views, clicks, form changes and submissions are captured from installation, so an event you define today applies to interactions collected since the script went live. The Pages view reports pageviews, sessions, time on page, bounce and exit rates, grouped by an automatic page type that merges similar addresses; the pricing page puts its core analytics charts on every plan including the free one. Two things to plan around: public dashboard links work only in the US for now, and bot traffic is handled by a segment of known bot addresses that you maintain.
Mixpanel starts from events and user profiles: page views are not recorded until you switch on that option or autocapture. The free plan carries unlimited seats with five saved reports each; unlimited reports, custom properties, alerts, the Query API and warehouse connectors arrive with the paid mid-tier, and managed first-party tracking domains with the enterprise tier. Neither publishes a WordPress plugin, and the Mixpanel library filters a short list of crawlers, leaving the rest to an ignore property in your own code.
Questions and answers
Do the two price columns compare?
No, and the unit beside each figure says why. Sessions and events move independently: a visit that triggers forty autocaptured actions is one session and forty events. Express your own traffic in each unit and read each ladder separately, as the methodology sets out.
Can I move history from one into the other?
Not through a documented importer in either direction. Mixpanel publishes migration guides for Google Analytics, Amplitude and Adobe Analytics, and runs a free migration for Amplitude projects under 15 million events; Heap is not among those sources, and documents no import of its own. The practical route is to run the new tool alongside the old until the history you need has built up.
What does autocapture change in practice?
It moves the moment of decision. With Heap the interactions are already recorded, so a definition written today reaches back to the installation date. With Mixpanel it is a setting, and anything before it was switched on is what you sent yourself, so the answer to when a metric starts differs on each side.