From e4a7443eaf4a2a8a27fee03bd2f7ea59f5b88a3c Mon Sep 17 00:00:00 2001 From: no value <163026311+dhaval-valotia@users.noreply.github.com> Date: Fri, 10 Oct 2025 17:50:30 +0000 Subject: [PATCH 1/4] Add dead click docs --- pages/docs/session-replay.mdx | 14 +++++++------- pages/docs/tracking-methods/autocapture.mdx | 11 +++++++++-- pages/docs/tracking-methods/sdks/javascript.mdx | 13 +++++++------ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index e0517ae1a9..e510be3e33 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -31,12 +31,12 @@ See our developer guides on implementing Session Replay for these platforms belo ## Watching Replays -By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days. For more information, reach out to your Account Manager or our sales team. +By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days. For more information, reach out to your Account Manager or our sales team. -Session Replay is particularly valuable for understanding user frustration and identifying problematic user experiences. To find relevant replays, you can focus on interesting users (power users, purchases), interesting trends (KPIs spikes or dips), or replays where certain events or sentiment signals (like [rage clicks](/docs/tracking-methods/autocapture#rage-clicks)) occur. +Session Replay is particularly valuable for understanding user frustration and identifying problematic user experiences. To find relevant replays, you can focus on interesting users (power users, purchases), interesting trends (KPIs spikes or dips), or replays where certain events or sentiment signals (like [dead clicks](/docs/tracking-methods/autocapture#dead-clicks)/[rage clicks](/docs/tracking-methods/autocapture#rage-clicks)) occur. -To start using Session Replay, select **Session Replay** from the side navigation in your Mixpanel project. Here, you'll see your most recent replays and can easily filter them by events, properties, or custom time ranges to focus on the replays that matter most to you. Pro tip: when getting started with implementing Session Replay, you can use this view to check if replays are coming in as expected. +To start using Session Replay, select **Session Replay** from the side navigation in your Mixpanel project. Here, you'll see your most recent replays and can easily filter them by events, properties, or custom time ranges to focus on the replays that matter most to you. Pro tip: when getting started with implementing Session Replay, you can use this view to check if replays are coming in as expected. what makes Mixpanel Session Replay special is that it can be used seamlessly with your existing Mixpanel workflows, like: @@ -49,7 +49,7 @@ what makes Mixpanel Session Replay special is that it can be used seamlessly wit Reports entry point is currently supported for Event, Funnel, and User Profile metrics only. -Click any point on a chart for Event, Funnel, and User Profile, and select "View Replays" to view replays that show that event being fired. From here, you will be taken to our Replay Player. +Click any point on a chart for Event, Funnel, and User Profile, and select "View Replays" to view replays that show that event being fired. From here, you will be taken to our Replay Player. ![replayReportEntry](/replayReportEntryPoint.png) @@ -77,7 +77,7 @@ The Replay Feed on the left of the player also allows you to: - Sort replays by recency, activity, or duration - Search for replays by user's name / email, replay date, user ID, or the name of an event in the replay - See a feed of events that occurred during each replay -- Display properties and their values within the event feed +- Display properties and their values within the event feed ## Best Practices @@ -146,7 +146,7 @@ Replays are available for viewing in Mixpanel ~1 minute after the recording is c #### How long are replays stored? -By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days. For more information, reach out to your Account Manager or our sales team. +By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days. For more information, reach out to your Account Manager or our sales team. #### Why does it say the player failed to load? @@ -164,7 +164,7 @@ You will not see the "View Replays" button if your organization is on an older p #### Can I use Session Replay with a CDP? -You can use Session Replay with CDPs (e.g., Segment and mParticle) on both web and mobile. +You can use Session Replay with CDPs (e.g., Segment and mParticle) on both web and mobile. | Platform | Guidance | | --- | --- | diff --git a/pages/docs/tracking-methods/autocapture.mdx b/pages/docs/tracking-methods/autocapture.mdx index e7e48f1577..69a6d04e49 100644 --- a/pages/docs/tracking-methods/autocapture.mdx +++ b/pages/docs/tracking-methods/autocapture.mdx @@ -25,14 +25,21 @@ By default, Autocapture will automatically collect the following predefined even - Form interactions (e.g., form submitted) - Element interactions, including clicks and changes on page elements - Attribution +- Dead clicks - Rage clicks When you enable Autocapture, you will start collecting these predefined events and property types, and they will appear for your use in analysis in your Mixpanel instance. Within your Mixpanel instance, these events will be displayed using preset labels such as “[Auto] Page View” and “[Auto] Element Click”. Autocapture events will all be tracked as events that start with `$mp_` and will start with [Auto] as a prefix in Mixpanel, so if used in combination with other tracking and ingestion methods, you will be able to tell the difference. +### Dead Clicks + +A dead click is when a user clicks an interactive element but the click produces no visible response within a certain timeframe. Dead clicks often indicate broken functionality, unresponsive UI elements, or poor user experience. Dead clicks are tracked as `[Auto] Dead Click` events. + +By default, Mixpanel considers a click on an interactive element to be a dead click if there are no responses withing 0.5 seconds. You can configure these qualifying criteria to something that best suits your application by overriding the defaults in the [Javascript SDK](/docs/tracking-methods/sdks/javascript). + ### Rage Clicks -A rage click is when a user clicks on the same spot on your webpage in quick succession. It happens because the user expects something to happen, but nothing does — so they click again and again, showing they are frustrated. Rage clicks are tracked as `[Auto] Rage Click` events. +A rage click is when a user clicks on the same spot on your webpage in quick succession. It happens because the user expects something to happen, but nothing does — so they click again and again, showing they are frustrated. Rage clicks are tracked as `[Auto] Rage Click` events. By default, Mixpanel considers 4 clicks within a second and between 30 pixels apart as a rage click. You can configure these qualifying criteria to something that best suits your application by overriding the defaults in the [Javascript SDK](/docs/tracking-methods/sdks/javascript). @@ -66,7 +73,7 @@ At any time, you can change your configuration to only capture clicks on specifi ## Privacy and security The default configuration of Autocapture is designed to strike a balance between automatically capturing meaningful events while excluding potentially sensitive data. At the same time, the technical design of your website, your industry, the purpose of your website, and compliance requirements across jurisdictions can vary greatly. As a result, your close review of the data derived from Autocapture is always recommended. **Because there is no one-size-fits-all approach to event analytics, it's our customers' responsibility to ensure the configuration of Mixpanel on their website complies with applicable data privacy laws and regulations and their Mixpanel's Services Agreement.** -In certain contexts, a flexible configuration of Autocapture or turning off Autocapture may be appropriate to enable your company's privacy and compliance requirements. **In particular, if the purpose of your website involves the capture of highly sensitive data like Protected Health Information (PHI), we do not recommend using Autocapture. If you have entered into a BAA (Business Associate Agreement) with Mixpanel, we do not recommend using Autocapture.** +In certain contexts, a flexible configuration of Autocapture or turning off Autocapture may be appropriate to enable your company's privacy and compliance requirements. **In particular, if the purpose of your website involves the capture of highly sensitive data like Protected Health Information (PHI), we do not recommend using Autocapture. If you have entered into a BAA (Business Associate Agreement) with Mixpanel, we do not recommend using Autocapture.** As an analytics provider, Mixpanel is committed to designing features to facilitate data privacy for our customers and their end-users. While it's our customers' responsibility to ensure use of Mixpanel complies with data privacy law, we offer a privacy-first approach to autocapture, including default omission of input elements, designed to help you complete data minimization and comply with data privacy law. We’ve additionally provided you with the following tools and resources to help you adhere to applicable data privacy legislation. diff --git a/pages/docs/tracking-methods/sdks/javascript.mdx b/pages/docs/tracking-methods/sdks/javascript.mdx index 3a9b575bbd..9c1c182c7b 100644 --- a/pages/docs/tracking-methods/sdks/javascript.mdx +++ b/pages/docs/tracking-methods/sdks/javascript.mdx @@ -176,10 +176,11 @@ mixpanel.init('YOUR_PROJECT_TOKEN', { Note that disabling Autocapture does not disable Session Replay, which is [configured separately](/docs/tracking-methods/sdks/javascript#session-replay). **Autocapture Init Options** -| Option | Description | Default | +| Option | Description | Default | | --- | --- | --- | | `click` | When set to `true`, Mixpanel will track element clicks. It will not track textContent unless `capture_text_content` is also set to `true`. | `true` | -| `rage_click` | When set to `true`, Mixpanel will track rage clicks on elements. You can also fine tune thresholds for classifying rage clicks as follows `{threshold_px: $number, timeout_ms: $number, click_count: $number}`. Each attribute is optional such that it reverts back to a value that is most optimal. | `true` +| `dead_click` | When set to `true`, Mixpanel will track dead clicks on elements. You can also fine tune thresholds for classifying dead clicks as follows `{timeout_ms: $number}`. Each attribute is optional such that it reverts back to a value that is most optimal. | `true` +| `rage_click` | When set to `true`, Mixpanel will track rage clicks on elements. You can also fine tune thresholds for classifying rage clicks as follows `{threshold_px: $number, timeout_ms: $number, click_count: $number}`. Each attribute is optional such that it reverts back to a value that is most optimal. | `true` | `input` | When set to `true`, Mixpanel will track when an input is provided. It will not capture input content. | `true` | | `pageview` | When set, Mixpanel will collect pageviews when some components of the URL change — including UTM parameters. | `"full-url"` | | `scroll` | When set, Mixpanel will collect page scrolls at specified scroll intervals. | `true` | @@ -396,7 +397,7 @@ The Javascript SDK is a tracking SDK designed for real-time tracking in a client For bulk import of historical events older than 5 days, we will need to use the [/import API endpoint](https://developer.mixpanel.com/reference/import-events) which is optimized for scripting and supports ingesting historical data. We recommend the [Python SDK](/docs/tracking-methods/sdks/python) (see the [`.import_data()`](https://mixpanel.github.io/mixpanel-python/#primary-interface) function) and [mixpanel-utils module](https://github.com/mixpanel/mixpanel-utils) (see the [`import_events()`](https://github.com/mixpanel/mixpanel-utils?tab=readme-ov-file#import-events) function) which both leverages the /import API for event ingestion. ## Setting Super Properties -Super properties are global event properties that you define once and apply to all events. +Super properties are global event properties that you define once and apply to all events. To register super properties, call [`.register()`](https://github.com/mixpanel/mixpanel-js/blob/master/doc/readme.io/javascript-full-api-reference.md#mixpanelregister). @@ -456,7 +457,7 @@ mixpanel.identify('12345'); ``` ### Call Reset at Logout -Call [`.reset()`](https://github.com/mixpanel/mixpanel-js/blob/master/doc/readme.io/javascript-full-api-reference.md#mixpanelreset) to clear data attributed to a user when they logout. This will clear the cookie/local storage and allows you to handle [multiple users on a single device](/docs/tracking-methods/id-management/identifying-users-simplified#multiple-users-one-device). +Call [`.reset()`](https://github.com/mixpanel/mixpanel-js/blob/master/doc/readme.io/javascript-full-api-reference.md#mixpanelreset) to clear data attributed to a user when they logout. This will clear the cookie/local storage and allows you to handle [multiple users on a single device](/docs/tracking-methods/id-management/identifying-users-simplified#multiple-users-one-device). **Example Usage** @@ -588,7 +589,7 @@ A few commonly used people methods are highlighted below: // increment "age" by 2 mixpanel.people.increment('age',2); - + // use negative number to decrement // decrement "age" by 5 mixpanel.people.increment('age',-5); @@ -613,7 +614,7 @@ The Javascript SDK provides a few method for adding individual users to a group ### Adding Users to a Group [All events must have the group key as an event property in order to be attributed to a group](/docs/data-structure/group-analytics#group-keys-tracked-as-event-properties). Without the group key, an event cannot be attributed to a group. -Call the [`.set_group()`](https://github.com/mixpanel/mixpanel-js/blob/master/doc/readme.io/javascript-full-api-reference.md#mixpanelset_group) method to register the current user to a group, which would add the `group_key` as an event property set to the `group_id` value to all events moving forward. +Call the [`.set_group()`](https://github.com/mixpanel/mixpanel-js/blob/master/doc/readme.io/javascript-full-api-reference.md#mixpanelset_group) method to register the current user to a group, which would add the `group_key` as an event property set to the `group_id` value to all events moving forward. Alternatively, you can manually add the group key property to be more selective about which events to attribute to a group. From 1059676e9e26b9ff90caf50ea2aa3ae7b52daff0 Mon Sep 17 00:00:00 2001 From: no value <163026311+dhaval-valotia@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:02:26 +0000 Subject: [PATCH 2/4] Add dead click docs --- pages/docs/quickstart/capture-events/autocapture.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/docs/quickstart/capture-events/autocapture.mdx b/pages/docs/quickstart/capture-events/autocapture.mdx index 8554767942..683fa657e1 100644 --- a/pages/docs/quickstart/capture-events/autocapture.mdx +++ b/pages/docs/quickstart/capture-events/autocapture.mdx @@ -21,6 +21,7 @@ mixpanel.init('YOUR_PROJECT_TOKEN', { autocapture: { pageview: "full-url", click: true, + dead_click: true, input: true, rage_click: true, scroll: true, From 54686c0af21431f9d5eb63c92112485b25312534 Mon Sep 17 00:00:00 2001 From: no value <163026311+dhaval-valotia@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:03:56 +0000 Subject: [PATCH 3/4] Add dead click docs --- pages/docs/tracking-methods/sdks/javascript.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/docs/tracking-methods/sdks/javascript.mdx b/pages/docs/tracking-methods/sdks/javascript.mdx index 9c1c182c7b..d2653e31f9 100644 --- a/pages/docs/tracking-methods/sdks/javascript.mdx +++ b/pages/docs/tracking-methods/sdks/javascript.mdx @@ -129,6 +129,7 @@ mixpanel.init('YOUR_PROJECT_TOKEN', { autocapture: { pageview: "full-url", click: true, + dead_click: true, input: true, rage_click: true, scroll: true, From 8fdab9ff85eb010f25a59438fd6b65bf29f352f4 Mon Sep 17 00:00:00 2001 From: djmixpanel <122127729+djmixpanel@users.noreply.github.com> Date: Tue, 14 Oct 2025 19:21:26 -0400 Subject: [PATCH 4/4] Update autocapture.mdx putting them side by side --- pages/docs/quickstart/capture-events/autocapture.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/docs/quickstart/capture-events/autocapture.mdx b/pages/docs/quickstart/capture-events/autocapture.mdx index 683fa657e1..6693017932 100644 --- a/pages/docs/quickstart/capture-events/autocapture.mdx +++ b/pages/docs/quickstart/capture-events/autocapture.mdx @@ -20,10 +20,10 @@ If you'd like to change the default Autocapture settings, you can use custom con mixpanel.init('YOUR_PROJECT_TOKEN', { autocapture: { pageview: "full-url", - click: true, - dead_click: true, + click: true, input: true, rage_click: true, + dead_click: true, scroll: true, submit: true, capture_text_content: false,