How to Reduce Your PostHog Costs

Reduce PostHog Costs

If you’re using PostHog as your analytics and experimentation platform, you might have chosen it because it’s generous with its free limits, offers great features out-of-the-box, and is easy to set up.

But like us, you might also hit a point where you suddenly see real charges for all that data you’re capturing. It’s a common surprise: PostHog’s default settings are designed to give you maximum insight, but not necessarily minimum cost.

In this guide, I’ll explain how PostHog billing works and more importantly, how you can reduce unnecessary costs with a few practical steps.

The goal here isn’t to sacrifice valuable insights, but to make sure you’re capturing only what you actually need.

Understanding PostHog’s Free Limits

First, you should know PostHog has clear free tiers for its core products:

  • Product Analytics: Free for up to 1 million events per month.
  • Session Replay: Free for up to 15,000 recordings per month.
  • Feature flags & Experiments: Free for up to 1 million requests per month.

These limits are very generous for many projects and if you keep your usage under them, you pay nothing.

But that generosity has a catch: PostHog’s default settings will often exceed these limits automatically if you’re not careful.

For example:

  • Autocapture will track every click on your site.
  • Session Replay will record all sessions by default.

If you don’t optimize what you capture, you might pay for data you don’t even use or need.

The Single Most Important Step: Check Your Billing Dashboard

Before you even think about changing settings, start by understanding your actual usage.

PostHog has a Billing section in your project settings. It’s extremely helpful and shows you:

  • Your current event/recording usage
  • Projections of your monthly cost
  • A detailed statement of what’s using up your quota

Crucially, you can also set billing limits there.

Tip: Billing limits let you define a hard cap so PostHog stops collecting new data once you hit your budget. This alone can prevent surprises on your credit card.

If you do only one thing after reading this guide, go set your billing limits now.

Reduce PostHog Costs
Set Billing Limits

Why Default Settings Lead to High Costs

When you install PostHog on your website or app, it automatically enables several powerful features:

  • Event autocapture: Records every click, form input, page view, and more.
  • Web Vitals: Tracks performance metrics like LCP, FID, CLS.
  • Dead Clicks: Logs where users click with no response.
  • Pageleave: Captures when users leave a page to measure session duration.
  • Session Replay: Records user sessions, video-style.

These defaults are designed to make setup frictionless. You get tons of data immediately.

But unless you actively decide what data is actually valuable, you’ll be capturing everything; even sessions, events, or clicks you’ll never look at.

That’s why cost management with PostHog is all about intentional tracking: controlling what you collect, instead of just letting defaults run forever.

Decorative

Did you know?

We can just do things for you!

Let’s chat

Strategy 1: Managing Session Replay Costs

Session Replay is usually the first feature where teams hit billing issues. Video-like session recordings are very data-heavy, and it’s easy to burn through 15,000 free recordings in days.

Here’s how you can drastically reduce costs while still keeping the insights you want:

A. Minimum Session Duration Filter

Short, low-value sessions (like instant bounces) aren’t helpful to record.
PostHog lets you set a minimum session duration for recordings. Any session shorter than that will be ignored.
For example, set it to 10 seconds so you only capture meaningful visits.

B. Feature Flags for Targeted Recording

You can control recording with feature flags.
For instance:

  • Record only sessions where a new feature is being tested.
  • Capture only if a user is in a specific cohort or experiment.

This lets you collect replays only when you really need them.

C. URL and Page Filters

You don’t need session replays on every page of your website.
PostHog supports targeting specific URLs or paths for recordings.
For example:

  • Record only on your checkout or signup pages.
  • Exclude low-value content pages or admin areas.

D. Sampling

If you have too many recordings even after applying filters, use sampling.
Sampling lets you capture only a percentage of sessions (say 10%) but still get a representative view of user behavior.
This approach is powerful for balancing insight and cost.

Strategy 2: Managing Event Costs

Events are the other main billing driver.

Remember, Product Analytics is free up to 1 million events/month. That might seem huge, but autocapture and other default settings can quickly generate hundreds of thousands of events you don’t need.

Here’s how to reduce unnecessary event tracking:

A. Disable Web Vitals Autocapture

Web Vitals track site performance (LCP, CLS, etc.) automatically.
These can be very useful, but if you don’t care about performance optimization, they’re just expensive noise.
You can toggle Web Vitals autocapture in your PostHog project settings.

Reduce PostHog Costs
Navigation to Settings

B. Disable Dead Clicks Autocapture

Dead Clicks are user clicks that lead to no response.
They’re valuable for UX troubleshooting (e.g. figuring out where users get stuck).
But if you don’t actively use that data, you’re paying for nothing.
Turn off Dead Clicks autocapture in your settings if you don’t need it.

C. Disable Pageleave Events

Pageleave events only measure when a user leaves a page, which helps calculate duration.
But for many teams, knowing the precise session duration isn’t critical.
You can disable pageleave capturing by setting each capture leave to false in your PostHog installation snippet. for example:

posthog.init('YOUR_API_KEY', {
  capture_pageleave: false
});

Simple and effective.

D. Control Autocapture

Autocapture is extremely powerful: it automatically tracks clicks, inputs, and pageviews without any manual tagging.
But it’s often too much by default.
You can disable autocapture globally in settings or control it programmatically.
A good practice:

  • Disable it by default to keep costs low.
  • Enable it selectively when you want full behavioral analysis for a specific test.

Ongoing Best Practice: Monitor and Adjust

Reducing costs isn’t a one-time fix.
Your website and your analytics needs will change over time.
Regularly check the Billing section in PostHog to see:

  • Which features are consuming your quota
  • How your usage is trending
  • Projected monthly costs

Adjust your settings as needed:

  • Turn features on or off
  • Refine filters
  • Update sampling rates

Being intentional about your data collection is the best way to stay within budget without losing valuable insights.

Reduce PostHog Costs
Monitoring Usage

Final Thoughts

PostHog is an excellent, generous platform. Its default settings give you everything you might want, but also everything you might not need.

By understanding how billing works and taking a few minutes to customize your settings, you can:

  • Stay under the free limits
  • Avoid surprise bills
  • Keep your analytics lean and relevant

Don’t pay for data you’ll never use. Spend a little time now to save money, and make sure the data you do capture is the data that truly matters.

If you’d like personalized guidance, feel free to reach out to us directly using the ‘Let’s chat‘ button. We’ve been through this optimization process ourselves and are happy to share what’s worked for us or even help you set it up step by step.

If you prefer to explore on your own, here is one excellent resource:

PostHog’s official documentation
Their docs cover every feature in detail, including how to customize event capture, manage session recording rules, set billing limits, and more. It’s the best place to get the official, up-to-date instructions on every setting you might want to tweak.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *