5 min read

What Is Funnel Analysis in Amplitude

Funnel analysis shows you the path users take through your product—and where they drop off. In Amplitude, you define a sequence of events and see what percentage of users complete each step. This is critical when you need to understand conversion rates, onboarding effectiveness, or why users abandon key workflows.

How Funnel Analysis Works in Amplitude

A funnel in Amplitude is a sequence of events. You measure how many users start at step one, progress to step two, and so on.

Track Events That Matter

Before you can analyze a funnel, you need to track the events that represent each step. Use the track() method to send events from your product. Each event should represent a discrete action—like 'page_view', 'button_click', or 'checkout_started'.

javascript
// Track events for a checkout funnel
amplitude.track('checkout_started', {
  product_id: 'PRD_123',
  cart_value: 99.99
});

amplitude.track('payment_method_selected', {
  method: 'credit_card'
});

amplitude.track('purchase_completed', {
  revenue: 99.99,
  transaction_id: 'TXN_456'
});
Track the key milestones of your funnel as separate events

Set Up the Funnel in Amplitude

Navigate to Analytics > Funnels in Amplitude. Click New Funnel and name it (e.g., 'Checkout Funnel'). Select your first event, then add subsequent steps in order. Amplitude will automatically calculate what percentage of users completed each step.

javascript
import * as amplitude from '@amplitude/analytics-browser';

amplitude.init('API_KEY', {
  userId: 'user_123',
  defaultTracking: {
    pageViews: true,
    formInteractions: true
  }
});

// Now events sent via amplitude.track() will be captured
amplitude.track('funnel_step_1');
Initialize Amplitude before tracking funnel events
Tip: Order matters. Funnel steps must occur in sequence for a user to count as progressing. If a user completes step 3 without completing step 2, they won't be counted in that funnel.

Analyzing Dropout and Conversion

Once your funnel is set up, Amplitude shows you conversion rates between each step and helps you identify where users abandon.

Review Conversion Rates

The funnel report in Analytics > Funnels displays a visualization showing user counts and conversion percentages at each step. Click on any step to see which users completed it and which dropped off. Use Filters to segment by user properties (e.g., 'free_plan' vs 'paid_plan').

javascript
// Set user properties that let you segment funnel analysis later
amplitude.setUserProperties({
  plan_type: 'paid',
  signup_date: '2025-03-15',
  country: 'US'
});

// Now when you analyze the funnel in Amplitude, filter by these properties
amplitude.track('checkout_started');
amplitude.track('checkout_completed');
Set user properties to enable segmentation in funnel analysis

Compare Funnels Across Cohorts

Click the Compare button in your funnel to run the same funnel across different user segments. For example, compare new users vs returning users, or iOS vs Android. This helps you spot whether a problem is universal or specific to a user group.

javascript
// Track the user's acquisition source and channel
amplitude.setUserProperties({
  utm_source: 'google_ads',
  utm_campaign: 'Q1_launch',
  device_type: 'mobile'
});

// Events are automatically attributed to this cohort in the funnel report
amplitude.track('onboarding_started');
amplitude.track('onboarding_completed');
Use user properties to create meaningful funnel comparisons
Watch out: Small sample sizes distort your results. If fewer than 100 users enter a funnel, conversion percentages can be noisy. Use Annotations to mark when you shipped changes, so you can correlate funnel improvements to product updates.

Advanced: Filtering and Custom Time Windows

Funnels aren't always linear. Amplitude lets you exclude certain users or adjust time windows to match your product's reality.

Apply Funnel Filters and Window Settings

In your funnel editor, click Add Filter to exclude users who don't match certain criteria. For example, exclude test accounts or filter to only users who saw a specific feature flag. Adjust the Conversion Window (default 30 days) if your funnel spans longer—like trial signup to paid conversion.

javascript
// Track a feature flag variant so you can filter the funnel later
amplitude.track('experiment_viewed', {
  experiment_id: 'new_checkout_v2',
  variant: 'control'
});

// Pass a session_id property for complex multi-page funnels
amplitude.track('checkout_started', {
  session_id: 'sess_abc123',
  checkout_type: 'new_customer'
});

amplitude.track('checkout_completed', {
  session_id: 'sess_abc123'
});
Track experiment variants and session IDs for precise funnel analysis
Tip: Use event properties to tag users or sessions. If you have a complex funnel spanning multiple pages or apps, pass a session_id property so Amplitude can link events correctly, even if they come from different domains.

Common Pitfalls

  • Assuming dropout = disinterest. Users might skip a step because they're already paid, use a guest checkout, or hit an error. Check your event instrumentation—missing events inflate dropout rates.
  • Not tracking enough context. 'checkout_started' alone doesn't help debug. Include product_id, cart_value, error codes, or feature flags so you can see which checkouts fail and why.
  • Misaligning funnel steps with user intent. A 50% dropout from page A to B might not be a problem if many users have already completed that step. Always segment by cohort and compare.
  • Ignoring time windows. By default, Amplitude funnels assume all steps happen within 30 days. If your funnel spans months (e.g., trial signup → paid conversion), adjust the Conversion Window or you'll undercount completions.

Wrapping Up

Funnel analysis in Amplitude shows you exactly where users abandon their journey and helps you prioritize fixes. By tracking the right events, segmenting by user properties, and comparing cohorts, you can turn funnel insights into action. If you want to track and analyze funnels automatically across all your 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