luvv to helpDiscover the Best Free Online Tools
Topic 5 of 8

Funnel Segmentation

Learn Funnel Segmentation for free with explanations, exercises, and a quick test (for Product Analyst).

Published: December 22, 2025 | Updated: December 22, 2025

Why this matters

Segmentation turns a single funnel into many focused views so you can see who converts, where they drop, and why. Product Analysts use segmented funnels to:

  • Prioritize fixes: e.g., identify that mobile Safari users fail at payment step.
  • Allocate budget: e.g., see which acquisition channels bring high-intent users.
  • Tailor onboarding: e.g., new users vs. returning users need different guidance.
  • Measure experiment impact across cohorts: avoid hiding effects in averages.

Concept explained simply

A funnel is a sequence of steps users complete to reach a goal (e.g., Visit β†’ Add to cart β†’ Purchase). Segmentation means splitting that funnel by attributes (source, device, country, cohort, or behavior) to compare conversion at each step.

Mental model

Imagine a set of parallel lanes flowing through the same pipe. Each lane is a segment. You don’t just compare lane sizes at the end; you watch where each lane leaks. The biggest differences between lanes point to the most actionable fixes.

Key terms (open)
  • Segment: A group of users/sessions sharing an attribute (e.g., device = mobile).
  • Per-step conversion: Conversions at step i given step iβˆ’1 (conditional rate).
  • Overall conversion: Users who reach the final step divided by users who started.
  • Window: Time allowed to reach the next step (e.g., 7 days).
  • Attribution: How you assign a source/channel to a user or session.
  • Unit of analysis: User, session, or event. Choose one and stay consistent.

Who this is for

  • Product Analysts and Growth Analysts who diagnose drop-offs.
  • PMs who need evidence to prioritize fixes.
  • Data-savvy marketers focusing on channel quality.

Prerequisites

  • Know how to define a funnel clearly (events, order, and time window).
  • Basic SQL or familiarity with product analytics tools.
  • Understanding of user vs. session scope.

Learning path

  1. Define the base funnel clearly (events, order, window, unit of analysis).
  2. Add one segmentation dimension at a time (e.g., device), then layer more if needed.
  3. Quantify differences, search for root causes, and propose targeted actions.

Worked examples

Example 1 β€” Signup funnel by traffic source

Funnel: Landing β†’ Start signup β†’ Complete signup (7-day window). Segments: Organic vs. Paid.

  • Organic: 10,000 β†’ 4,000 β†’ 2,400. Per-step: 40% then 60%. Overall: 24%.
  • Paid: 8,000 β†’ 2,000 β†’ 600. Per-step: 25% then 30%. Overall: 7.5%.

Insight: Paid traffic drops earlier and harder. Likely lower intent or mismatch. Action: Improve ad targeting/LP clarity; test stronger intent filters before signup.

Example 2 β€” Checkout funnel by device

Funnel: Product view β†’ Add to cart β†’ Checkout β†’ Pay (24h window). Segments: Desktop vs. Mobile.

  • Desktop: 12,000 β†’ 3,600 β†’ 2,700 β†’ 2,430. Per-step: 30%, 75%, 90%. Overall: 20.25%.
  • Mobile: 18,000 β†’ 4,320 β†’ 2,160 β†’ 1,080. Per-step: 24%, 50%, 50%. Overall: 6%.

Insight: Mobile drops at Checkout β†’ Pay. Action: Audit mobile payment UX, Apple/Google Pay setup, 3DS friction, error rates by browser.

Example 3 β€” Onboarding by new vs. returning users

Funnel: Install β†’ Open app β†’ Complete onboarding β†’ 7-day retention. Segments: New (first-timers) vs. Returning users.

  • New: 20,000 β†’ 16,000 β†’ 8,000 β†’ 2,400 (Per-step: 80%, 50%, 30%).
  • Returning: 6,000 β†’ 5,400 β†’ 4,320 β†’ 2,592 (Per-step: 90%, 80%, 60%).

Insight: New users struggle at onboarding completion. Action: Add progress cues, reduce required fields, show examples; consider a skip-and-return later option.

How to run a segmented funnel (step-by-step)

  1. Define your base funnel
    • Steps: name each required event and its order.
    • Window: choose the time allowed between steps.
    • Scope: user or session. Stay consistent across steps.
  2. Choose one segmentation dimension
    • Start with high-impact: device, channel, country, browser, cohort (e.g., signup month), or behavior (e.g., first-time vs. returning).
  3. Compute per-step and overall conversion per segment
    • Per-step i: count(step i) / count(step iβˆ’1).
    • Overall: count(final) / count(start).
  4. Compare segments and locate the biggest relative drop
    • Look for the step with the largest gap between best and worst segments.
  5. Validate sample sizes and noise
    • Avoid overinterpreting tiny segments; combine or extend timeframe.
  6. Form a hypothesis and propose an action
    • UX fix, targeting change, copy update, performance improvement, or A/B test.
Helpful checklist
  • Clear funnel definition (steps, order, window) written down.
  • One segmentation dimension at a time before layering more.
  • Consistent unit of analysis (user vs. session).
  • Exclude test/employee traffic if needed.
  • Check small-segment stability (min sample rules).
  • Document insights, proposed actions, and owners.

Exercises (do these before the Quick Test)

These mirror the exercises below so you can check answers.

Exercise 1 β€” Compute segmented conversion and prioritize

Funnel: Visit β†’ View pricing β†’ Start trial β†’ Activate (7 days). Segments: Direct vs. Referral.

  • Direct: 9,000 β†’ 3,600 β†’ 1,080 β†’ 540
  • Referral: 6,000 β†’ 2,400 β†’ 1,200 β†’ 840

Tasks:

  • Compute per-step and overall conversion for each segment.
  • Identify the step with the largest gap.
  • State one action you would test first.
Show solution

Direct per-step: 3,600/9,000 = 40%; 1,080/3,600 = 30%; 540/1,080 = 50%. Overall: 540/9,000 = 6%.

Referral per-step: 2,400/6,000 = 40%; 1,200/2,400 = 50%; 840/1,200 = 70%. Overall: 840/6,000 = 14%.

Biggest gap: Start trial β†’ Activate (Direct 50% vs. Referral 70%).

Action: Improve activation for Direct users (e.g., guided checklist, clearer first-run value, reduce setup friction).

Exercise 2 β€” Draft a query logic for segmentation

Events table columns: user_id, event_name, event_time, device, source.

Goal: Get per-step conversion for funnel (view_product β†’ add_to_cart β†’ checkout β†’ purchase) segmented by device within a 3-day window from first view_product per user.

Write pseudo-SQL or steps to produce conversion by step and device.

Show solution
-- Pseudo-SQL outline
WITH first_view AS (
  SELECT user_id, MIN(event_time) AS fv_time
  FROM events
  WHERE event_name = 'view_product'
  GROUP BY user_id
), scoped AS (
  SELECT e.user_id,
         e.event_name,
         e.event_time,
         e.device,
         fv.fv_time
  FROM events e
  JOIN first_view fv USING (user_id)
  WHERE e.event_time BETWEEN fv.fv_time AND fv.fv_time + INTERVAL '3 day'
), steps AS (
  SELECT user_id,
         MIN(CASE WHEN event_name = 'view_product' THEN event_time END) AS s1,
         MIN(CASE WHEN event_name = 'add_to_cart' THEN event_time END) AS s2,
         MIN(CASE WHEN event_name = 'checkout' THEN event_time END) AS s3,
         MIN(CASE WHEN event_name = 'purchase' THEN event_time END) AS s4,
         ANY_VALUE(device) AS device -- device at first event or most frequent
  FROM scoped
  GROUP BY user_id
)
SELECT device,
  COUNT(*) FILTER (WHERE s1 IS NOT NULL) AS step1,
  COUNT(*) FILTER (WHERE s2 IS NOT NULL) AS step2,
  COUNT(*) FILTER (WHERE s3 IS NOT NULL) AS step3,
  COUNT(*) FILTER (WHERE s4 IS NOT NULL) AS step4,
  ROUND(COUNT(*) FILTER (WHERE s2 IS NOT NULL)::numeric / NULLIF(COUNT(*) FILTER (WHERE s1 IS NOT NULL),0), 3) AS rate_1_to_2,
  ROUND(COUNT(*) FILTER (WHERE s3 IS NOT NULL)::numeric / NULLIF(COUNT(*) FILTER (WHERE s2 IS NOT NULL),0), 3) AS rate_2_to_3,
  ROUND(COUNT(*) FILTER (WHERE s4 IS NOT NULL)::numeric / NULLIF(COUNT(*) FILTER (WHERE s3 IS NOT NULL),0), 3) AS rate_3_to_4,
  ROUND(COUNT(*) FILTER (WHERE s4 IS NOT NULL)::numeric / NULLIF(COUNT(*) FILTER (WHERE s1 IS NOT NULL),0), 3) AS rate_overall
FROM steps
GROUP BY device
ORDER BY device;

Notes: Anchor the 3-day window to first view; ensure device is taken consistently; use filtered counts to compute per-step and overall rates.

Exercise checklist
  • I computed both per-step and overall conversion per segment.
  • I identified the largest gap and proposed an action.
  • My logic/query fixes the analysis window and unit of analysis.
  • I avoided reading too much into tiny segments.

Common mistakes and how to self-check

  • Mixing units (user vs. session). Self-check: Are denominators consistent across steps?
  • Changing definitions mid-analysis. Self-check: Are event definitions identical across segments/time?
  • Ignoring tiny sample segments. Self-check: Flag segments below your minimum sample threshold.
  • Simpson’s paradox. Self-check: If overall rates disagree with segmented rates, check for hidden confounders (e.g., device mix differs by source).
  • Wrong window. Self-check: Confirm time windows reflect realistic behavior and are the same across segments.
  • Attribution drift. Self-check: Ensure each user/session has one stable source value for this analysis.
Mini self-audit
  • Write down your funnel steps, unit, and window in 2–3 lines.
  • List the one segmentation that matters most now and why.
  • Note the single biggest drop and the smallest segment you will ignore or merge.

Practical projects

  • Mobile checkout deep-dive: Segment by device and browser; capture error codes; propose top 2 fixes with expected impact.
  • Channel quality score: Build a segmented funnel from Landing to Activation by source/medium; compute weighted score to inform budget allocation.
  • Onboarding simplification: Segment new vs. returning users; run a guided checklist variant for new users and measure changes at the sticky step.

Mini challenge

Your overall purchase rate is flat at 10%, but after segmenting by country you see: Country A 14%, Country B 6%. Payment failures are 3% in A vs. 12% in B. In one paragraph, state a hypothesis and the first fix you will prioritize. Keep it specific (e.g., payment provider routing, currency display, 3DS flow on mobile).

Hint

Target the step with the biggest gap tied to an observable metric (payment failure). Propose a change measurable within 1–2 weeks.

Next steps

  • Apply one segmentation to a live funnel and document your top 3 insights with suggested actions.
  • Share with your PM/engineering partner; pick one fix to ship or A/B test.
  • Then take the Quick Test to check your understanding. The Quick Test is available to everyone; only logged-in users get saved progress.

Practice Exercises

2 exercises to complete

Instructions

Funnel: Visit β†’ View pricing β†’ Start trial β†’ Activate (7 days). Segments: Direct vs. Referral.

  • Direct: 9,000 β†’ 3,600 β†’ 1,080 β†’ 540
  • Referral: 6,000 β†’ 2,400 β†’ 1,200 β†’ 840

Tasks:

  • Compute per-step and overall conversion for each segment.
  • Identify the step with the largest gap.
  • Recommend one actionable fix to test first.
Expected Output
Per-step and overall rates for each segment, the biggest gap identified, and one prioritized action.

Funnel Segmentation β€” Quick Test

Test your knowledge with 8 questions. Pass with 70% or higher.

8 questions70% to pass

Have questions about Funnel Segmentation?

AI Assistant

Ask questions about this tool