6 min read

What Is Event Segmentation in Amplitude

You're tracking events in Amplitude, but you're only seeing aggregate numbers. Event segmentation lets you slice that data by user properties, event properties, and custom attributes to understand which customer cohorts are driving behavior. It's how you answer "Which pricing tiers have the highest feature adoption?" or "Do mobile users drop off in onboarding more than desktop users?" without digging into raw data.

What Event Segmentation Does

Segmentation breaks down your event counts or metrics across dimensions you define, revealing patterns that aggregate numbers hide.

Understand segmentation by example

Say you tracked 2,400 signup_completed events this week. Without segmentation, that's all you know. With segmentation, you filter by signup_source (organic, paid, referral) and device_type (mobile, desktop) and discover mobile signups are only 20% of volume but have 3x higher churn. That insight only surfaces when you segment.

javascript
// Track events with properties you'll segment by later
amplitude.track('signup_completed', {
  signup_source: 'organic',
  device_type: 'mobile',
  plan_tier: 'starter',
  referrer: 'producthunt.com',
  trial_length_days: 14
});
Each property becomes a segmentation option in the dashboard

Know event properties vs. user properties

Amplitude lets you segment by event properties (attributes of that specific action, like amount_usd on a purchase) and user properties (attributes that describe the user, like account_age or subscription_status). Event properties are event-specific; user properties apply across all events for that user.

javascript
// User properties apply to every event
amplitude.setUserProperties({
  account_age_days: 92,
  subscription_status: 'premium',
  company_size: '50-100',
  industry: 'SaaS'
});

// Event properties are specific to this action
amplitude.track('report_exported', {
  report_type: 'custom_query',
  format: 'CSV',
  num_rows: 50000,
  export_time_seconds: 12
});
Set user properties once per user; include event properties with every relevant event
Watch out: Properties you don't send with events can't be used for segmentation. Plan your event schema early — retroactive properties won't apply to old events.

Using Event Segmentation in the Dashboard

The Event Segmentation view in Amplitude's Analytics tab is where you slice event data into segments.

Navigate to Event Segmentation

Open your Amplitude project and go to Analytics > Events. Choose the event you want to analyze. You'll see a count over time by default — this is your aggregate baseline. From here, you add breakouts to see segments.

javascript
// Make sure events have consistent, clean property values
amplitude.track('feature_activated', {
  feature_name: 'advanced_reporting',
  tier_required: 'professional',
  activation_method: 'ui_button',
  is_first_time: true
});
Clean, consistent values make segmentation data readable

Add a breakout to segment data

Click Add Breakout and select a property. The chart splits into segments — one bar or line per unique value. Choose a user property (like subscription_plan), event property (like feature_name), or group property. Each segment shows counts or trends side-by-side, making comparison instant.

javascript
// Standardize plan names so segments are clean
amplitude.setUserProperties({
  subscription_plan: 'professional',  // consistent enum
  billing_cycle: 'monthly',
  annual_contract_value: 4800,
  customer_segment: 'mid-market'
});

amplitude.track('feature_used', {
  feature_name: 'advanced_analytics',
  session_id: 'sess_123'
});
Use enum values (e.g., 'professional', not 'pro' or 'Pro') for clean segments

Filter and compare segments

Click Add Filter to isolate specific segments — for example, device_type = mobile — and see how that cohort's behavior differs. Stack filters with AND logic to drill into specific user groups. The Comparator tab lets you overlay two segments side-by-side without toggling filters.

javascript
// Capture context that lets you filter accurately
amplitude.setUserProperties({
  device_type: 'mobile',
  os: 'iOS',
  app_version: '3.2.1',
  country: 'US',
  is_beta_user: false
});

amplitude.track('onboarding_step_completed', {
  step_number: 3,
  step_name: 'connect_data_source',
  time_to_complete_seconds: 45
});
Set context early; use it for filtering later
Tip: The Stickiness and Retention chart types work great with segmentation. Use them to see which segment has the highest day-1 or day-7 retention.

Segmentation Patterns That Drive Decisions

These are the questions segmentation answers best.

Compare adoption across pricing tiers

Segment a feature usage event by subscription_plan to see if premium users engage more. Do this before deciding which features to move upmarket. Compare conversion rates across plans by segmenting a purchase_completed event.

javascript
// Track plan at signup; use it as a segmentation dimension
amplitude.setUserProperties({
  signup_date: '2026-02-15',
  signup_cohort_month: '2026-02',
  initial_plan: 'free',
  current_plan: 'professional',
  days_since_upgrade: 40
});

amplitude.track('advanced_feature_used', {
  feature_name: 'predictive_analytics',
  tier_required: 'professional'
});
Track both signup plan and current plan to catch upgrades

Spot platform-specific friction

Segment conversion events by platform or device_type to identify if mobile users drop off more in checkout or onboarding. This often reveals platform-specific bugs or UX issues that aggregate metrics miss.

javascript
// Include platform in every conversion-related event
amplitude.track('checkout_started', {
  platform: 'web',  // or 'ios_app', 'android_app'
  flow_variant: 'A/B_test_v2',
  cart_value_usd: 299,
  coupon_applied: false
});

amplitude.track('payment_confirmed', {
  platform: 'web',
  payment_method: 'card',
  transaction_id: 'txn_12345'
});
Consistent platform naming makes conversion analysis actionable
Watch out: Free-form property values ('ios' vs 'iOS' vs 'Apple') fragment your segments. Use enums or a style guide.

Common Pitfalls

  • Inconsistent property values — 'starter-plan' vs 'starter' vs 'Starter Plan' create fragmented segments that hide patterns.
  • Forgetting to send a property with the event — if it's not on the event, you can't segment by it later. Plan your schema upfront.
  • Over-segmenting without filters — too many breakouts create noise. Add one segment, then drill down with filters.
  • Using event properties for user-level attributes — set user properties once, not on every event.

Wrapping Up

Event segmentation is how you move from "2,400 signups" to "1,200 mobile organic signups with 3x higher churn." It transforms aggregate metrics into actionable cohort insights. The setup is straightforward — clean event and user properties — but the payoff is massive: you spot friction, prioritize features, and understand which cohorts drive growth. If you want to set up event tracking schema across your entire product and auto-generate segmentation queries based on your business model, Product Analyst can help.

Track these metrics automatically

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

Try Product Analyst — Free