posthog-cost-tuning

Reduce PostHog event-based pricing costs by controlling event volume, optimizing autocapture settings, and leveraging the generous free tier. PostHog charges per event with a free tier of 1M events/month, then ~$0.00031 per event beyond that.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "posthog-cost-tuning" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-skills-posthog-cost-tuning

PostHog Cost Tuning

Overview

Reduce PostHog event-based pricing costs by controlling event volume, optimizing autocapture settings, and leveraging the generous free tier. PostHog charges per event with a free tier of 1M events/month, then ~$0.00031 per event beyond that.

Prerequisites

  • PostHog Cloud account with billing dashboard access

  • Application instrumented with PostHog SDK

  • Understanding of which events drive business value

Instructions

Step 1: Audit Event Volume by Type

set -euo pipefail

Check which events consume the most quota

curl "https://app.posthog.com/api/projects/PROJECT_ID/insights/trend/?events=[{\"id\":\"$pageview\"},{\"id\":\"$autocapture\"},{\"id\":\"$screen\"}]&date_from=-30d&interval=week"
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" |
jq '.result[] | {event: .label, total_30d: (.data | add)}'

Step 2: Disable Unnecessary Autocapture

// posthog-init.ts - Configure autocapture to skip noisy elements posthog.init('phc_YOUR_KEY', { autocapture: { dom_event_allowlist: ['click', 'submit'], // Skip scroll, change, etc. element_allowlist: ['a', 'button', 'form', 'input[type=submit]'], css_selector_allowlist: ['.track-click'], // Only track explicitly marked elements url_ignorelist: ['/health', '/api/internal'], // Skip internal endpoints }, // Disable session recording for anonymous users to save on recording quota session_recording: { maskAllInputs: true, }, });

Step 3: Sample High-Volume Events

// Reduce non-critical event volume by sampling posthog.init('phc_YOUR_KEY', { // Only send 10% of pageview events (still statistically significant) before_send: (event) => { if (event.event === '$pageview') { return Math.random() < 0.1 ? event : null; // 90% reduction } // Always send business-critical events if (['purchase', 'signup', 'upgrade'].includes(event.event)) { return event; } // Sample other events at 50% return Math.random() < 0.5 ? event : null; }, });

Step 4: Filter Bot Traffic

// Bots generate significant event volume without business value posthog.init('phc_YOUR_KEY', { before_send: (event) => { const ua = navigator.userAgent.toLowerCase(); const isBot = /bot|crawler|spider|scrapy|headless|phantom/i.test(ua); return isBot ? null : event; }, });

Step 5: Monitor Monthly Costs

set -euo pipefail

Check current event usage vs billing tier

curl "https://app.posthog.com/api/organizations/ORG_ID/billing/"
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" |
jq '{ events_used: .events_current_usage, events_limit: .events_plan_limit, usage_pct: (.events_current_usage / .events_plan_limit * 100), estimated_cost: (if .events_current_usage > 1000000 then ((.events_current_usage - 1000000) * 0.00031) else 0 end) # 1000000 = 1M limit }'

Error Handling

Issue Cause Solution

Event volume spike Autocapture on high-frequency element Add element to css_selector_denylist

Bill higher than expected Bot traffic generating events Add bot filtering in before_send

Missing critical events Sampling too aggressive Exclude business events from sampling

Free tier exceeded early New feature launched without volume estimate Forecast events before launch

Examples

Basic usage: Apply posthog cost tuning to a standard project setup with default configuration options.

Advanced scenario: Customize posthog cost tuning for production environments with multiple constraints and team-specific requirements.

Output

  • Configuration files or code changes applied to the project

  • Validation report confirming correct implementation

  • Summary of changes made and their rationale

Resources

  • Official monitoring documentation

  • Community best practices and patterns

  • Related skills in this plugin pack

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

backtesting-trading-strategies

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

svg-icon-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

performance-lighthouse-runner

No summary provided by upstream source.

Repository SourceNeeds Review