6 min read

How to Track User Paths in Amplitude

Understanding how users move through your product is essential to finding friction and opportunities. Without proper event tracking, you're left guessing at user behavior. Amplitude lets you capture every step—from landing on a page to converting—and then visualize those paths to spot patterns.

Setting Up Event Tracking for User Paths

Before you can see user paths, you need to capture the events that make up those paths. This means instrumenting your app with event logging and user context.

Initialize Amplitude and Set User Identity

First, initialize the Amplitude SDK with your API key, then identify each user. This creates the foundation for tracking that user's path through your app. Use setUserId() when you have a unique user identifier.

javascript
import { init, setUserId } from '@amplitude/analytics-browser';

init('YOUR_API_KEY', {
  userId: '[email protected]'
});

// Or set after initialization
setUserId('[email protected]');
Initialize Amplitude SDK and set user identity

Track Events at Each Step of the User Journey

Log an event every time a user takes a meaningful action—clicking a button, viewing a page, submitting a form. Use track() with a clear event name and add properties that describe what happened. This creates the breadcrumbs that form the user path.

javascript
import { track } from '@amplitude/analytics-browser';

// User views the pricing page
track('View Pricing');

// User clicks a feature filter
track('Filter Applied', {
  feature: 'churn-analytics',
  filter_type: 'by_cohort'
});

// User completes signup
track('Signup Completed', {
  plan_type: 'Pro',
  source: 'pricing_page'
});
Track events as users interact with your product

Add User Properties to Provide Context

User properties stay with a user and persist across events. Set properties like account type, plan tier, or geographic region so you can later filter or segment paths by user characteristics. This helps you answer questions like 'Do enterprise users follow a different path than free users?'

javascript
import { setUserProperties } from '@amplitude/analytics-browser';

setUserProperties({
  plan: 'Enterprise',
  account_age_days: 45,
  company_size: '500+',
  industry: 'SaaS'
});
Set user properties that segment behavior
Tip: Include enough context in your event properties to understand *why* an action happened, not just *that* it happened. Avoid logging personally identifiable information.

Visualizing Paths in Amplitude

Use Paths or Funnels to Visualize the Sequence

In Amplitude, go to Analytics > Paths (or Analytics > Funnels for a specific sequence) to see how users move from one event to the next. Select your starting event—for example, View Pricing—and let Amplitude show you where users go next. This reveals the paths users naturally take.

javascript
// Example: Track events that make up a path
track('Page View', { page: 'Home' });
track('Click CTA', { cta: 'signup' });
track('Enter Email', { field: 'email' });
track('Signup Completed');
Events that form a complete signup path

Filter Paths by User Segments

To see how different user types move through your app, filter by user properties. In the Paths view, use the filter panel to select cohorts—for example, show only paths from users on the Pro plan. This separates high-value from free-tier behavior.

Export Path Data for Deeper Analysis

Once you've identified a pattern, click Export in the Paths view to download the data as CSV. This lets you feed path data into Excel, Python, or your data warehouse for deeper analysis or modeling.

Watch out: Paths can explode into too many branches if events aren't well-defined. Use consistent, simple event names. Avoid logging every mouse movement; focus on intentional user actions.

Common Path-Tracking Patterns

Track Conversion Funnels with Clear Steps

For a standard flow like onboarding or purchase, create a funnel by logging discrete steps in order. Each step is an event, and Amplitude calculates drop-off. This is the clearest way to spot where users abandon the path.

javascript
// Onboarding flow
track('Onboarding Step 1', { step: 'account_creation' });
track('Onboarding Step 2', { step: 'connect_datasource' });
track('Onboarding Step 3', { step: 'dashboard_setup' });
track('Onboarding Completed');
Track a multi-step onboarding as distinct events

Use Event Properties to Track Decision Points

Some paths fork—users might choose Feature A or Feature B. Log both choices as events with a property indicating the branch. This lets Amplitude show you which fork is more popular and if one branch has better long-term retention.

javascript
// User chooses a feature
if (userSelectedFeature === 'Cohort Analysis') {
  track('Feature Selected', { feature: 'cohort_analysis', selection: 'user_choice' });
} else {
  track('Feature Selected', { feature: 'retention_analysis', selection: 'user_choice' });
}
Log user choices as events to track different paths
Tip: Amplitude tracks sessions automatically. If you need custom session boundaries, call setSessionId() manually before logging related events.

Common Pitfalls

  • Logging too many events or too much detail per event—it creates noise and makes patterns hard to spot. Focus on high-intent actions.
  • Inconsistent event naming (e.g., 'signup', 'sign_up', 'signUp') breaks path continuity. Use a single, consistent naming convention across your app.
  • Not including enough event properties. Without context, you can't explain *why* a path fork happened or why drop-off occurred.
  • Forgetting to set user IDs, so Amplitude can't stitch events to actual users. Anonymous events don't create meaningful paths.

Wrapping Up

Tracking user paths in Amplitude comes down to logging intentional events with enough context to understand decisions. Once you have the data flowing, the tool shows you where users go, where they drop off, and how different cohorts differ. 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