Churn is one of the fastest killers of growth. You can't fix what you don't see. PostHog's Retention insight lets you measure what percentage of users return after their first action—the inverse of churn. Whether you're tracking subscription cancellations or inactive users, you need the right events flowing in and the right view set up to actually see it.
Capture Churn-Related Events
Churn starts with the right data. You need to track when users take actions that indicate they might be leaving.
Identify What Signals Churn in Your Product
Start by deciding what "churn" means for you. Is it a subscription cancellation? A user who stops logging in? A downgrade? Pick a concrete action and create an event for it. In PostHog, you'll track this with posthog.capture().
Send Churn Events from Your Application
Use the PostHog JavaScript SDK to capture churn signals. When a user cancels their subscription, stops using your product, or downgrades, fire an event. Important: Always identify the user first with posthog.identify() so PostHog knows which user the event belongs to.
// When a user cancels their subscription
posthog.identify(
userId, // e.g., "user_123"
{
email: userEmail,
plan: 'pro'
}
);
posthog.capture('subscription_cancelled', {
reason: 'too_expensive',
plan_type: 'pro',
months_active: 6
});Add Properties to Slice Churn Later
Include properties on your churn events—plan type, cancellation reason, customer segment. This lets you answer questions like "What's churn for free users vs. paid?" when you build retention insights.
posthog.identify() before posthog.capture() in your auth flow.Build a Retention Insight to Measure Churn
Once your events are flowing, PostHog's Retention view is the simplest way to see churn. It shows: of users who took Action A on Day 1, how many came back and took Action B on Day 7, 14, 30?
Create a New Retention Insight
Go to Insights in the left sidebar and click + New insight. Select Retention as the insight type. This view is specifically built for cohort analysis and churn measurement.
Define Your Returning Action
In the Retention view, set up what action defines an "active" user. Pick an action like page_view or product_used. PostHog will show you what % of users who did this action on Day 1 returned on Day 7, 14, 30, etc. This percentage is 1 - churn_rate.
// In PostHog UI, configure:
// - Starting event: "signup" or "first_login"
// - Returning event: "page_view"
// From your app, send the events:
posthog.capture('page_view', {
page_name: 'dashboard',
plan_type: user.planType
});
// PostHog calculates retention % automaticallyFilter by Cohorts or Properties
Use the Filter button in the Retention view to segment your data. Filter by plan_type == 'pro' or by a specific user cohort. This tells you whether churn is uniform or concentrated in certain segments.
Read the Retention Table
The table shows % of users retained on each day. Day 1 is always 100%. If Day 7 is 65%, that means 35% churned in the first week. Look for sharp drops—they often indicate a product issue, seasonal pattern, or feature gap. Compare across segments to find where you're bleeding users.
Build a Churn Monitoring Dashboard
A one-off insight is useful, but you need to track churn week over week. Create a dashboard widget so you're always watching the numbers.
Pin Your Retention Insight to a Dashboard
Once your Retention insight is configured, click the three-dot menu and Add to dashboard (or create a new one). Name it something clear like "Churn by Segment" or "Weekly User Retention."
Add a Trends Chart for Churn Volume
Create a second insight: Go to Insights > + New > Trends. Select your churn event (e.g., subscription_cancelled). Set time range to Last 90 days and group by date. This shows you raw churn events over time, useful for spotting trends.
// In PostHog Trends insight:
// Event: subscription_cancelled
// Time period: Last 90 days
// Group by: date
// Filter: plan_type = 'pro'
// Your app sends:
posthog.capture('subscription_cancelled', {
plan_type: 'pro',
ltv_before_churn: 1200,
churn_segment: 'enterprise'
});Set Weekly Review Rituals
Pin both insights to a Churn Monitoring dashboard. Review it weekly with your team. Watch for: declining retention %, specific cohorts with high churn, and spikes that correlate with releases or changes.
Common Pitfalls
- Forgetting to identify users before capturing events—anonymous events won't show up correctly in retention cohorts, breaking your churn analysis.
- Using vague events like 'user_action' instead of specific ones like 'subscription_cancelled'—PostHog's retention view works best with concrete, intentional events.
- Not filtering by plan type or segment—overall churn can mask the fact that free users churn at 80% while paying users churn at 5%. Always slice the data.
- Confusing retention % with churn %—if retention is 65%, churn is 35%. Don't report them backwards to your exec team.
Wrapping Up
You now have a clear path to visibility on churn: capture the right events, build a retention insight, and monitor it weekly. PostHog's Retention view removes the guesswork. If you want to track this automatically across tools and correlate churn with feature usage, session recordings, and support data, Product Analyst can help.