Knowing how long it takes users to convert is critical for understanding your funnel velocity and product stickiness. Mixpanel doesn't automatically calculate this for you—you need to instrument your events properly and then use its analysis tools to extract the time delta between signup and conversion.
Instrument Your Signup and Conversion Events
The foundation of tracking time-to-convert is firing two distinct events: your entry point (usually a signup or first action) and your conversion (purchase, subscription, or whatever defines success for your product).
Fire the Signup Event with User Identification
When a user signs up, call mixpanel.identify() to set the user context, then mixpanel.track() to log the Signup event. Mixpanel automatically timestamps every event when it's received, so you don't need to manually add a timestamp. The key is including a stable user identifier so you can match this signup to the same user's later conversion event.
mixpanel.identify(userId);
mixpanel.track('Signup', {
'email': userEmail,
'signup_source': 'landing_page',
'plan_type': 'free',
'region': 'US'
});Fire the Conversion Event
Whenever a user converts (upgrades to paid, makes a purchase, etc.), fire a separate Purchase or Converted event. Include business context like revenue, plan tier, and conversion type so you can later segment your time-to-convert analysis by these dimensions. This event will also be automatically timestamped.
mixpanel.identify(userId);
mixpanel.track('Purchase', {
'revenue': 99.99,
'plan': 'professional',
'conversion_source': 'in_app_upgrade',
'days_since_signup': 14
});Set User Properties at Signup
Use mixpanel.people.set() to store persistent user properties. These become available as segmentation dimensions in Mixpanel's analysis tools, letting you later ask 'What's the time-to-convert for users from different sources?' Set these properties at signup, not with every event.
mixpanel.people.set({
'first_name': userFirstName,
'email': userEmail,
'signup_date': new Date().toISOString(),
'trial_eligible': true,
'utm_source': urlParams.get('utm_source')
});mixpanel.identify(userId) before tracking events if you want to match a user across sessions. Without identify(), Mixpanel can't reliably connect signup → conversion for the same user.Measure Time-to-Convert with Mixpanel Funnels
Mixpanel's Funnel analysis calculates time deltas automatically. You'll see the median time between your signup and conversion events, segmented by any user property you tracked.
Create a Funnel in Insights
Go to Insights > Funnels and add Signup as step 1 and Purchase as step 2. Set the funnel window to at least 90 days to capture your full conversion lifecycle. Mixpanel will display the conversion rate and the median/average time between steps automatically.
// In Mixpanel UI: Insights > Funnels
// Step 1: Signup
// Step 2: Purchase
// Funnel window: 90 days
// Result: median time-to-convert calculated automaticallySegment by Signup Source to Spot Velocity Differences
In the Funnel view, click Segmentation and choose signup_source. Now you'll see separate time-to-convert metrics for organic vs. paid vs. referral signups. This reveals whether your acquisition channel correlates with conversion speed—high-intent channels typically convert faster.
// Already tracked in your signup event:
mixpanel.track('Signup', {
'signup_source': 'organic' // or 'paid', 'referral', etc.
});
// In Funnel UI: Segmentation → signup_source
// Mixpanel breaks down time-to-convert by each sourceAdd Filters to Isolate Specific Cohorts
Use Filters in the Funnel view to narrow analysis to specific user groups. Filter to only trial-eligible users, or only users from a specific region. This helps you answer questions like 'Do trial users convert faster than freemium users?' Filters + Segmentation together give you detailed velocity breakdowns.
// Track user properties to enable filtering:
mixpanel.people.set({
'plan_type': 'trial', // or 'freemium', 'enterprise'
'region': 'US'
});
// In Funnel UI: Add Filter → plan_type = trial
// View only trial users' time-to-convertExport Raw Data for Custom Analysis
If you need individual user-level time-to-convert values (not just medians), export funnel data or use Mixpanel's Data Export API to pull raw events.
Export Funnel Data as CSV
In your Funnel view, click the Export button to download results as CSV. The export includes user-level data and event timestamps, so you can calculate exact time deltas in a spreadsheet or warehouse for deeper analysis.
// Export from Mixpanel UI:
// Insights > Funnels > [Your Funnel] > Export (top-right)
// CSV includes: user_id, timestamp per step, properties
// In your warehouse:
// SELECT user_id,
// (purchase_timestamp - signup_timestamp) AS time_ms
// FROM exported_dataUse Data Export API for Programmatic Access
For recurring analysis, use Mixpanel's Data Export API to fetch raw event data. Query all Signup and Purchase events for a date range, parse by user_id, and calculate time deltas yourself. This scales better than manual exports for large datasets.
// Fetch events using Data Export API
const url = 'https://data.mixpanel.com/api/2.0/export';
const params = {
'from_date': '2024-01-01',
'to_date': '2024-12-31',
'event': ['Signup', 'Purchase'],
'key': YOUR_SERVICE_ACCOUNT_TOKEN
};
// Returns NDJSON (newline-delimited JSON)
// Parse and match by user_id to calculate time deltasCommon Pitfalls
- Forgetting to call
mixpanel.identify()before tracking—without a consistent user ID, Mixpanel can't match signup → conversion for the same user - Setting a too-short funnel window—if your sales cycle is 60+ days but you set the window to 30 days, you'll miss conversions and underestimate velocity
- Treating conversion as a property instead of a separate event—Mixpanel timestamps events, not properties, so you need distinct events to calculate time deltas
- Not segmenting your funnel—you'll miss the insight that organic users convert 3x faster than paid ad users, or that conversion velocity differs by region or plan type
Wrapping Up
You now have time-to-convert tracked and measurable in Mixpanel. Use Funnels to monitor median velocity, segment by signup source and user properties to spot performance differences across cohorts, and export raw data for deeper analysis in your warehouse. If you want to automate this tracking and correlation across your entire toolchain, Product Analyst can help.