Skip to main content

Command Palette

Search for a command to run...

Day 8: Funnels – Where Users Drop Off (And Why Metrics Lie)

Published
8 min read
O
Frontend engineer with 6 years of experience building and shipping production web applications. Currently focused on developer experience and developer relations through hands-on analysis and public writing on developer tools, onboarding, and product messaging.

Hey_Techys!! Day 8 of the PostHog series!

Today was CONFUSING. Like, really confusing.

I opened PostHog's funnel docs and saw a WALL of settings. My boyfriend makes fewer promises than PostHog made about what funnels can do 🤣🤣

Let me just tell you what happened...

What PostHog Said Funnels Would Do

According to the docs, funnels show you:

  • Where users get stuck

  • Who drops off vs who converts

  • How long it takes between steps

  • If your product changes actually help

Sounds simple, right?

WRONG.

My First Funnel (The 100% Conversion Lie)

Creating a funnel is easy:

  1. Go to Product Analytics

  2. Click the "+" button

  3. Select "Funnel"

Then PostHog throws a FORM at you with like 10 different dropdowns.

By now we should be used to PostHog forms (we've been filling them out since Day 2), but THIS one had more settings than I expected.

My first funnel:

Step 1: task_created
Step 2: add_task_dialog_opened

Result: 100% conversion! 🎉

Me: "Wow! My app is PERFECT! Everyone who creates tasks opens the dialog!"

Reality: I built it BACKWARDS. 🤦‍♀️

Obviously everyone who created a task opened the dialog first—that's literally HOW you create tasks! You HAVE to open the dialog to enter task details!

I felt so stupid. But also learned something: funnel order actually matters.

The Settings That Broke My Brain

Let me explain all these dropdown settings because each one can COMPLETELY change your results.

1. Aggregating By

Three options:

Unique users - Counts each user once, regardless of how many times they complete the funnel.

Example: If Sarah creates 5 tasks, she's counted once in the "task_created" step, not five times.

When to use: Most product analytics (understanding USER behavior)


Unique sessions - Counts each session separately, even if it's the same user

Example: If Sarah visits TaskFlow Monday (creates a task) and Tuesday (creates another task), she's counted twice—once per session.

When to use: Understanding SESSION-level behavior (e.g., "How many browsing sessions lead to conversion?")


Custom SQL - Advanced option for custom aggregation logic using SQL

Example: You could write SQL to count only weekday sessions, or sessions longer than 5 minutes, or whatever complex logic you need.

When to use: Advanced analytics with specific requirements. For most use cases (including mine), stick with "Unique users." ✅

2. Conversion Window

Translation: How long do users have to complete your funnel?

I set mine to 14 days.

Example:

  • User logs in Jan 1

  • User creates task Jan 10

  • That's 9 days → Still counts! ✅

But:

  • User logs in Jan 1

  • User creates task Jan 20

  • That's 19 days → Doesn't count ❌

3. Step Order (This One is IMPORTANT)

Three options:

Sequential - Step 2 happens after Step 1 (but users can do other stuff in between)

Example:

user_logged_in → clicked filter → scrolled → task_created

This COUNTS because task_created happened after login, even though other stuff happened in between.


Strict - Step 2 IMMEDIATELY after Step 1 (nothing in between)

Example:

user_logged_in → clicked filter → task_created

This DOESN'T count because "clicked filter" happened between login and task creation.


Any Order - Steps can happen in any sequence

I tried this and it was a DISASTER. Omo, the gist is sweet sha (Nigerian for "the story is juicy") - Will share the story later...


The difference between Sequential and Strict?

I tested it:

  • Sequential: 60% conversion

  • Strict: 15% conversion

45% DIFFERENCE!

Real users don't follow perfect paths. They click around, explore, get distracted. Strict order excludes most of that. Use Sequential.

4. Conversion Rate Calculation

PostHog gives you two ways to calculate funnel conversions. They show completely different stories.

Overall Conversion - Each step compared to Step 1 (your starting point)

Example:

Step 1: 100 people (100%)
Step 2: 60 people (60% of Step 1)
Step 3: 30 people (30% of Step 1)

What I see: "Only 30% of users complete the funnel. Step 2 and 3 both need work."


Relative to Previous - Each step compared to the step immediately before it

Same data, different view:

Step 1: 100 people (100%)
Step 2: 60 people (60% of Step 1)
Step 3: 30 people (50% of Step 2) ← Different!

What I see: "Step 2 converts at 60%, but Step 3 only converts at 50%. Step 3 is my real problem!"


Why this matters:

I looked at "Overall" and thought Step 2 was my problem (only 60%).

Then I switched to "Relative" and realized Step 3 is WORSE (only 50% of people who reach Step 2 make it to Step 3).

Always check both views!

My real TaskFlow example:

Overall view showed:Relative view revealed:
Step 4: 44.44% (looks terrible)Step 3→4: 57.14% conversion
Step 5: 22.22% (looks worse)Step 4→5: 50% conversion

The insight: Step 4→5 isn't that bad (50% is decent!). My real leak is earlier—Step 3→4 is where users drop off.

Here's what this looks like in PostHog:

Overall view: All steps compared to Step 1 (the baseline)

Relative view: Notice the tooltip - "conversion rate relative to the previous step." The percentages change completely!

5. The Other Settings (I'll Keep These Short)

Exclusion Steps - Remove people who did specific things

Like: "Exclude anyone who clicked Help between Step 1 and 2" I skipped this—too complex for Day 8

Filters - Only track certain users

Like: "Only show me Chrome users" or "Filter out my team" I kept this off because I'm the only one testing

Breakdown Attribution - If users switch browsers between steps, which browser gets credit?

Honestly? This is complex. Just use the default (First Touchpoint) unless you have a specific reason not to.

Building My Real Funnel (After Learning From My Mistake)

After my backwards funnel disaster, I made a simple one:

Step 1: user_logged_in
Step 2: task_created
Step 3: user_logged_out

Settings:

  • Sequential order ✅

  • 14 days window

  • Unique users

  • Overall conversion

Result:

  • 2 people logged in

  • 2 people created tasks (100% conversion!)

  • 1 person logged out (50% dropped)

This made sense! I could see where people dropped.

Insight: Half my users don't formally log out—they just close the tab. That's fine! People rarely log out of apps anymore.

Then I Made It Too Complex (The 9-Step Disaster)

I thought: "TaskFlow is free-form. Users can do anything in any order. Maybe I should track MORE steps and use Any Order!"

BAD IDEA.

My 9-step funnel:

1. user_logged_in
2. add_task_dialog_opened
3. add_task_dialog_cancelled
4. task_created
5. task_searched
6. filter_changed
7. task_completed
8. task_uncompleted
9. user_logged_out

Step order: Any Order

What went wrong:

Problem 1: No Labels!

PostHog's modal said: "Completed 2 steps"

But WHICH 2 steps?!

With 9 possible steps and Any Order, PostHog couldn't tell me which steps users actually completed.

I just saw:

  • "3 people completed 2 steps"

  • "1 person completed 3 steps"

But I had NO IDEA which steps!

How am I supposed to improve my app if I don't know what people are actually doing?

Problem 2: The Numbers Didn't Match Initially

Funnel chart said: 2 people completed 2 steps

Modal (when I clicked) said: 3 people

Me: "WHAT?!" I was really confused and thought this was a big UX issue until i saw the correct numbers 3 hours later. Turns out it was just lag—the numbers updated correctly after I refreshed. Classic analytics delay!

Problem 3: Where's the Step Breakdown?!

What I wanted: A list showing which steps each user completed

What PostHog showed: Email addresses and a "View recording" button

That's IT.

To see what each user did, I'd have to:

  1. Click "View recording"

  2. Watch a 10-minute video

  3. Manually note which steps they hit

  4. Repeat for EVERY user

This is BACKWARDS!

Funnels should show me WHERE users dropped (text, quick glance).

Session Replay should show me WHY they dropped (video, deep dive).

But PostHog makes me watch videos just to figure out WHERE. That's not efficient!

The Workaround I Found:

Go to Activity tab → Search for user email → See all their events in text

This works! But it's manual work PostHog should do automatically.

What I Learned (The Actually Useful Part)

1. Keep Funnels SIMPLE

My 9-step funnel was useless. Too complex, no labels, meaningless data.

Better: Make multiple simple funnels (2-4 steps each), each answering ONE question.

Like:

  • "Do people who log in create tasks?" (2 steps)

  • "Do people complete tasks they create?" (2 steps)

One funnel = one question. ✅

2. Settings Change EVERYTHING

Same funnel, different settings:

  • Time window: 55% difference

  • Step order: 45% difference

  • Conversion calculation: Shows different problems

Always check your settings before trusting the numbers!

3. Use Sequential (Not Any Order)

TaskFlow is non-linear—users have total freedom.

But my questions are still linear:

  • "Do logins lead to task creation?"

  • "Do creations lead to completions?"

Sequential captures this! Users can do whatever between steps, Sequential just asks: "Did Step 2 happen after Step 1?"

Use Sequential. Almost always.

4. PostHog's Funnel UI Has Gaps

Missing:

  • Text breakdown of which steps users completed

  • Labels in Any Order mode

These aren't blockers, but they made my life harder.

5. Funnels Connect to Everything

  • Day 5 custom events = funnel steps ✅

  • Day 6 session replay = explains WHY users dropped ✅

  • Day 7 user identification = shows WHO converted ✅

PostHog's features are most powerful together!

Up Next: Day 9

So far:

  • Day 1: What is PostHog? ✅

  • Day 2: Setup (SSR bug) ✅

  • Day 3: Empty dashboard ✅

  • Day 4: Toolbar (visual event tracking) ✅

  • Day 5: Custom events (AI magic) ✅

  • Day 6: Session replay (UX goldmine) ✅

  • Day 7: User identification (anonymous → identified) ✅

  • Day 8: Funnels (where users drop off) ✅

Coming up:

  • Day 9: Feature Flags – Shipping Without Fear

  • Day 10+: More features...

Stay tuned!

Follow along with the series:
- 🎥 TikTok: [https://www.tiktok.com/@hey_techys?is_from_webapp=1&sender_device=pc]
- 📸 Instagram: [https://www.instagram.com/hey_techys]
- 💼 LinkedIn: [https://www.linkedin.com/in/onyenekwe-elizabeth-46a467183/]
- 🐦 Twitter/X: [https://x.com/ElizabethOnyen6]

Byeeeeeeee!!!!

- Lizzy