All guides
App analytics
Sessions, screens, sign-ups and active users from your mobile apps — plus the events your own backend reports — on the same contact records as your website traffic.
Analyticsabout 6 min
By the end you'll be able to
- Read app sessions, sign-ups and active users, and how they compare to last period
- See which screens people use and where sessions end
- Get sign-ups your backend knows about into the same report
- Join someone’s website browsing to the account they create in your app
Walk through it
0 of 9 steps done0%
App tracking under Settings gives you the brand’s key and a copy-paste snippet for each way in: React Native, your own backend, or a webview. The SDK is a public npm package — npm install @zenia/analytics — and a webview or hybrid app can skip even that and paste the hosted script tag. They all share one key, and it is the same key your website snippet uses.
Good to know
- Unlike the website, app sessions are not guessed from a 30-minute gap: the SDK knows when the app was foregrounded and reports the session itself. So someone who leaves the app in the background for an hour and comes back is one session here, and would have been two on the website report.
- Nothing is sent and no id is minted until the SDK is initialised, so a consent gate works by simply not calling init() — or by starting with defaultConsent: false and turning it on later.
- Events are written to the device and only cleared once we have taken them, so a phone in a tunnel sends them on its next launch rather than losing them. A quiet hour in the chart can be a connectivity gap that fills in later.
- The handover token names a browser cookie, never a person, and expires after seven days. Nothing is joined up until one side identifies itself; at that point both are stitched to the same contact.
- The public key ships inside your app binary, which is fine — it can only add events to this brand, never read anything. The server signing secret is the one to keep out of a client.
- The allowed-domains list on the Tracking code page applies to browser callers only. A native app has no domain, so it is not restricted by it.
- Per-app rows count sessions within each app, so someone who uses two of your apps in one sitting counts on both — those rows will not add up to the headline figures.
Common questions