Eight SDKs for one frozen contract. Android, iOS, Flutter, Kotlin Multiplatform, React Native, Unity, .NET MAUI and Electron all speak the same wire protocol, so a product shipped on four platforms reports one way.
It works offline. Screens are queued on disk and survive quitting, crashing and a fortnight without a network. The sessions that matter most are exactly the ones a naive SDK loses.
It does not double-count. Every event carries an id minted once and resent unchanged, so a retried batch is recognised rather than counted twice. An offline queue without that invents data instead of saving it.
It survives a wrong clock. Each batch records when it was flushed, so a device set to next Tuesday does not report next Tuesday.
Errors with stacks, and whether they were fatal. Enough to see a bad release in the numbers rather than in the reviews.
Your site and your app in one account. One login, one bill, and the same session window on both, so "a session" means one thing across the pair.