Skip to main content

Overview

Shake automatically tracks app sessions to give you visibility into how each release of your app is performing, right from your Shake dashboard.

You're viewing the Web docs. Other platforms →   iOS  Android  React Native  Flutter 

Introduction​

As soon as the SDK initializes, Shake starts tracking sessions in the background — no setup required. A session represents a continuous period of time your app is open in a browser tab, and each one carries a snapshot of the device it ran on, plus a summary of the network requests made during it.

What gets collected​

Every session automatically collects:

  • Session data — a snapshot of the device (browser, OS, locale, timezone, orientation, screen size, network type) and how long the session lasted.
  • Network requests — a summary of the HTTP calls made during the session (URL, method, status code, average duration).

Enabled by default​

Session tracking requires no configuration — it starts the moment Shake.start() is called, with no extra flag or method call needed.

A session ends when the tab is hidden for more than 5 minutes; switching back sooner continues the same session. Sessions shorter than 5 seconds are discarded, so quick tab switches don't skew your data — unless the session ended in a crash, which is always reported no matter how short it was.

Offline support​

Session data is always stored locally first, so nothing is lost if the browser is offline. Once online, pending sessions and their network request data sync to Shake in a single batch, at most every 30 minutes.