Build Conversion Funnels in PostHog
Create conversion funnels in PostHog to find GTM bottlenecks
Instructions
Build Conversion Funnels in PostHog
Prerequisites
- PostHog project with events tracked at each funnel stage
- Clear definition of the conversion path you want to analyze
Steps
-
Define your funnel stages. Map the user journey as a sequence of events. Example signup funnel:
page_viewed(pricing) >signup_started>signup_completed>onboarding_step_1>onboarding_complete. Each step must be a distinct, trackable event. -
Create a funnel insight via API. Use the PostHog API or MCP to create a funnel:
POST /api/projects/<id>/insights/ { "name": "Signup Funnel", "filters": { "insight": "FUNNELS", "events": [ {"id": "page_viewed", "properties": [{"key": "$current_url", "value": "/pricing"}]}, {"id": "signup_started"}, {"id": "signup_completed"} ], "funnel_window_days": 7 } }Set the conversion window: 7 days for signup flows, 30 days for sales processes.
-
Analyze drop-off points. PostHog returns conversion rates between each step. Identify the biggest drop-off. If 80% start signup but only 40% complete it, the signup form is the bottleneck. Focus optimization effort on the step with the largest absolute drop.
-
Break down by properties. Add breakdown parameters to slice the funnel by traffic source, device, plan type, or geography:
"breakdown": "utm_source", "breakdown_type": "event"This reveals which segments convert best and which need attention.
-
Compare time periods. Use HogQL to compare funnel performance across periods:
SELECT step, count() FROM funnel WHERE timestamp > now() - interval 7 day GROUP BY stepLook for improving or declining conversion rates. A declining step indicates something changed (new bug, UX change, market shift).
-
Set up funnel alerts. Use n8n to build a scheduled workflow that queries funnel conversion rates via the PostHog API and triggers a Slack notification when a stage's conversion rate drops below your threshold. See
n8n-crm-integrationfor the n8n-to-PostHog pattern.