6 min read

What Is Funnel Analysis in Mixpanel

You ship a feature, but half your users never complete it. Without funnel analysis, you're blind to where they're dropping off. Mixpanel's funnel tool shows you exactly which step in a user journey is leaking, so you know what to fix.

What Funnel Analysis Does

A funnel tracks a sequence of events to show you how many users complete each step — and where they abandon.

Understand How Funnels Work

A funnel is a series of events in order. User completes Step 1, some move to Step 2, even fewer finish Step 3. Mixpanel calculates the conversion percentage between each step so you can spot the bottleneck. If 100 users start but only 25 complete, where do the 75 leak out? Mixpanel breaks this down step by step. Every step in your funnel requires an event tracked in your app.

javascript
// Track funnel steps as discrete events
mixpanel.track('Account Created');
mixpanel.track('Onboarding Started');
mixpanel.track('First Query Executed');
mixpanel.track('Result Exported');
Each funnel step is a separate tracked event

View Your Funnel in Mixpanel

Go to Funnels in the left sidebar, click Create New Funnel, and add your events in the order users should complete them. Mixpanel renders a waterfall chart showing conversion rates between each step. You see exactly where drop-off happens and by how much.

javascript
// Track events with properties for deeper segmentation
mixpanel.track('Signup Completed', {
  plan_type: 'pro',
  signup_source: 'landing_page',
  region: 'us'
});

mixpanel.track('First Query Executed', {
  query_type: 'cohort',
  dataset_size: 50000,
  region: 'us'
});
Include properties so you can segment funnel performance by plan, region, or source later
Tip: Use the Funnel Insights feature to auto-detect segments with the largest drop-off — it finds problem areas for you.

Setting Up Your First Funnel

Once events are tracked, creating a funnel takes minutes. Here's the workflow.

Ensure Your Events Are Tracked

Each step in your funnel must be an event fired from your app. Building a checkout funnel? You need Product Viewed, Cart Added, and Purchase Completed. Building a signup funnel? You need Signup Started, Email Verified, and Profile Completed. Without the events, there's no data to funnel. Make sure your app is already tracking all the steps you want to analyze.

javascript
// React component tracking checkout funnel steps
import { mixpanel } from 'mixpanel-browser';

export function CheckoutFlow({ items, user }) {
  const handleAddToCart = (product) => {
    mixpanel.track('Cart Added', {
      product_id: product.id,
      product_price: product.price,
      user_type: user.plan
    });
  };

  const handleCheckoutStart = () => {
    mixpanel.track('Checkout Started', {
      cart_value: calculateTotal(),
      item_count: items.length,
      user_type: user.plan
    });
  };

  const handlePayment = (method) => {
    mixpanel.track('Purchase Completed', {
      payment_method: method,
      order_value: calculateTotal(),
      user_type: user.plan
    });
  };
}
Track each step as it happens, with relevant properties

Create and Order the Funnel Steps

In Mixpanel, click FunnelsCreate New Funnel. Add steps in the exact order users should complete them. Step 1 is the entry point, Step 2 comes next, etc. If you reverse the order, the conversion rate is meaningless — Mixpanel only counts users who completed them in your specified sequence. A user who purchases before adding to cart won't count, even if both events exist in their profile.

Segment by User Properties and Filter

Once the funnel is live, use Filters to slice by user properties like plan type, country, or signup date. This reveals whether drop-off is consistent across all users or concentrated in one segment. Maybe pro users convert at 80% but free users drop to 20%. Maybe US users are fine but EU users abandon at step 2. Segmentation reveals these differences.

javascript
// Set user properties to enable funnel filtering
mixpanel.identify('user_12345');
mixpanel.people.set({
  plan_type: 'pro',
  company_size: '50-100',
  industry: 'saas',
  signup_date: '2025-01-15',
  country: 'US'
});

// In Mixpanel UI, filter the funnel:
// "Show conversion funnel for plan_type = 'pro' AND country = 'US'"
// Compare this against other segments to find conversion patterns
Set user properties so you can segment funnel performance later

Reading and Acting on Funnel Data

A funnel is only useful if you know what to do with the numbers.

Identify the Leak in Your Funnel

Look at each step's conversion rate. If step 1 to 2 is 90% but step 2 to 3 is 40%, step 2 is your leak. That's where half your users abandon. Focus optimization efforts on that step first. Mixpanel shows the absolute drop-off and the percentage, so you see both volume and rate.

javascript
// Query funnel data via Mixpanel Data API
const response = await fetch(
  'https://data.mixpanel.com/api/2.0/funnels?' +
  'token=YOUR_TOKEN&' +
  'funnel_id=12345&' +
  'unit=day&' +
  'interval=7',
  { method: 'GET' }
);

const funnelData = await response.json();
// Returns: step-by-step conversion rates, absolute counts, and trends
Programmatically pull funnel data to automate analysis and alerting

Compare Funnels Across Segments

Run the same funnel filtered by different user properties. Compare pro vs. free users, geographic regions, or sign-up cohorts. If one segment converts at 80% and another at 30%, the problem isn't your funnel design — it's that one user type is struggling. This tells you where to invest.

Common Pitfalls

  • Including optional steps as mandatory funnel stages inflates drop-off and hides the real bottleneck — only funnel on required steps
  • Using vague event names like 'Button Clicked' creates noise and makes funnels unactionable — name events by outcome instead
  • Not tracking funnel events with properties means you can't segment to find which user types, regions, or plans actually convert
  • Reversing step order or adding events out of sequence makes the conversion rate mathematically meaningless

Wrapping Up

Funnel analysis in Mixpanel shows you exactly where users abandon. Track steps as discrete events, create the funnel in order, and segment by user properties to find the leaks. If you want to track these funnel steps automatically across all your analytics tools and surface conversion insights in real time, Product Analyst can help.

Track these metrics automatically

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

Try Product Analyst — Free