Tutorials and guides
Contents
Got a question which isn't answered below? Head to the community forum to let us know!
- How to target flags with groups, pages, machines, and more
- How to set up one-time feature flags
- How to create sticky feature flags
- How to do a canary release with feature flags in PostHog
- How to set up a public beta program using early access management
- How to collect feedback from beta users
- How to do a phased rollout
- How to set up a location-based site banner
- How to add popups to your React app with feature flags
- How to track high-volume APIs
- How to evaluate and update feature flags with the PostHog API
- How to test frontend feature flags with React, Jest, and PostHog
Advanced feature flag patterns
- How to use evaluation runtimes and tags together for fine-grained flag control - Combine runtime and tag filtering for precise flag management
- How to use feature flag dependencies - Create flags that depend on other flags for complex rollout strategies
- How to prevent feature flags from being adblocked - Set up reverse proxies to ensure reliable flag evaluation
How to run experiments with feature flags
For more experiment tutorials, check the A/B testing docs!
- How to do A/A testing
- How to do holdout testing
- How to do redirect testing
- How to do A/B/n testing
- How to set up Python A/B testing
Framework guides
- How to set up Android feature flags
- How to set up Android remote config
- How to set up Angular feature flags
- How to set up Astro feature flags
- How to set up Bubble feature flags
- How to set up Django feature flags
- How to set up Flutter feature flags
- How to set up Flutter remote config
- How to set up Laravel feature flags
- How to set up iOS feature flags
- How to set up iOS remote config
- How to set up Next.js (app router) feature flags
- How to set up Next.js (pages router) feature flags
- How to set up Node.js (Express) feature flags
- How to set up Nuxt feature flags
- How to set up PHP feature flags
- How to set up React Native (Expo) feature flags
- How to set up React Native remote config
- How to set up Remix feature flags
- How to set up Ruby on Rails feature flags
- How to set up Svelte feature flags
- How to set up Vue feature flags
- How to set up Go feature flags
- How to set up Python feature flags in Flask
- How to use Next.js middleware to bootstrap feature flags
- How to bootstrap feature flags in React and Express
Best practices
Learn more about feature flags best practices from our blogs below:
- Feature flag types, benefits, and use cases
- Feature flag best practices and tips (with examples)
- How GitHub and GitLab use feature flags
- How we do trunk-based development (and why you should too)
- How to safely test in production (and why you should)
- Don't make these feature flag mistakes
- Feature flags as a service: Should you build or buy?
Under the hood
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 anAI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.