Exposures
How exposure events are enqueued, deduped, batched, and flushed
Every evaluation enqueues {event_id, flag_key, experiment_id, unit_id, variation, account_id, timestamp, service?, env?}, deduped by (unit, flag, variation) for 10 minutes, and flushed to POST {eventsUrl}/exposures every 5s or at 50 queued events, with retry + backoff. In browsers the queue is also beaconed on pagehide/tab-hide.