5 min read

What Is Conversion Rate in PostHog

Conversion rate is the percentage of users who complete a desired action, but measuring it accurately matters more than knowing the number. In PostHog, you track conversions through funnels—a series of connected events that show you exactly where users drop off and why.

What Conversion Rate Means in PostHog

PostHog treats conversion rate as a funnel metric—the percentage of users progressing through each step.

Understand the conversion rate formula

Conversion rate = (Users who completed the goal / Users who started the funnel) × 100. In PostHog, this calculation happens automatically when you create a Funnel visualization. The platform shows you each step's completion percentage and identifies where the biggest drop-offs occur. A funnel with 1,000 starting users and 300 conversions at the end has a 30% conversion rate. PostHog breaks this down by step, so you see exactly where users abandon the flow.

Capture a conversion event with the SDK

Before you can measure conversion rate, you need events. PostHog captures page views and clicks automatically, but you'll want custom events for specific conversions like checkout completion or payment success. Use the PostHog SDK to capture conversion events with relevant context—product type, price, user tier—so you can slice conversion rates by those attributes later.

javascript
posthog.capture('payment_completed', {
  $set: {
    customer_type: 'paid'
  },
  subscription_tier: 'pro',
  payment_amount: 99,
  billing_period: 'annual'
});
Capture a conversion event with context for later segmentation
Tip: Use consistent, action-based event names. payment_completed is clearer than purchase or checkout_done.

Building a Funnel to Measure Conversion Rate

A funnel in PostHog chains together events in the order users complete them, automatically calculating conversion rates between each step.

Define your funnel steps in PostHog

Open the Funnels panel and select the events that make up your conversion flow. For a typical SaaS signup-to-payment funnel, chain together user_signed_upproduct_viewedcheckout_startedpayment_completed. PostHog calculates the conversion rate automatically at each step. You can also set a time window—for example, requiring the full funnel to complete within 30 days.

javascript
// Trigger these events in sequence to form a funnel
posthog.capture('user_signed_up', { signup_source: 'landing_page' });
posthog.capture('product_viewed', { product_id: 'pro_plan' });
posthog.capture('checkout_started', { product: 'pro_plan' });
posthog.capture('payment_completed', { amount: 99 });
Events that form a conversion funnel in order

Analyze conversion rates step by step

PostHog displays the funnel as a waterfall. If step 1 has 1,000 users but step 2 has only 600, your conversion rate from step 1 to step 2 is 60%. When step 2 drops to step 3 at 150 users, that's a 75% drop—that's where users are leaving. Segment the funnel by user properties like plan type, company size, or signup source to see which cohorts convert best and which need optimization.

javascript
// Set user properties to segment funnel performance
posthog.identify('user_123', {
  company_size: 'enterprise',
  plan_variant: 'annual',
  signup_cohort: 'q1_2025'
});
// PostHog then lets you filter the funnel by these properties
Identify users with properties to segment conversion rates
Watch out: Very long funnels (5+ steps) often obscure the real drop-off points. Focus on your critical conversion moments—signup, checkout, and payment.

Retrieving Conversion Data Programmatically

When you need conversion rates in dashboards, automated alerts, or data pipelines, PostHog's API lets you fetch funnel data directly.

Query funnel conversion rates via the API

The PostHog API lets you fetch funnel data with specific event sequences, date ranges, and filters. You specify which events form your funnel, PostHog returns the conversion rate for each step, and drop-off numbers. This is useful for building automated dashboards, comparing conversion rates across time periods, or triggering alerts when conversion dips below a threshold.

javascript
const response = await fetch(
  'https://api.posthog.com/api/projects/{project_id}/funnels/',
  {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ${POSTHOG_API_TOKEN}`
    }
  }
);
const funnelData = await response.json();
console.log(funnelData); // Contains conversion rates per step
Fetch funnel conversion data from the PostHog API

Export and analyze conversion trends

You can export funnel results as CSV from PostHog's UI, or use the API to push conversion data into a data warehouse, analytics tool, or spreadsheet. This lets you build trend reports—comparing weekly or monthly conversion rates—and identify seasonal patterns or the impact of product changes.

javascript
// Pull conversion data for the last 30 days
const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
const params = new URLSearchParams({
  date_from: thirtyDaysAgo.toISOString().split('T')[0],
  interval: 'day',
  breakdown: 'properties',
  breakdown_type: 'event'
});
const url = `https://api.posthog.com/api/projects/{project_id}/funnels/?${params}`;
const response = await fetch(url, { headers: { 'Authorization': `Bearer ${POSTHOG_API_TOKEN}` } });
// Use this to feed into your analytics pipeline
Build trend analysis of conversion rates over time
Tip: PostHog's API is rate-limited; cache funnel results locally rather than polling on every request.

Common Pitfalls

  • Confusing conversion count with conversion rate—a funnel with 100 users and 60 conversions has a 60% rate, not 100 conversions; the percentage is what matters
  • Including too many funnel steps—it becomes hard to isolate where users actually drop off; stick to critical moments like signup, checkout, and payment
  • Not accounting for the funnel time window—by default PostHog allows 7 days between steps; if your conversion takes 30 days, adjust the window or you'll undercount conversions
  • Building a funnel where events aren't in order—if a user completes step 3 before step 2, they won't appear in your conversion count; structure your events to match actual user flow

Wrapping Up

Conversion rate in PostHog is straightforward: it's the percentage of users moving through each funnel step. Set up clear events, chain them together in a funnel, and watch where your users drop off. If you want to track conversion rates automatically across your entire product—without manually creating funnels for each flow—Product Analyst can help.

Track these metrics automatically

Product Analyst connects to your stack and surfaces the insights that matter.

Try Product Analyst — Free