PostHog Pricing in 2026: What You Actually Pay
As of July 2026, PostHog has no fixed subscription. It is free to start with no credit card, and each of its products bills separately once you pass a generous monthly free tier: 1M product-analytics events, 5K session replays, 1M feature-flag requests, 100K error-tracking exceptions, and more. Product analytics starts at $0.00005 per anonymous event and gets cheaper per event as volume rises. The catch nobody flags: identified events can cost up to 4x more. Most side projects pay $0; a growing SaaS usually lands between roughly $50 and a few hundred dollars a month; the five-figure horror stories come from high-volume, autocapture-heavy, all-identified setups with no billing limit set.
Updated on July 15, 2026

On this page
As of July 2026, PostHog has no monthly subscription and no seat pricing. It is free to start, needs no credit card, and each of its products meters independently once you cross a generous free allowance. That design is why the same tool shows up in one Reddit thread as "basically free" and in the next as a "$60k/month" bill. Both are true. The difference is almost never the plan; it is how many events you send, whether they are identified, and whether you set a billing limit.
PostHog is a usage-based product analytics platform that bundles analytics, session replay, feature flags, experiments, surveys, error tracking, and a data warehouse under one $0 base. This is the arithmetic the pricing page and the third-party summaries leave out: the per-product free tiers, the identified-event multiplier, and three real 30-day bills you can map onto your own traffic.
How PostHog pricing works in 2026
There are two plans: a Free plan and a Pay-as-you-go plan that also starts at $0/month. Neither has a fixed fee. You are billed per product, per unit, and only after that product's free tier is used up. From PostHog's own pricing page (July 2026), the monthly free allowances are:
Scroll to see more
| Product | Metered by | Free every month |
|---|---|---|
| Product analytics | event | 1,000,000 events |
| Session replay | recording | 5,000 web / 2,500 mobile |
| Feature flags and experiments | request | 1,000,000 requests |
| Surveys | response | 1,500 responses |
| Error tracking | exception | 100,000 exceptions |
| Data warehouse | row synced | 1,000,000 rows |
Two things fall out of this table that single-number teardowns miss.
First, the free tiers stack. Because each product has its own allowance, a small app can run analytics, replay, flags, surveys, and error tracking all at once and still pay nothing. Tools that meter on monthly tracked users (MTUs), like Mixpanel or
Amplitude, bill against one shared meter, so the same activity lands on a single growing line. PostHog's split meters are genuinely friendlier at the bottom.
Second, the price is marginal and tiered. Product analytics does not cost a flat $0.00005 forever. The rate steps down as volume rises:
Scroll to see more
| Monthly events (anonymous) | Price per event | Cost of that tier, per extra 1M |
|---|---|---|
| First 1M | free | $0.00 |
| 1M to 2M | $0.0000500 | $50.00 |
| 2M to 15M | $0.0000343 | $34.30 |
| 15M to 50M | $0.0000295 | $29.50 |
| 50M to 100M | $0.0000218 | $21.80 |
| 100M to 250M | $0.0000150 | $15.00 |
| 250M+ | $0.0000090 | $9.00 |
So the second million events costs $50, but the fifteenth million costs $34.30, and beyond 250M events you are paying $9 per million. Effective cost per event drops the more you send.
The identified-event trap that quietly quadruples your bill
Here is the single biggest lever, and it is buried in the docs rather than the pricing page. PostHog charges more for identified events than anonymous ones. From PostHog's anonymous vs identified events documentation (2026): "Anonymous events can be up to 4x cheaper than identified ones."
An event becomes identified the moment your code calls identify(), alias(), group(), or setPersonProperties(). After that, PostHog builds a person profile and every subsequent event for that user is billed at the identified rate. Call identify() on every pageview and your $0.00005 events can quietly bill at up to four times that.
The fix is a one-line config, not a plan change. PostHog's recommended default is person_profiles: 'identified_only', which captures anonymous events by default and only creates a person profile when you explicitly identify someone (a signup, a login). In backend SDKs, setting $process_person_profile: false keeps high-volume server events anonymous. Most teams do not need a person profile on a marketing pageview; they need it on the ten events after login.
Math check preview: on a 5M-event month, the analytics line is about $153 if those events are anonymous, and up to roughly $610 if every one is identified. Same traffic, same product, 4x the bill, decided by one SDK flag.
Three real 30-day PostHog bills
Numbers below use the July 2026 rates above, anonymous events unless noted, and add up the products a typical team actually turns on.
Bill 1: the side project, $0
800,000 analytics events, 3,000 web session replays, 300,000 feature-flag requests, and 40,000 error-tracking exceptions. Every figure sits under its free tier (1M / 5K / 1M / 100K).
Total: $0.00/month. This is the "too good to be true" thread on r/nextjs. It is real, as long as you stay under the allowances.
Bill 2: the growing B2B SaaS, about $370
5M analytics events (anonymous), 12,000 web replays, 3M feature-flag requests, 200,000 error-tracking exceptions.
Scroll to see more
| Product | Billable after free tier | Cost |
|---|---|---|
| Analytics | 1M at $0.00005 + 3M at $0.0000343 | $152.90 |
| Session replay | 7,000 at $0.005 | $35.00 |
| Feature flags | 1M at $0.0001 + 1M at $0.000045 | $145.00 |
| Error tracking | 100,000 at $0.00037 | $37.00 |
| Total | $369.90/mo |
Two lessons here. Feature flags are the surprise line: the first paid million of flag requests costs $100, more than the first three million analytics events. If you evaluate flags locally in your backend instead of calling PostHog on every request, that line collapses. And if those 5M events were all identified, the analytics line alone climbs from $152.90 toward $610, pushing the bill past $800. The config flag, not the traffic, decides which SaaS you are.
Bill 3: the high-volume consumer app, and the $60k horror story
Take 60M analytics events a month, kept anonymous with autocapture tuned, plus 50,000 web replays.
Scroll to see more
| Product | Billable after free tier | Cost |
|---|---|---|
| Analytics | $50 + 13M at $0.0000343 + 35M at $0.0000295 + 10M at $0.0000218 | $1,746.40 |
| Session replay | 10K at $0.005 + 35K at $0.0035 | $172.50 |
| Total | $1,918.90/mo |
Now the cautionary tale. A product manager on r/ProductManagement reported that at 300M+ events "PostHog's cloud option, the cost went up to ~60k$ per month." That is not a different price list; it is the same tiers with three multipliers stacked: five times the event volume, every event identified (up to 4x), and autocapture firing many events per interaction with no filtering. Autocapture is convenient and it is also why the r/reactnative thread describes an "ideal spend ~$50/month" that ballooned until the author "tried disabling autocapture." Volume you never chose to send is still volume you pay for.
How to cap PostHog so you never get a surprise bill
The answer to the horror story is a feature PostHog ships and almost nobody enables: per-product billing limits. From the pricing page, "You can set billing limits for each product so you never get an unexpected bill." Set a dollar cap on analytics, another on replay, and when you hit it PostHog stops ingesting that product's data for the rest of the month rather than billing past your number. It is a hard ceiling, per product, and it turns an open-ended usage bill into a budget you control.
The other levers, in order of impact:
- Keep events anonymous by default (
identified_only); identify only after signup. Up to 4x. - Tune autocapture or switch to explicit
capture()calls for the events you actually analyze. Cuts raw volume. - Evaluate feature flags locally in the backend to avoid a request per check.
- Sample high-frequency events, and set billing limits as the backstop.
One correction for anyone reading older guides: teardowns from 2024 and early 2025 still cite a "$65/month basic plan for 5,000 sessions." That plan is gone. In 2026 PostHog is pure pay-as-you-go on a $0 base; the paid tiers you will see, Boost at $250/mo and Scale at $750/mo, buy support and security features (priority support, SAML, RBAC), not usage. Your usage is billed the same whether or not you add them.
Is PostHog cheaper than the alternatives?
Honestly, it depends on shape, not logos. For an early product juggling analytics, replay, and flags, the stacked free tiers make PostHog hard to beat, and if you only want privacy-friendly web stats, a flat tool like
Plausible or free
GA4 may be simpler. At high, mostly-identified volume, an MTU-priced competitor can undercut usage pricing, which is exactly why the r/analytics consensus is "PostHog is great for startups since it's cheaper" with the caveat that it scales in cost with usage. PostHog also overlaps tools you may already pay for: its error tracking competes with a dedicated monitor, so if you are pricing that separately it is worth reading our Sentry pricing teardown alongside this one, and its usage-metered model rhymes with other per-unit infra like Upstash.
Math check: PostHog's bill is set by three multipliers, not a plan. Volume x identified-vs-anonymous (up to 4x) x autocapture-noise. Set a per-product billing limit and keep events anonymous by default, and a "$60k" tool becomes a "$0 to a few hundred" tool.
Written by
Camille ForsterFrequently asked questions
Is PostHog really free?
Yes, to start. As of July 2026 PostHog has a $0 base with no credit card required, and each product carries its own monthly free tier (1M analytics events, 5K web session replays, 1M feature-flag requests, 100K error-tracking exceptions, and more). Because the free tiers stack across products, many side projects pay nothing at all. You only pay per unit after a given product's free allowance is used up.
How much does PostHog cost for 1 million events?
The first 1,000,000 product-analytics events every month are free. The second million (1M to 2M) costs $50 at $0.00005 per anonymous event, and the per-event price steps down above that ($0.0000343 from 2M to 15M). If those events are identified rather than anonymous, they can cost up to 4x more.
Why did my PostHog bill suddenly jump?
Almost always one of three things: your events became identified (calling identify() makes every later event for that user cost up to 4x more), autocapture is sending far more events than you realized, or feature-flag requests crossed the free million (the first paid million of flags is $100). Setting person_profiles to 'identified_only' and evaluating flags locally are the usual fixes.
What is the difference between anonymous and identified events in PostHog?
Anonymous events have no person profile attached; identified events do, created when your code calls identify(), alias(), group(), or setPersonProperties(). PostHog's docs state anonymous events can be up to 4x cheaper. The recommended default person_profiles: 'identified_only' keeps events anonymous until you explicitly identify a user, which is the single biggest cost lever on the platform.
Can I cap my PostHog spend?
Yes. PostHog lets you set a billing limit for each product independently. When usage hits your dollar limit, PostHog stops ingesting that product's data for the rest of the month instead of billing past the cap. It is the direct answer to the five-figure surprise-bill stories, and it is off by default, so you have to set it.
Is self-hosting PostHog free?
PostHog is open source under an MIT license and offers a free Docker Compose deployment you can host yourself, so there is no license fee. You still pay for the servers, storage, and engineering time to run and scale it. For small teams the managed cloud free tier is usually cheaper and less work than self-hosting; self-hosting tends to pay off only at large scale or under strict data-residency requirements.
Is PostHog cheaper than Mixpanel or Amplitude?
For early-stage products that want analytics, session replay, and feature flags in one place, PostHog's stacked free tiers usually make it cheaper. At high volume with mostly identified events, MTU-priced tools like Mixpanel or Amplitude can come out ahead, since PostHog's usage pricing scales with event count. Compare on your real event volume and identified-event ratio, not on the headline per-event rate.
Related reading
Sentry Pricing in 2026: What You Actually Pay
Sentry pricing in 2026 is event-based: a free Developer plan, Team at $26/mo and Business at $80/mo (billed annually), each including 50,000 errors, 5M tracing spans, 50 replays and 5 GB of logs. Everything above that baseline is pay-as-you-go, and that overage, not the sticker, is your real bill. Errors run about $0.15 to $1.11 per 1,000 and spans about $1.60 to $4.00 per million, so tracing usually dominates. Below: the full per-unit ladder, three modeled 30-day bills, and why the Business plan includes the same base quotas as Team at three times the price.
Upstash Pricing in 2026: What You Actually Pay for Serverless Redis
As of July 2026, Upstash Redis is free up to 256 MB and 500K commands per month; pay-as-you-go bills $0.20 per 100K commands plus $0.25/GB stored, and fixed plans run $10 to $1,500/month. Because Upstash charges per command, not per server, request volume sets your bill, not data size. Above ~5M commands/month a flat $10 fixed plan usually beats pay-as-you-go.
Cloudinary Pricing in 2026: What You Actually Pay
Cloudinary pricing in 2026 runs on credits: 1 credit equals 1,000 transformations, 1 GB of managed storage, or 1 GB of net delivery bandwidth. Free gives 25 credits, Plus is $99/mo ($89 annual) for 225 credits, and Advanced is $249/mo ($224 annual) for 600 credits. Because credits are one shared pool, delivery bandwidth is usually the line that runs out first, and it works out to roughly $0.40 per GB, far above a raw CDN.


