5 min read

How to Monitor Time To Convert in Mixpanel

Knowing how fast users convert tells you if your product is frictionless or stuck. In Mixpanel, you can track the exact time elapsed from when someone first engages (like viewing a product) to when they complete a conversion (like placing an order). This metric is critical for identifying whether your funnel is smooth or losing users.

Set Up Event Tracking with Timestamps

To measure time to convert, you need two events: a starting event (like 'View Product') and a conversion event (like 'Purchase'). Mixpanel automatically captures timestamps, so you just need to make sure both events fire and are tied to the same user.

Track the starting event in your product

When a user begins their journey, fire an event. For example, if you're measuring time to purchase, track when they first view a product detail page. Use the track() method to send the event to Mixpanel.

javascript
mixpanel.track('View Product', {
  'product_id': '12345',
  'product_name': 'Pro Plan',
  'category': 'Pricing'
});
Capture the starting point of the user's conversion journey

Track the conversion event

When the user completes their goal (purchase, signup, etc.), fire a second event. Mixpanel logs the timestamp automatically—you don't need to manually add time fields.

javascript
mixpanel.track('Purchase', {
  'product_id': '12345',
  'amount': 99,
  'plan_type': 'Pro'
});
Track the conversion event with relevant purchase details

Add user identity to both events

Make sure both events are tied to the same user. Use identify() to set a distinct user ID before tracking events, so Mixpanel can connect the journey.

javascript
mixpanel.identify('user_12345');
mixpanel.track('View Product', { 'product_id': '12345' });
// ... user takes action ...
mixpanel.track('Purchase', { 'amount': 99 });
Ensure both events are attributed to the same user
Tip: If you're tracking across devices, set a persistent user property or use email as the distinct ID for better attribution.

Build a Funnel to Measure Conversion Time

Mixpanel's Funnels feature lets you see how long users take to move from one step to the next. You can set a time limit to calculate the percentage of users who convert within a specific window.

Create a funnel in Mixpanel

Open Funnels in the left sidebar. Click Create Funnel and add your two events in order: 'View Product' as step 1, 'Purchase' as step 2. This shows the number of users at each stage and the median time between steps.

javascript
// Configure in Mixpanel UI:
// Funnels > Create Funnel
// Step 1: View Product
// Step 2: Purchase
// View > Funnel Step Conversion Time
Funnels are built in the Mixpanel UI, not via SDK

Filter by time window to segment fast vs. slow converters

In the funnel view, use the Date Range and Filters to analyze conversion speed. For example, filter to show only users who completed the funnel within 7 days, then compare to those who took 30+ days. Mixpanel's Conversion Time column shows the median duration.

javascript
// Query conversion time distribution via Data Access SQL
SELECT
  COUNT(DISTINCT user_id) AS users,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY time_between_steps) AS median_hours
FROM funnel_data
WHERE funnel_name = 'view_to_purchase'
  AND time_between_steps < 24 * 60 * 60 * 1000; -- within 24 hours
Query custom conversion time metrics if needed
Watch out: Funnels assume events happen in strict order. If users can view a product again after purchasing, your funnel counts only the first occurrence of each event per user.

Calculate and Segment by Conversion Speed

For deeper analysis, store the timestamp of the starting event as a user property, then calculate elapsed time when the conversion fires. This lets you segment users by speed and identify patterns.

Store the initial event timestamp as a user property

When the user first views a product, capture the timestamp and save it as a user property using people_set(). This gives you a reference point to measure against later.

javascript
const now = new Date();
mixpanel.track('View Product', { 'product_id': '12345' });
mixpanel.people.set({
  'first_product_view_at': now.toISOString(),
  'initial_product': '12345'
});
Store the timestamp and product context as a user property

Calculate elapsed time on the conversion event

When the user converts, send the elapsed time as a property on the conversion event. Calculate this in JavaScript or on your backend before firing the event.

javascript
const firstViewTime = new Date(userProperties.first_product_view_at);
const purchaseTime = new Date();
const elapsedMs = purchaseTime - firstViewTime;
const elapsedDays = Math.round(elapsedMs / (1000 * 60 * 60 * 24));

mixpanel.track('Purchase', {
  'amount': 99,
  'time_to_convert_days': elapsedDays,
  'time_to_convert_seconds': Math.round(elapsedMs / 1000)
});
Send elapsed time as event properties for easy analysis

Segment by conversion speed in **Insights**

In Insights > Events, select Purchase, then add a breakout by time_to_convert_days. This shows you the distribution: how many users converted in 0-7 days, 7-30 days, etc. Compare purchase rates across these segments.

javascript
// In Mixpanel UI:
// Insights > Events > Purchase
// Breakout by: time_to_convert_days
// View > Stacked or Table view
// Add comparison: by payment_method, signup_source, etc.
Use Mixpanel's Insights UI to visualize conversion speed distribution
Tip: Create a Cohort of fast converters (< 7 days) and slow converters (> 30 days), then compare their retention or lifetime value in a separate report.

Common Pitfalls

  • Not tying events to the same user ID—if your starting event and conversion event use different user IDs, Mixpanel won't connect them into a single journey.
  • Forgetting that Mixpanel timestamps are in UTC—convert to user's timezone in reports if you're comparing conversion times across regions.
  • Using browser-based timestamps instead of server timestamps—clock skew on the client can throw off your time calculations by hours or days.
  • Counting repeat events—if a user views a product multiple times before converting, decide whether you want time from the first view or most recent view, then filter your data accordingly.

Wrapping Up

You now have two approaches to measure time to convert in Mixpanel: funnels for a quick overview, or user properties for detailed segmentation. Both reveal whether your conversion flow is frictionless or losing users. If you want to track this automatically across tools, Product Analyst can help.

Track these metrics automatically

Product Analyst connects to your stack and surfaces the insights that matter.

Try Product Analyst — Free