
Product analytics tools: The PM and founders guide to a modern stack
TL;DR: PostHog shows you product behavior: events, funnels, retention cohorts, session recordings. It doesn't show you which users are your highest-revenue customers, what activation patterns predict long-term LTV, or which features drive expansion. Those answers require connecting PostHog to your billing and CRM data. The fastest path: use an AI-native platform like Fabi to query across everything without building a warehouse pipeline first.
If you track product usage with PostHog, you have access to a level of behavioral data most companies would envy. Events, funnels, session recordings, retention cohorts, feature flags. PostHog's built-in analytics are genuinely powerful for understanding what users do in your product.
But product analytics and business analytics are not the same thing.
"Which features are used most by our highest-revenue customers, and what does that tell us about what to build next?" "Are accounts with high feature adoption expanding at higher rates than those that aren't?" "Which activation milestones actually predict long-term retention, and how many of our current accounts are hitting them?"
These questions require connecting PostHog's behavioral data to revenue and CRM context. PostHog doesn't know what your customers pay. It doesn't know their deal size, their acquisition channel, or whether they're up for renewal next month. This post covers what PostHog's built-in analytics gives you, where it hits its limits, and how to build a more complete view.
PostHog ships with a comprehensive set of product analytics tools:
You can filter most of this by cohort, event property, and date range. For product and engineering teams trying to understand feature adoption, onboarding friction, and user behavior, PostHog is excellent. The combination of qualitative (session recordings) and quantitative (funnels, retention) data in one tool is genuinely useful.
PostHog's group analytics are particularly valuable for B2B products. Being able to aggregate user events up to the company or account level, and build retention and funnel views at the account level, is something many product analytics tools don't support well. For teams tracking product-led growth motions, this is meaningful.
The gaps show up the moment you try to connect product behavior to business outcomes.
No revenue context. PostHog knows what users do. It doesn't know what they pay. So while you can see which features are most used, you can't see whether those users are on your $50/month plan or your $5,000/month plan. Usage data without revenue context can lead to building for your least valuable customers, which is a common and expensive mistake.
Behavioral data doesn't include acquisition context. PostHog tracks what happens after a user signs up. It doesn't track where they came from. To understand which acquisition channels produce your most engaged users, you need to join PostHog data with CRM or marketing attribution data, something PostHog can't do natively.
Group analytics have limits for complex segmentation. PostHog's group analytics let you analyze at the account level, which is critical for B2B. But if you want to segment accounts by contract value, industry, or sales motion, attributes that live in your CRM, not PostHog, you're stuck. PostHog groups only know what you've explicitly sent to them as group properties.
No churn or expansion visibility. PostHog can show you users who stopped using the product, which is a proxy for churn. But it can't see actual subscription status, renewal dates, or expansion events, those live in your billing system. The connection between "usage dropped" and "they're about to cancel" requires data PostHog doesn't have.
Dashboards are PostHog-data-only. PostHog's dashboards are useful for product metrics, but they can't mix in revenue or CRM data. If you want a leadership dashboard that shows activation rate alongside MRR growth, you're building it in two tools and combining manually.
None of this is a knock on PostHog. It's a product analytics platform, not a business intelligence tool. But if product data is central to how you make decisions, you eventually need to connect it to the revenue context it belongs in.
The goal isn't to replace PostHog's product view. You still need funnels, retention, and session recordings. The goal is to add layers that connect behavioral data to business outcomes.
Here's what that looks like in practice:
Usage by revenue segment. Connect PostHog with Stripe and you can see feature adoption rates broken out by subscription tier, ARR band, or customer segment. This changes product prioritization fundamentally: instead of optimizing for the median user, you can optimize for the users who drive the most revenue. The features your highest-paying customers rely on are the ones worth investing in.
Activation milestones mapped to LTV. Identify which product events (completing onboarding, using a specific feature, inviting a teammate) correlate with higher long-term LTV. To find these, you need to join PostHog activation events with billing retention data. Once you have it, you know exactly what good activation looks like and can build toward it.
Expansion signals from product behavior. Connect PostHog usage patterns with Stripe expansion events, and you can identify the feature usage and engagement signals that precede upsells. Which customers expanded? What were they doing in the product before they upgraded? That's a playbook for CSMs and product managers.
Churn prediction with real signals. Combine dropping feature usage in PostHog with upcoming renewal dates in Stripe and low support engagement in your support tool. Real churn risk isn't one signal, it's a pattern across systems. Connecting them gives you a health score that actually predicts cancellation, not just a proxy.
Attribution to product outcomes. Connect acquisition source from your CRM or marketing data with product activation rates in PostHog. Which channels produce users who activate? Which produce users who sign up and never return? This feeds directly into marketing spend decisions and helps you close the loop between acquisition and retention.
Here's a quick comparison of how they stack up:
Export user or group data from PostHog. Export billing and CRM records. Match by email or user_id. Build pivot tables in Google Sheets. Works for a one-time analysis, breaks for anything recurring: exports are stale, matching users across systems is error-prone, and the result is usually a spreadsheet only one person can interpret.
PostHog supports data warehouse exports directly, you can sync event data into BigQuery, Snowflake, or Redshift. This is actually a genuine strength of PostHog's architecture, and it means teams with warehouse infrastructure can get event data into their analytics stack relatively easily. Once synced, you can join with Stripe, HubSpot, or other sources and build dashboards in a BI tool. The cost is the warehouse and BI layer on top, plus the engineering time to write and maintain the join logic as schemas evolve.
This is the approach we built Fabi around.
Connect PostHog to Fabi alongside your billing and CRM data. Query across all of them without writing pipeline code.
"Show me feature adoption rates for each core feature, broken out by Stripe subscription tier."
"Which accounts haven't used the product in 14 days and have a renewal date in the next 60 days?"
"Show me time-to-activation for the last three signup cohorts, compared against their 3-month retention rate."
Fabi generates SQL against your connected sources. You see the logic behind every query and can adjust it. Shared dashboards stay live as new events come in.
It also solves the ad hoc problem. When your Head of Product asks "which feature are our churned accounts not using?", anyone on the team can open Fabi and get the answer without filing a data request.
If you're evaluating options, a few things that separate useful tools from ones that collect dust:
Event-level data access. Look for a tool that can query raw PostHog events, not just pre-aggregated metrics. The interesting questions usually require filtering, grouping, and aggregating events in custom ways.
Group and account-level support. B2B analytics needs to aggregate to the account level. Look for tools that understand PostHog's group analytics model and can segment by account-level attributes alongside user-level behavior.
Billing and CRM connectors. PostHog's value doubles when you can join it with revenue data. The tool needs to connect to Stripe or your billing system, and ideally to your CRM, to unlock the questions that matter most.
Self-service for product and CS teams. Product managers and CSMs who want to ask "which feature are churned accounts not using?" shouldn't need to file a data request. Look for natural language querying or interfaces that non-SQL users can navigate.
Shared dashboards with live data. A retention curve that only one analyst has seen isn't useful. Look for dashboards that can be shared with product leadership and updated automatically as new events come in.
What analytics features does PostHog include?
PostHog includes event tracking, funnel analysis, retention cohorts, user path visualization, session recordings, feature flags, A/B testing, and group analytics for B2B use cases. Paid plans include PostHog SQL, which lets you write direct queries against your event data.
Does PostHog track revenue or billing data?
Not natively. PostHog can capture custom revenue properties if you send them as events, but it has no native integration with billing systems like Stripe. Revenue-connected analytics, LTV by feature usage, expansion correlated with activation, require joining PostHog data with an external billing source.
Can PostHog integrate with Stripe?
Some teams send Stripe webhook events into PostHog as custom events. This is a workaround rather than a real analytics solution. For true cross-source analysis that joins product usage with billing metrics, an external analytics layer that connects to both PostHog and Stripe is more reliable.
What is PostHog SQL?
PostHog SQL is a feature on paid plans that lets you write SQL queries directly against your PostHog event data. It's useful for advanced product analytics queries the standard interface doesn't support. It's limited to PostHog data, it can't join with external sources.
Can PostHog be used for B2B SaaS analytics?
Yes. PostHog's group analytics let you aggregate user events to the company or account level, which is important for B2B. But it still lacks revenue context (contract value, tier, renewal date), limiting how far you can go without connecting to your CRM and billing system. For an overview of analytics tools built for product and GTM teams, see the best analytics dashboard tools for product and GTM teams.
What is the best analytics tool to use alongside PostHog?
PostHog's data warehouse export (BigQuery, Snowflake, Redshift) makes it relatively easy to get event data into a warehouse and join with other sources. For teams without warehouse infrastructure, AI-native platforms like Fabi can connect to PostHog and other sources directly without pipeline setup.
PostHog gives you a remarkably clear view of user behavior. But behavior without business context is incomplete. The questions that drive product strategy and GTM decisions, which users are most valuable, what predicts churn, what drives expansion, require connecting PostHog data to your revenue and CRM stack.
The gap between "which features are most used?" and "which features are used by your best customers and drive expansion?" sounds like a small difference, but it's where product roadmap decisions often go wrong. The data to answer the second question exists. It's just distributed across PostHog, Stripe, and your CRM. Connecting those sources is the leverage point.
You don't need to build a warehouse to do this. Connect your data sources, ask the questions PostHog's dashboard can't answer, and build the product analytics view your business actually needs.
Try Fabi free and connect PostHog alongside your billing and CRM data to start querying across everything in minutes.