User Paths shows you the exact sequence of events users take through your product. Without proper setup, you're guessing at user behavior instead of seeing it. To use User Paths effectively, you need event tracking in place and a clear definition of which events matter for your analysis.
Install and Initialize the Amplitude SDK
The foundation of User Paths is accurate event data. You'll need the Amplitude SDK installed and properly configured to send events from your application.
Install the Amplitude Browser SDK
Use npm or yarn to add the Amplitude analytics library to your project. This is the standard SDK for web applications.
npm install @amplitude/analytics-browser
// or
yarn add @amplitude/analytics-browserInitialize Amplitude in your app
Create an instance of the Amplitude client at application startup. Replace YOUR_API_KEY with your actual Amplitude API key from Settings > API Keys.
import * as amplitude from '@amplitude/analytics-browser';
amplitude.init('YOUR_API_KEY', {
defaultTracking: true,
logLevel: 'Warn'
});
// Set user ID (after login or identification)
amplitude.setUserId('[email protected]');defaultTracking to automatically capture page views and user interactions like clicks and form submissions. This gives you baseline events without manual instrumentation.Track Events That Matter for Your Paths
User Paths shows sequences of events, so the events you track directly determine the paths you can see. Choose events that represent meaningful user actions—not noise.
Define core conversion funnel events
Identify the key milestones in your user journey. These might be signup, feature adoption, or payment. Use simple, past-tense event names and include properties that provide context.
// Track user signup
amplitude.track('user_signed_up', {
signupMethod: 'email',
source: 'pricing_page'
});
// Track feature usage
amplitude.track('dashboard_opened', {
dashboardType: 'analytics',
userTier: 'pro'
});
// Track conversion
amplitude.track('subscription_created', {
plan: 'annual',
amount: 120
});Add user properties for segmentation
Set user properties once (like plan type, signup date, or company size) so you can later segment paths by these attributes in the User Paths dashboard. This lets you compare paths for different user cohorts.
amplitude.setUserProperties({
plan: 'pro',
signupDate: '2026-03-20',
companySize: '10-50',
industry: 'saas'
});
// Or update a single property
amplitude.setUserProperties({
planUpgrade: 'true'
});Be selective—avoid event spam
Tracking every keystroke creates noise that obscures real user journeys. Focus on events that represent intentional user actions. In User Paths, you'll want 5–20 core events per workflow, not hundreds.
// Good: intentional user action
amplitude.track('filter_applied', {
filterType: 'date_range'
});
// Avoid: too granular
// amplitude.track('keystroke', { key: 'a' }); // Don't do thisUser_SignedUp and user_signed_up are two different events. Standardize your naming convention early.Access and Analyze Paths in the Dashboard
Once events are flowing, you can view User Paths to see how users move through your product. The dashboard lets you filter, branch, and zoom into specific sequences.
Open the User Paths analysis view
In the Amplitude dashboard, navigate to Analyses and select User Paths. This opens the Funnel-like interface where you can add events and see the flows between them.
// No SDK code needed here—this is dashboard interaction.
// But verify events are arriving via the Live Events view:
// Settings > Live Events > see real-time event streamAdd starting event and filter conditions
In User Paths, select your first event (e.g., user_signed_up). Optionally filter by user properties to isolate a cohort. For example, filter to plan == 'trial' to see paths for trial users only.
// After setting up events and user properties, use the dashboard UI:
// 1. Click "+ Add Event" in User Paths
// 2. Search and select your starting event
// 3. Click "+ Add Filter" to restrict to specific users
// 4. Select property: 'plan', condition: equals, value: 'trial'Explore branches and drop-off points
The User Paths visualization shows which events users take next and how many drop off. Click on branches to zoom in. If you see high drop-off after a particular step, that's a friction point worth investigating.
// You can also query User Paths data via the Amplitude HTTP API:
// GET /api/2/events/route
// This returns the path distribution and drop-off rates programmatically
// Example: programmatically fetch path data
fetch('https://api.amplitude.com/api/2/events/route', {
method: 'GET',
headers: {
'Authorization': 'Basic ' + Buffer.from('api_key:secret_key').toString('base64')
},
body: JSON.stringify({
start: '20260320',
end: '20260326',
events: ['user_signed_up', 'dashboard_opened', 'subscription_created']
})
})
.then(r => r.json())
.then(data => console.log(data));Common Pitfalls
- Forgetting to call
amplitude.track()consistently—if you only track some user actions, you'll see incomplete paths. - Using vague event names like 'click' or 'action'—be specific so paths are readable ('button_signup_clicked' not 'click').
- Not waiting for events to arrive before accessing User Paths—Amplitude batches events every 10 seconds, so new events may lag 10–30 seconds.
- Confusing User Paths with Funnel—User Paths shows all possible sequences, while Funnel is a strict top-to-bottom flow. Use User Paths to discover behavior, Funnel to measure specific workflows.
Wrapping Up
You now have event tracking set up and can visualize user journeys in Amplitude's User Paths. Watch for drop-off points and unexpected branches—they often reveal friction in your onboarding or checkout flow. If you want to track this automatically across tools and get AI-powered insights into where users are getting stuck, Product Analyst can help.