@movmo_app/analytics
v0.5.0
Published
Movmo first-party analytics SDK: autocapture, semantic events, Web Vitals (MOVMO-82).
Downloads
848
Readme
@movmo_app/analytics
Movmo's first-party analytics SDK (MOVMO-82). No third parties: events go to Movmo's own
collector endpoint (POST /v1/t).
Quick start (React app)
import { AnalyticsProvider } from '@movmo_app/analytics/react';
<AnalyticsProvider
config={{ app: 'flights-ui', env: 'e2e', endpoint: 'https://e2e.api.movmo.io/v1/t' }}
>
<App />
</AnalyticsProvider>;Semantic events
import { Movmo, EVENTS } from '@movmo_app/analytics';
Movmo.track(EVENTS.CHECKOUT_STARTED, { offer_id, provider_id });
Movmo.identify(userId); // after login only
Movmo.reset(); // on logoutCall Movmo.page() once on app boot for the landing pageview — the history wrap only captures
subsequent navigations.
EVENTS.API_TIMING ($api_timing) is reserved: the constant exists today, but fetch
instrumentation ships with the flights-ui integration (MOVMO-465).
Scoped mode (Express Checkout button — partner pages)
Movmo.init({ app: 'express-checkout', env: 'e2e', endpoint, partnerId, scoped: true });Scoped mode NEVER attaches document-level listeners: only Movmo-rendered elements may be
instrumented, by explicit Movmo.track(...) calls. This is a legal boundary, not a preference.
Privacy invariants
- No input values are ever read; inner text is suppressed inside
[data-track-mask]. - Session ID is a per-tab
sessionStorageUUID (no cookie). Embedded checkout adopts the parent's session via themvsquery param. Movmo.setConsent({ analytics: false })stops all sends. The Global Privacy Control signal is honored as a default opt-out; an explicit in-productsetConsent({ analytics: true })(a direct user action) takes precedence over GPC per the MOVMO-82 spec — remove that call if GPC must be absolute for your surface.- Transport is fail-open: analytics can never break checkout.
Instrumentation attributes
data-track-section="payments"— section visibility + click attributiondata-track-mask— suppress text capture inside (PII containers)data-track-hover— opt an element into hover-dwell tracking
