Skip to main content

Mixpanel

Web Source code Package

Mixpanel is a product analytics platform with people profiles, group analytics, and cohort-based reporting. This destination forwards walkerOS events to Mixpanel via the official mixpanel-browser SDK, translating events into mixpanel.track(...) calls and resolving identity, people properties, group assignments, and consent opt-in/opt-out.

Where this fits

Mixpanel is a web destination in the walkerOS flow:

Installation

Loading...
Loading...

Configuration

This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see destination configuration. Package-specific fields live under config.settings and are listed below.

Settings

PropertyTypeDescriptionMore
apiKey*stringYour Mixpanel project token. Find it in your Mixpanel project settings under "Project Settings" and "Access Keys". Passed to mixpanel.init() as the first argument (like a1b2c3d4e5f6789012345678abcdef12).
api_hoststringMixpanel ingestion host. Default: https://api-js.mixpanel.com. Use https://api-eu.mixpanel.com for EU residency.
persistence'cookie' | 'localStorage'Client-side persistence backend. Default: cookie.
cross_subdomain_cookiebooleanShare cookie across subdomains. Default: true.
cookie_expirationintegerCookie expiration in days. Default: 365.
secure_cookiebooleanOnly send cookie over HTTPS. Default: false.
ipbooleanEnable server-side IP geolocation. Default: true.
batch_requestsbooleanUse the /batch endpoint instead of individual requests. Default: true.
batch_sizeintegerMax events per batch. Default: 50.
batch_flush_interval_msintegerBatch flush interval in ms. Default: 5000.
debugbooleanEnable verbose SDK logging. Default: false.
opt_out_tracking_by_defaultbooleanStart in opted-out state until opt_in_tracking() is called. Default: false.
track_pageviewboolean | stringEnable Mixpanel auto-pageview tracking. walkerOS default: false — walkerOS sources handle page views.
autocaptureanyEnable Mixpanel web autocapture. walkerOS default: false — walkerOS sources handle event capture.
record_sessions_percentnumberSession replay sampling rate (0-100). Default: 0 (disabled). Session replay is bundled in the npm build.
record_mask_all_inputsbooleanMask all input values in session replay. Default: true.
identifyanywalkerOS mapping value resolving to an identity object. Keys: distinctId.
groupanywalkerOS mapping value resolving to { key, id } → mixpanel.set_group(key, id). Runs on destination init or per-event.
* Required fields

Mapping

Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.

PropertyTypeDescriptionMore
identifyanyPer-event identity mapping. Resolves to { distinctId } → mixpanel.identify(distinctId).
peopleanyPer-event people operations. Resolves to an object with any of: set, set_once, increment, append, union, remove, unset, delete_user. Each key fires a separate mixpanel.people.* call.
groupanyPer-event group assignment. Resolves to { key, id } → mixpanel.set_group(key, id).
groupProfileanyPer-event group profile operations. Resolves to { key, id, set?, set_once?, unset?, union?, remove?, delete? } → mixpanel.get_group(key, id).set/... calls.
resetanyLogout trigger. Resolves to a truthy value → mixpanel.reset(). Typically used with skip: true on a user logout rule.

Examples

Delete user

An account delete fires Mixpanel people.delete_user to remove the user profile from the project.

Event
Mapping
Out

Group profile

A company update sets Mixpanel group profile properties via get_group.set and get_group.set_once.

Event
Mapping
Out

Consent granted

A walker consent command with analytics granted calls mixpanel.opt_in_tracking to resume event capture.

Event
Out

Consent revoked

A walker consent command with analytics denied calls mixpanel.opt_out_tracking to stop event capture.

Event
Out

Default track

A walker event becomes a Mixpanel track call with the event name and empty properties.

Event
Out

Destination identify

Destination-level identify calls mixpanel.identify with a resolved distinctId before firing the default track.

Event
Out

Include data

Destination-level include flattens the event data section into prefixed Mixpanel track properties.

Event
Out

All people operations

A profile update exercises the full Mixpanel people vocabulary including set, increment, append, union, and remove.

Event
Mapping
Out

Rule include overrides

A per-rule include replaces the destination-level include for this event, forwarding only globals here.

Event
Mapping
Out

Group association

A user login associates the user to a company group via mixpanel.set_group and fires the default track.

Event
Mapping
Out

User login identify

A user login identifies the user and fires Mixpanel people set, set_once, and increment operations.

Event
Mapping
Out

User logout reset

A user logout calls mixpanel.reset to clear persistence and generate a new anonymous distinct id.

Event
Mapping
Out

Intentionally not supported

Mixpanel features that are deferred or not in scope for v1:

  • alias(): anonymous-to-identified merging is handled by walkerOS identity (the source resolves the user before pushing).
  • register() / super properties: use destination-level settings.include to attach properties on every event instead. Mixpanel's super-property pattern overlaps with walkerOS's mapping model.
  • people.track_charge: deprecated by Mixpanel since v2.78. Send revenue events as regular track() calls with a revenue property.
  • time_event / page view auto-tracking: walkerOS sources handle event capture and timing.

All other built-in mixpanel-browser config options pass through settings directly (e.g. api_host, persistence, cross_subdomain_cookie, secure_cookie, ip, property_blacklist, loaded callback, etc.).

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)