@salla.sa/analytics
v2.14.569
Published
Salla unified analytics: Jitsu engine, event transformers and trackers for storefront (twilight) and checkout
Readme
@salla.sa/analytics
Unified source of truth for Salla's client-side analytics (Jitsu): the tracking engine, event transformers, and custom-tracker registry used by both the storefront (twilight) and checkout.
Entry points
| Import | Contents |
|---|---|
| @salla.sa/analytics/storefront | Storefront Analytics engine + ~29 storefront event transformers. Talks to the global Salla SDK object (config, storage, event bus) — it must run inside a twilight storefront context. |
| @salla.sa/analytics/checkout | Checkout Analytics engine + checkout/payment event transformers. Reads the server-rendered window.initialData payload. Also exports SessionService, initialData, sanitizeErrorMessage, sanitizeFieldErrors. |
| @salla.sa/analytics | Both engines plus the shared helpers (resolveAnalyticsHost, captureSallaCookies, tracker registry, generateSessionId). |
Usage
Storefront (twilight SDK — already wired in @salla.sa/twilight):
import Analytics from '@salla.sa/analytics/storefront';
Salla.analytics = new Analytics;Checkout:
import Analytics from '@salla.sa/analytics/checkout';
window.analytics = new Analytics;Shared behavior
- Session id: both engines persist
s-session-id_<storeId>in localStorage with a sliding 30-minute TTL, so a customer keeps one tracking session across storefront and checkout on the same origin. - Host resolution:
resolveAnalyticsHostroutes events through the store's own domain (<store-origin>/_app/e), handling salla.sa store paths, demostore and custom domains, falling back tohttps://salla.cloud/_app/e. - Custom trackers:
registerTracker({name, track, page})replays history to late-registered trackers and isolates tracker failures.
Tests
The engines and transformers are covered by the @salla.sa/twilight jest suite
(packages/twilight/tests/analytics), which boots the full SDK harness the
storefront engine expects.
