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.
import { init, setUserId } from '@amplitude/analytics-browser';
init('YOUR_API_KEY', {
userId: '[email protected]'
});
// Or set after initialization
setUserId('[email protected]');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.
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'
});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?'
import { setUserProperties } from '@amplitude/analytics-browser';
setUserProperties({
plan: 'Enterprise',
account_age_days: 45,
company_size: '500+',
industry: 'SaaS'
});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.
// 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');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.
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.
// 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');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.
// 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' });
}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.