Data freshness
Near real time: each dashboard refresh runs fresh database queries - no caching layer.
Kiosks:
Events queue offline in localStorage.
On reconnect, data uploads and is deduped by session ID.
Dashboards reflect late arrivals on the next refresh.
Cameras:
No offline backfill.
Gaps while offline appear as lower totals.
Funnels:
Recompute on refresh, so late kiosk events are included.
Timezone
Analytics use UTC - not London time and not per-user timezone.
Campaign scheduling uses London time. For analysis, align periods by converting London windows to UTC.
Daylight saving: analytics remain stable because they stay in UTC.
Practical tips
Name saved screenshots or exports with the window and timezone, for example:
2025-08-01_to_2025-08-07_utc.When comparing to store rosters or POS, convert those timestamps to UTC first.
Access scope
Admin - global access to all dashboards and locations.
Manager - read and write access scoped to assigned countries.
Viewer - read-only access scoped to assigned countries.
Location access is validated by country - users only see locations within their permissions and all analytics auto-filter to those countries.
What to expect in the UI
Numbers may increase after a device reconnects due to kiosk backfill.
Camera cards never backfill a past gap - use annotations or notes if a camera was offline.
If a card looks empty, check your filters and confirm the device was online during the window.
Best practices
Align your reporting calendar to UTC or explicitly convert before comparison.
Refresh dashboards after known reconnects or large deployments.
For fair comparisons across stores, pair this page with Comparisons & normalisation.
Known limitations
No per-user timezone option for analytics.
No scheduled refresh - manual refresh pulls the latest data.
Cameras do not backfill offline periods.
