Tutorials and guides
Contents
Got a question which isn't answered below? Head to the community forum to let us know!
How to capture and filter events
- How to filter out internal users
- How to capture fewer unwanted events
- How to track high-volume APIs
- How to set up cross-domain tracking
- How to track pageviews in single-page apps (SPA)
- How to create actions using CSS selectors
- How to rename events
How to track common metrics
- How to track new and returning users
- How to analyze first and last touch attribution
- How to calculate time on page
- How to calculate bounce rates
- How to calculate and lower churn rate
- How to calculate DAU/MAU ratio
- How to track scroll depth
- How to track performance marketing metrics
- How to calculate average session-based metrics
- How to set up OpenAI observability
- How to set up LLM analytics for Anthropic's Claude
- How to set up LLM analytics for Cohere
How to analyze events and actions
- How to analyze autocapture events with SQL
- How to discover features that drive user retention
- How to identify and analyze power users
- How to use Recharts to visualize analytics data
- How to use React Charts to visualize analytics data (with examples)
- How to set up embedded analytics
How to use SQL
Check our SQL tutorials for more information about analyzing events with SQL.
Framework guides
- How to set up Android analytics
- How to set up Angular analytics and more
- How to set up Astro analytics and more
- How to set up Bubble analytics and more
- How to set up Carrd analytics and more
- How to set up Django analytics and more
- How to set up Electron analytics
- How to set up analytics in Flutter
- How to set up Framer analytics and more
- How to set up Ghost analytics
- How to set up Laravel analytics
- How to set up Go analytics
- How to set up iOS analytics
- How to set up Next.js (app router) analytics and more
- How to set up Next.js (pages router) analytics and more
- How to set up Node.js (Express) analytics and more
- How to set up Nuxt.js analytics
- How to set up PHP analytics
- How to set up Python and Flask analytics
- How to set up React analytics
- How to set up React Native (Expo) analytics and more
- How to set up Remix analytics and more
- How to set up Ruby on Rails analytics and more
- How to set up Rust analytics
- How to set up Svelte analytics and more
- How to set up Vue analytics
- How to set up Webflow analytics and more
- How to set up Wix analytics and more
- How to set up Squarespace analytics
- How to set up .NET analytics
Best practices
Learn more about analytics best practices from our blogs below:
- The complete guide to event tracking
- Introduction to regex in PostHog
- Understanding group analytics: frontend vs backend
- 5 ways to improve your analytics data
- 5 analytics ideas for marketing teams
- 5 events all teams should track
- 5 analytics tips for customer success team
- Product metrics to track for LLM apps
- 25 mobile app metrics and KPIs you should track
- How we found our activation metric (and how you can too)
- WTF is activation and why should engineers care?
- Use alerts to avoid missing changes to key metrics
PostHog is an all-in-one developer platform for building successful products. We provide product analytics, web analytics, session replay, error tracking, feature flags, experiments, surveys, LLM analytics, data warehouse, CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.