Events
Data quality
Dedup, rejection codes, and naming.
Last updated on
Ingestion deduplicates on (project, environment, eventId) taken from the SDK key’s environment, not from a project id in the JSON. Reusing an eventId returns it in duplicateIds and is a success for the SDK: the event is already stored.
Rejection codes you should handle as permanent include INVALID_PROPERTIES. Retryable failures are HTTP 429, 413, 500, and 503, with Retry-After when the server sends it. The SDK shrinks the batch on 413 and honors Retry-After.
Keep event names stable and lowercase with underscores, matching the tracking plan. Properties should stay flat enough to explain one action. Do not send the whole DOM.
Was this page useful?