PostHog Event Ingestion Cost Calculator
Product analytics infrastructure cost modeling: PostHog Cloud volume discounts ($0.00005 to $0.00045/event) vs self-hosted ClickHouse on dedicated bare metal. Calculate session replays, feature flags, and survey spend.
Interactive PostHog Event Ingestion Cost Calculator Simulator
Adjust your production metrics below to model monthly expenditure, unit rates, and margin thresholds.
Itemized Unit Economics & Pricing Model
Detailed mathematical cost model comparing raw component units, provider markups, and optimization strategies.
| Architecture Component | Unit Pricing (2026) | Throughput / Quota Included | Production Notes & Trade-offs |
|---|---|---|---|
| PostHog Analytics Tier 1 (1M - 10M events) | $0.000225 per event | Product analytics, funnels, cohort retention, and user paths. | First 1,000,000 events are completely free every month |
| PostHog Analytics Tier 2 (10M - 50M events) | $0.000075 per event | Substantial volume discount kicked in automatically at scale. | Rates drop 66% as your product usage matures |
| Session Replays (First 5k Free) | $0.0050 to $0.0004 per recording | Full user session video playback with network call telemetry. | Essential for UX audits; costly if enabled on 100% of visits |
| Feature Flags & Remote Config | $0.0001 per evaluation (after 1M free) | Server-side and client-side feature rollouts and multivariate flags. | Consumes volume on high-frequency API endpoints |
| Self-Hosted ClickHouse on Hetzner EX44 | €65.00 (~$70) / month flat | Dedicated 64GB RAM, NVMe server running Dockerized PostHog/ClickHouse. | Handles up to 50M monthly events with zero variable per-event charges |
Production Implementation Snippet
Production PostHog Client Initialization with Smart Sampling and Dead-Click Filtering. Deploy directly into your production pipelines.
// lib/posthog.ts - Optimize PostHog ingestion bills by 60% with client-side filtering
import posthog from 'posthog-js';
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
api_host: 'https://us.i.posthog.com',
// Disable noisy auto-capture that logs every single generic scroll and keystroke
autocapture: {
capture_copied_text: false,
css_selector_allowlist: ['[data-track]'] // Only capture buttons explicitly tagged with data-track
},
// Sample Session Replays to 10% of users to avoid massive recording overages
session_recording: {
sample_rate: 0.10,
mask_all_element_attributes: true,
mask_all_text: true
}
});
Engineering Gotchas & Pitfalls
Critical architectural edge cases documented from real-world high-traffic deployments.
The Full-Page Autocapture Tsunami
PostHog's default autocapture records every DOM interaction, form focus, and hover state. A single active web app session can generate 400 events. Turn off default autocapture and use explicit `posthog.capture()` calls on business milestones.
Feature Flag Polling Inside Microservice Loops
Calling `posthog.isFeatureEnabled()` inside an unmemoized backend API handler executing 500 times/second will burn 1.3 Billion evaluations ($130,000 bill) in a month. Always cache feature flag payloads in Redis for 60 seconds.
ClickHouse Disk Exhaustion on Self-Hosted Setups
ClickHouse tables grow rapidly without strict retention policies. An unmonitored server can exhaust 1TB of NVMe storage in two months, crashing the database engine.
Frequently Asked Questions
Practical architectural questions answered with precise mathematical modeling.
PostHog Cloud provides 1,000,000 product analytics events and 5,000 session replay recordings completely free every single month on their generous developer tier.
The breakeven threshold is approximately 20 Million to 25 Million events per month. Below 20M, PostHog Cloud's convenience and zero DevOps maintenance outweigh server costs. Above 30M, self-hosting ClickHouse saves $1,500+ every month.
Yes. After the first 1,000,000 free flag evaluations, PostHog charges $0.0001 per evaluation (dropping to $0.00001 at high volume).
Related Architecture Blueprints & Calculators
Explore related cost models and interactive simulators on CheckAPICost.
PostHog Event Ingestion Economics: Free Tiers, Session Replay & Volume TCO
PostHog's pricing structure combines generous free developer allowances (1 million events and 5,000 session recordings free per month) with tiered metered usage. However, as web and mobile SaaS applications scale, high-frequency client-side events (such as `mousemove`, input change listeners, and automated bot scrapers) can trigger unexpected bill spikes. PostHog charges $0.00045/event for the first paid tier, dropping down to $0.00002/event at enterprise volumes.
| Monthly Event Volume | Product Analytics Cost | Session Replay (10k sessions) | Feature Flags & Surveys | Total Monthly Bill |
|---|---|---|---|---|
| 1 Million Events (Free Tier) | $0.00 (1M free) | $0.00 (5k free baseline) | $0.00 (Free allowances) | $0.00 / month |
| 10 Million Events | $2,480.00 / mo | $200.00 (20k extra recordings) | $150.00 / mo | $2,830.00 / month |
| 50 Million Events (Enterprise) | $5,800.00 / mo (Volume discounted) | $750.00 (High-sample recordings) | $400.00 / mo | $6,950.00 / month |
Production Pipeline: Client-Side Sampling & Sensitive Field Redaction
Configuring PostHog initialization with client-side event debouncing and session replay sampling prevents runaway billing while maintaining GDPR compliance:
import posthog from 'posthog-js';
posthog.init('YOUR_PROJECT_API_KEY', {
api_host: 'https://us.i.posthog.com',
person_profiles: 'identified_only', // Avoid anonymous profile accumulation
session_recording: {
maskAllInputs: true,
maskTextSelector: '.sensitive-data',
sampleRate: 0.20, // Record only 20% of sessions to cut replay bills by 80%
},
capture_performance: false, // Drop high-frequency network timing logs
autocapture: {
dom_event_allowlist: ['click', 'submit'], // Exclude continuous scroll/mouse moves
}
});
Production Governance & Ingestion Optimization
- Set Billing Limits in Dashboard: Configure strict hard billing limits in the PostHog project settings. Once the spend threshold is met, PostHog drops subsequent non-critical analytics events while keeping auth flows operational.
- Filter Internal Team Traffic: Exclude development domains (`localhost`, `staging.yourdomain.com`) and employee IP CIDR blocks to avoid polluting analytics datasets and burning monthly event quotas.
- Server-Side Event Batching: For high-volume backend microservices, use PostHog's Node.js or Python SDK with `flushAt: 50` and `flushInterval: 10000` to batch HTTP dispatches and minimize network socket overhead.
Frequently Asked PostHog Ingestion & Budgeting Questions
Q: How does PostHog calculate monthly event allowances across multiple projects?
A: The 1 million free event and 5,000 free session recording allowances apply per organization account per month, shared dynamically across all child projects and development environments.
Q: How does setting session recording sample rates reduce monthly bills?
A: Setting `sampleRate: 0.20` captures 20% of user sessions, providing statistically representative UX telemetry while reducing session recording storage bills by exactly 80%.