Knowing whether users actually finish what they start is the difference between understanding your product and guessing. PostHog's funnel analysis lets you track the conversion rate from first touch to final action, and see exactly where users drop off. Here's how to set it up and watch it in real time.
Capture Conversion Events
Before you can measure conversion rate, you need to track the events that define success.
Identify your conversion steps
Think about the user journey: what event marks the start (e.g., View Pricing Page) and what marks success (e.g., Payment Submitted)? Write these down. Conversion rate is always a ratio between two events, so you need both.
Add event capture to your app
Use posthog.capture() to send events when users hit these key moments. Include relevant properties—like page, plan, or user segment—so you can slice the data later.
// When user views pricing
posthog.capture('pricing_page_viewed', {
page: 'pricing',
user_plan: 'free'
});
// When user submits payment
posthog.capture('payment_submitted', {
amount: 49.99,
currency: 'USD',
plan_name: 'pro'
});Verify events are flowing
Go to Data Management > Events in PostHog to see live events coming in. If you don't see your events within a few seconds, check browser console for errors and ensure the PostHog snippet is loaded.
timestamp property if you're sending events from a backend system—PostHog defaults to server time, which can skew your funnels.Build a Conversion Funnel
Now turn those events into a visual funnel to see where users drop off.
Create a new insight
In PostHog, click Insights > New Insight and select Funnel from the query type menu.
Add your funnel steps
Click Add Step and select your start event (e.g., pricing_page_viewed). Add a second step for your conversion event (e.g., payment_submitted). You can add intermediate steps too—like Checkout Opened or Discount Applied—to pinpoint where users abandon.
// Example: multi-step funnel events
posthog.capture('checkout_opened');
posthog.capture('discount_entered', { discount_code: 'SAVE10' });
posthog.capture('payment_submitted', { discount_applied: true });Apply filters
Use Filters to narrow down to specific segments (e.g., first-time visitors, users on mobile, or users from a specific source). This helps you spot if conversion rates vary by cohort.
Check your conversion rate
PostHog shows the drop-off percentage between each step. The rate from start to end event is your overall conversion rate.
Monitor Conversion Over Time
Set up dashboards so you catch conversion dips before they compound.
Save your funnel to a dashboard
After you build the funnel, click Save to Dashboard. Pick an existing dashboard or create one for conversion metrics. Now you can check conversion rate anytime without rebuilding the query.
Track conversion as a time-series metric
Click Trends on your funnel insight to see conversion rate over days or weeks. This shows if your recent changes (pricing update, checkout redesign) actually improved or hurt conversion.
Add cohort or property breakdowns
Use Breakdown By to split your funnel by user property (e.g., user_plan, source) or cohort. If one segment converts at 5% and another at 20%, you've found actionable insight.
// Track user source and plan as properties
posthog.identify('user_123', {
plan: 'pro',
source: 'google_ads',
signup_date: '2025-01-15'
});
// Later, these properties are included automatically in all events
posthog.capture('payment_submitted', {
amount: 49.99
});Common Pitfalls
- Forgetting to include conversion events in your initial app instrumentation—you'll have a gap in historical data.
- Mixing up funnel step order—PostHog requires events in sequence. If someone pays before viewing pricing, they won't be counted.
- Not accounting for time between steps—a user might view pricing today and pay three weeks later. Check your funnel's step time window and adjust if needed.
- Treating conversion rate as one number—always segment by device, geography, or cohort. 'Overall' conversion rate masks where the real wins and losses are.
Wrapping Up
You now have a working funnel that shows where users drop off and how your conversion rate changes over time. Watch for spikes and dips, run experiments to test improvements, and check those breakdowns to find your best-converting segments. If you want to track and analyze these metrics across your entire product stack without custom queries, Product Analyst can help.