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:

Loads the Mixpanel SDK, forwards every walkerOS event, and lets you layer on identity, people profile operations, group analytics, and consent handling.

Installation

Loading...

Setup

Loading...

Configuration reference

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 data.examples

tip

The code data.examples are interactive. You can edit the code to generate your individual event mapping.

Default event forwarding

Every walkerOS event becomes mixpanel.track(event.name, properties). Without include config, properties is empty. Add include: ['data'] to the destination config to forward event data as properties.

Event
Loading...
Mapping
Loading...
Result
Loading...

Identify with people properties

Resolve a mapping value into Mixpanel's identity vocabulary. distinctId is the new user identity, and set/setOnce/increment/append/union operate on the user's people profile via mixpanel.people.*.

Event
Loading...
Mapping
Loading...
Result
Loading...

People profile operations only

When the resolved object has no distinctId, identity is unchanged but the people operations still fire, which is useful for profile updates that should not create a new identity.

Event
Loading...
Mapping
Loading...
Result
Loading...

Group association and group profiles

settings.group calls mixpanel.set_group(key, id) to associate the user with a group. settings.groupIdentify writes properties on the group profile itself via mixpanel.get_group(key, id).set/setOnce/union/....

Event
Loading...
Mapping
Loading...
Result
Loading...
Event
Loading...
Mapping
Loading...
Result
Loading...

Logout

settings.reset: true calls mixpanel.reset() to clear distinct ID and super properties on logout. Combine with skip: true so the rule does not fire a default track() call.

Event
Loading...
Mapping
Loading...
Result
Loading...

Declare required consent keys via config.consent. When a walker consent event arrives with all declared keys granted, the destination calls mixpanel.opt_in_tracking(). When any declared key is revoked, it calls mixpanel.opt_out_tracking(), which stops Mixpanel from capturing or queueing events:

Loading...

Without config.consent the destination takes no action on consent changes; the walkerOS config.consent gate still blocks unconsented events from reaching the destination in the first place.

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)