Issue
When you sync user traits to Segment using the batch endpoint, you may notice that any of the users did not receive the trait. Your upstream integration may report a successful sync with no errors, and the Segment API may respond with 200 OK, but the missing identify() calls never appear in your Segment Source Debugger.
Product
Segment
Environment
Segment Console
Cause
This issue occurs when your upstream integration sends batch payloads that exceed Segment Batch API endpoint limits. Segment enforces the following limits on batch requests:
- Maximum request size: 500 KB per request
- Maximum events per batch: 2,500 events per batch
- Maximum individual event size: 32 KB per event
If a batch contains more than 2,500 events, Segment returns a 200 response but rejects the event when the number of batched events exceeds the limit.
Resolution
To ensure all events ingest into Segment successfully, adjust your upstream integration settings to operate within Segment API limits:
- Configure the batch size so that no batch export exceeds 2,500 events per request.
- Ensure the total request payload remains under 500 KB and individual
identify()events remain under 32 KB. - Run a new batch your upstream tool.
- In your Segment workspace, navigate to your HTTP API source and open the Debugger tab to confirm that
identify()events are ingesting and updating user profiles.