Understanding client_ingestion_warning in PostHog: Are You Losing Data?
When using PostHog with the default posthog-js configuration, you may encounter the following warning:
posthog-js client rate limited.
Config is set to 10 events per second and 100 events burst limit.
In the UI, this appears as:
client_ingestion_warning
This article explains what it means, why it happens, and whether you are losing data.
What Is client_ingestion_warning?
client_ingestion_warning is an internal warning emitted by the PostHog JavaScript SDK when the client-side rate limiter is triggered.
The SDK enforces a rate limit to prevent excessive event traffic from the browser. By default:
- events_per_second: 10
- events_burst_limit: 100
If your application attempts to send more than 10 events per second or exceeds 100 events in a burst, the client rate limiter activates.
Reference (official documentation):
https://posthog.com/docs/libraries/js/config
Are You Losing Data?
Possibly.
When rate limiting is triggered:
- Some events may be delayed.
- Some events may be dropped.
- If the page unloads before the queue flushes, events may be permanently lost.
If the warnings are isolated to a specific distinctId, the issue is likely localized to a single user session or automated interaction rather than a systemic failure.
Why Does This Happen?
Typical causes include:
- Events triggered inside rendering loops (e.g., React
useEffectwithout proper dependencies) - Autocapture firing excessively due to dynamic DOM updates
- Scroll or mouse movement tracking
- Repeated retries or programmatic event flooding
- Session recording combined with high UI activity
Normal user interaction rarely exceeds 10 events per second unless something is misconfigured.
How to Verify the Root Cause
Enable debug mode in the browser console:
posthog.debug(true)
Then interact with the application and observe:
- Event frequency
- Repeated patterns
- Unexpected capture loops
You should inspect the event timeline for the affected distinctId in the PostHog dashboard.
Should You Increase the Rate Limit?
You can override the defaults:
posthog.init('YOUR_PROJECT_KEY', {
api_host: 'https://us.i.posthog.com',
rate_limiting: {
events_per_second: 20,
events_burst_limit: 200
}
})
However, increasing limits should not be the first step. If the warning is caused by a logic error, raising the threshold only masks the underlying issue.
Important Clarification
The ingestion warnings documentation does not explicitly list client_ingestion_warning by name. The rate limiting behavior is documented under SDK configuration rather than ingestion pipeline errors.
Relevant links:
JS configuration (rate limiting section):
https://posthog.com/docs/libraries/js/config
Ingestion warnings overview:
https://posthog.com/docs/data/ingestion-warnings
GitHub discussion referencing this exact warning:
https://github.com/PostHog/posthog/issues/22213
Conclusion
If you are using the default configuration and seeing client_ingestion_warning, your application is exceeding the client-side event throughput limits.
The correct response is:
- Identify excessive event generation.
- Fix frontend logic if necessary.
- Only then consider adjusting rate limits.
Rate limiting is a protective mechanism. Treat the warning as a signal to audit event behavior, not as something to suppress by default.