@onramp-sdk/react 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,13 +12,13 @@ npm install @onramp-sdk/react
12
12
  yarn add @onramp-sdk/react
13
13
  ```
14
14
 
15
- `react >= 18` is a peer dependency. `next >= 13` is an optional peer only needed for the route tracker in `@onramp-sdk/react/next`.
15
+ `react >= 18` is a peer dependency. `next >= 13` is an optional peer - only needed for the route tracker in `@onramp-sdk/react/next`.
16
16
 
17
17
  ## Setup
18
18
 
19
19
  ### 1. Wrap your app in the provider
20
20
 
21
- `<OnRampProvider>` initializes the SDK once on the client. It's SSR-safe it no-ops on the server and starts tracking in the browser.
21
+ `<OnRampProvider>` initializes the SDK once on the client. It's SSR-safe - it no-ops on the server and starts tracking in the browser.
22
22
 
23
23
  **Next.js App Router** (`app/layout.tsx`):
24
24
 
@@ -38,7 +38,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
38
38
  }
39
39
  ```
40
40
 
41
- `<OnRampProvider>` is a client component, so it only opts its own subtree into client rendering your layout and pages stay server components.
41
+ `<OnRampProvider>` is a client component, so it only opts its own subtree into client rendering - your layout and pages stay server components.
42
42
 
43
43
  **Plain React** (e.g. Vite, CRA): wrap your root the same way.
44
44
 
@@ -72,9 +72,9 @@ export function ProfileSetup() {
72
72
  }
73
73
  ```
74
74
 
75
- ### 3. (Next.js) Auto-track route changes optional
75
+ ### 3. (Next.js) Auto-track route changes - optional
76
76
 
77
- Mount `<OnRampRouteTracker />` once inside the provider to record every App Router navigation. These are tagged as navigation events and kept **out** of your defined funnels they power the session timeline, not conversion steps.
77
+ Mount `<OnRampRouteTracker />` once inside the provider to record every App Router navigation. These are tagged as navigation events and kept **out** of your defined funnels - they power the session timeline, not conversion steps.
78
78
 
79
79
  ```tsx
80
80
  import { OnRampProvider } from '@onramp-sdk/react'
@@ -94,7 +94,7 @@ import { OnRampRouteTracker } from '@onramp-sdk/react/next'
94
94
  |---|---|---|---|
95
95
  | `apiKey` | `string` | ✓ | Your app's API key from the OnRamp dashboard |
96
96
  | `host` | `string` | | Ingestion API base URL |
97
- | `appVersion` | `string` | | App version string enables the version breakdown |
97
+ | `appVersion` | `string` | | App version string - enables the version breakdown |
98
98
  | `framework` | `string` | | Runtime label on each event (default `'react'`; e.g. `'nextjs'`) |
99
99
  | `sessionTimeoutMs` | `number` | | Idle window before a new session starts (default 30 min) |
100
100
 
@@ -102,9 +102,9 @@ import { OnRampRouteTracker } from '@onramp-sdk/react/next'
102
102
 
103
103
  Returns `{ step, newSession, flush }`.
104
104
 
105
- - `step(stepName, { properties? })` track a milestone.
106
- - `newSession()` force-start a new session (e.g. after logout).
107
- - `flush()` flush queued events immediately (also runs automatically on tab hide/close).
105
+ - `step(stepName, { properties? })` - track a milestone.
106
+ - `newSession()` - force-start a new session (e.g. after logout).
107
+ - `flush()` - flush queued events immediately (also runs automatically on tab hide/close).
108
108
 
109
109
  ### `useTrackStep(stepName, options?)`
110
110
 
@@ -121,7 +121,7 @@ The same singleton is exported directly for use outside the React tree (e.g. eve
121
121
 
122
122
  ## How Funnels Work
123
123
 
124
- Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `step()` with a step name; the dashboard decides which steps form which funnel and in what order no SDK changes when you iterate on funnel structure.
124
+ Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `step()` with a step name; the dashboard decides which steps form which funnel and in what order - no SDK changes when you iterate on funnel structure.
125
125
 
126
126
  ## License
127
127
 
@@ -5,11 +5,11 @@ export interface OnRampProviderProps extends OnRampReactConfig {
5
5
  }
6
6
  /**
7
7
  * Initializes OnRamp once on the client and makes the tracker available to
8
- * `useOnRamp` / `useTrackStep` below it. Render it high in your tree in
8
+ * `useOnRamp` / `useTrackStep` below it. Render it high in your tree - in
9
9
  * Next.js App Router, inside the root layout (it's a client component, so it
10
10
  * won't opt your whole layout into client rendering; only its own subtree).
11
11
  */
12
12
  export declare function OnRampProvider({ children, ...config }: OnRampProviderProps): import("react").JSX.Element;
13
- /** @internal true when a provider is mounted above the caller. */
13
+ /** @internal - true when a provider is mounted above the caller. */
14
14
  export declare function useHasOnRampProvider(): boolean;
15
15
  //# sourceMappingURL=OnRampProvider.d.ts.map
@@ -5,7 +5,7 @@ import { OnRamp } from './core.js';
5
5
  const OnRampContext = createContext(false);
6
6
  /**
7
7
  * Initializes OnRamp once on the client and makes the tracker available to
8
- * `useOnRamp` / `useTrackStep` below it. Render it high in your tree in
8
+ * `useOnRamp` / `useTrackStep` below it. Render it high in your tree - in
9
9
  * Next.js App Router, inside the root layout (it's a client component, so it
10
10
  * won't opt your whole layout into client rendering; only its own subtree).
11
11
  */
@@ -18,7 +18,7 @@ export function OnRampProvider({ children, ...config }) {
18
18
  OnRamp.init(configRef.current);
19
19
  return _jsx(OnRampContext.Provider, { value: true, children: children });
20
20
  }
21
- /** @internal true when a provider is mounted above the caller. */
21
+ /** @internal - true when a provider is mounted above the caller. */
22
22
  export function useHasOnRampProvider() {
23
23
  return useContext(OnRampContext);
24
24
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-tracks route changes in the Next.js App Router as navigation events.
3
3
  *
4
- * These are tagged so the dashboard keeps them out of your defined funnels
4
+ * These are tagged so the dashboard keeps them out of your defined funnels -
5
5
  * they power the session timeline, not conversion steps. Mount once in your
6
6
  * root layout:
7
7
  *
@@ -5,7 +5,7 @@ import { OnRamp } from './core.js';
5
5
  /**
6
6
  * Auto-tracks route changes in the Next.js App Router as navigation events.
7
7
  *
8
- * These are tagged so the dashboard keeps them out of your defined funnels
8
+ * These are tagged so the dashboard keeps them out of your defined funnels -
9
9
  * they power the session timeline, not conversion steps. Mount once in your
10
10
  * root layout:
11
11
  *
package/dist/core.d.ts CHANGED
@@ -3,7 +3,7 @@ export interface OnRampReactConfig {
3
3
  apiKey: string;
4
4
  /** Ingestion API base URL. */
5
5
  host?: string;
6
- /** App version string, e.g. "2.4.1" enables the version breakdown in the dashboard. */
6
+ /** App version string, e.g. "2.4.1" - enables the version breakdown in the dashboard. */
7
7
  appVersion?: string;
8
8
  /**
9
9
  * SDK/runtime label reported on each event. Defaults to `'react'`; set
@@ -16,7 +16,7 @@ export interface OnRampReactConfig {
16
16
  export interface StepOptions {
17
17
  /** Custom event properties (e.g. { plan: 'free', source: 'invite' }). */
18
18
  properties?: Record<string, string | number | boolean>;
19
- /** @internal Used by the route tracker not part of the public API. */
19
+ /** @internal Used by the route tracker - not part of the public API. */
20
20
  _eventType?: 'nav_entered';
21
21
  }
22
22
  export declare const OnRamp: {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AA8DD,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACtD,wEAAwE;IACxE,UAAU,CAAC,EAAE,aAAa,CAAA;CAC3B;AAED,eAAO,MAAM,MAAM;IACjB;;;;OAIG;iBACU,iBAAiB,GAAG,IAAI;IAyDrC,iDAAiD;mBAClC,MAAM,YAAY,WAAW,GAAG,IAAI;IA6BnD,qDAAqD;kBACvC,IAAI;IAIlB,kFAAkF;aACzE,OAAO,CAAC,IAAI,CAAC;IAItB,4CAA4C;4BACvB,OAAO;CAG7B,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAkGD,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACtD,wEAAwE;IACxE,UAAU,CAAC,EAAE,aAAa,CAAA;CAC3B;AAED,eAAO,MAAM,MAAM;IACjB;;;;OAIG;iBACU,iBAAiB,GAAG,IAAI;IAgFrC,iDAAiD;mBAClC,MAAM,YAAY,WAAW,GAAG,IAAI;IAqCnD,qDAAqD;kBACvC,IAAI;IAIlB,kFAAkF;aACzE,OAAO,CAAC,IAAI,CAAC;IAItB,4CAA4C;4BACvB,OAAO;CAG7B,CAAA"}
package/dist/core.js CHANGED
@@ -24,7 +24,7 @@ function safeSet(key, value) {
24
24
  localStorage.setItem(key, value);
25
25
  }
26
26
  catch {
27
- // localStorage unavailable (private mode, quota) degrade silently
27
+ // localStorage unavailable (private mode, quota) - degrade silently
28
28
  }
29
29
  }
30
30
  let client = null;
@@ -35,6 +35,8 @@ let sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
35
35
  let lastActive = 0;
36
36
  let started = false;
37
37
  let pendingReferrer = null;
38
+ let pendingUtm = null;
39
+ let lastHeartbeatTs = 0;
38
40
  function getOrCreateAnonymousId() {
39
41
  const existing = safeGet(ANON_KEY);
40
42
  if (existing)
@@ -71,7 +73,6 @@ function ensureSessionFresh() {
71
73
  rotateSession();
72
74
  }
73
75
  }
74
- // Coarse device class from the user agent — good enough for funnel breakdowns.
75
76
  function getDeviceType() {
76
77
  if (typeof navigator === 'undefined')
77
78
  return 'desktop';
@@ -82,10 +83,56 @@ function getDeviceType() {
82
83
  return 'phone';
83
84
  return 'desktop';
84
85
  }
85
- function getOsVersion() {
86
+ function parseUA() {
86
87
  if (typeof navigator === 'undefined')
87
- return null;
88
- return navigator.userAgent.slice(0, 64);
88
+ return { osVersion: 'web', browser: '' };
89
+ const ua = navigator.userAgent;
90
+ let os = 'web';
91
+ let osVer = '';
92
+ if (/iPad/.test(ua)) {
93
+ os = 'ipados';
94
+ osVer = (ua.match(/OS (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
95
+ }
96
+ else if (/iPhone|iPod/.test(ua)) {
97
+ os = 'ios';
98
+ osVer = (ua.match(/OS (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
99
+ }
100
+ else if (/Android (\d+\.?\d*)/.test(ua)) {
101
+ os = 'android';
102
+ osVer = (ua.match(/Android (\d+\.?\d*)/) ?? [])[1] ?? '';
103
+ }
104
+ else if (/Windows NT (\d+\.\d+)/.test(ua)) {
105
+ os = 'windows';
106
+ const nt = (ua.match(/Windows NT (\d+\.\d+)/) ?? [])[1] ?? '';
107
+ osVer = { '10.0': '10', '6.3': '8.1', '6.2': '8', '6.1': '7' }[nt] ?? nt;
108
+ }
109
+ else if (/Mac OS X (\d+[_.]\d+)/.test(ua)) {
110
+ os = 'macos';
111
+ osVer = (ua.match(/Mac OS X (\d+[_.]\d+)/) ?? [])[1]?.replace('_', '.') ?? '';
112
+ }
113
+ else if (/Linux/.test(ua)) {
114
+ os = 'linux';
115
+ }
116
+ let browser = '';
117
+ if (/Edg\/(\d+)/.test(ua)) {
118
+ browser = `Edge ${(ua.match(/Edg\/(\d+)/) ?? [])[1] ?? ''}`;
119
+ }
120
+ else if (/OPR\/(\d+)/.test(ua)) {
121
+ browser = `Opera ${(ua.match(/OPR\/(\d+)/) ?? [])[1] ?? ''}`;
122
+ }
123
+ else if (/Firefox\/(\d+)/.test(ua)) {
124
+ browser = `Firefox ${(ua.match(/Firefox\/(\d+)/) ?? [])[1] ?? ''}`;
125
+ }
126
+ else if (/Chrome\/(\d+)/.test(ua)) {
127
+ browser = `Chrome ${(ua.match(/Chrome\/(\d+)/) ?? [])[1] ?? ''}`;
128
+ }
129
+ else if (/Version\/(\d+).*Safari/.test(ua)) {
130
+ browser = `Safari ${(ua.match(/Version\/(\d+)/) ?? [])[1] ?? ''}`;
131
+ }
132
+ else if (/Safari\//.test(ua)) {
133
+ browser = 'Safari';
134
+ }
135
+ return { osVersion: osVer ? `${os} ${osVer}` : os, browser };
89
136
  }
90
137
  export const OnRamp = {
91
138
  /**
@@ -95,7 +142,7 @@ export const OnRamp = {
95
142
  */
96
143
  init(config) {
97
144
  if (!hasWindow())
98
- return; // server defer to the client
145
+ return; // server - defer to the client
99
146
  if (started)
100
147
  return; // already initialized this page load
101
148
  sessionTimeoutMs = config.sessionTimeoutMs ?? DEFAULT_SESSION_TIMEOUT_MS;
@@ -122,6 +169,18 @@ export const OnRamp = {
122
169
  pendingReferrer = document.referrer;
123
170
  }
124
171
  }
172
+ // Capture UTM params so traffic source is attributable even when the referrer
173
+ // header is stripped (e.g. Google organic, AI-tool redirects, paid campaigns).
174
+ const urlParams = new URLSearchParams(window.location.search);
175
+ const utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
176
+ const utmProps = {};
177
+ for (const key of utmKeys) {
178
+ const val = urlParams.get(key);
179
+ if (val)
180
+ utmProps[`_${key}`] = val;
181
+ }
182
+ if (Object.keys(utmProps).length > 0)
183
+ pendingUtm = utmProps;
125
184
  client = new OnRampClient({
126
185
  apiKey: config.apiKey,
127
186
  host: config.host,
@@ -130,16 +189,29 @@ export const OnRamp = {
130
189
  appVersion: config.appVersion ?? null,
131
190
  uuidFn: uuid,
132
191
  });
133
- // Last-chance flushes when the tab is hidden or closed.
192
+ // Heartbeat + last-chance flush when the tab is hidden or closed.
193
+ // Both pagehide and visibilitychange can fire; the 500ms guard prevents
194
+ // duplicate heartbeats when they fire in quick succession.
195
+ function sendHeartbeat() {
196
+ if (!client || !currentSessionId || !anonymousId)
197
+ return;
198
+ const now = Date.now();
199
+ if (now - lastHeartbeatTs < 500)
200
+ return;
201
+ lastHeartbeatTs = now;
202
+ client.beacon({ sessionId: currentSessionId, anonymousId });
203
+ }
134
204
  window.addEventListener('pagehide', () => {
135
205
  lastActive = Date.now();
136
206
  persistSession();
207
+ sendHeartbeat();
137
208
  client?.flush();
138
209
  });
139
210
  document.addEventListener('visibilitychange', () => {
140
211
  if (document.visibilityState === 'hidden') {
141
212
  lastActive = Date.now();
142
213
  persistSession();
214
+ sendHeartbeat();
143
215
  client?.flush();
144
216
  }
145
217
  else {
@@ -162,17 +234,27 @@ export const OnRamp = {
162
234
  persistSession();
163
235
  const ref = pendingReferrer;
164
236
  pendingReferrer = null;
237
+ const utm = pendingUtm;
238
+ pendingUtm = null;
239
+ const { osVersion, browser } = parseUA();
240
+ const extraProps = {};
241
+ if (browser)
242
+ extraProps._browser = browser;
243
+ if (ref)
244
+ extraProps._referrer = ref;
245
+ if (utm)
246
+ Object.assign(extraProps, utm);
165
247
  client.track({
166
248
  sessionId: currentSessionId,
167
249
  anonymousId,
168
250
  eventType: options?._eventType,
169
251
  stepName,
170
252
  stepIndex: index,
171
- osVersion: getOsVersion(),
253
+ osVersion,
172
254
  deviceType: getDeviceType(),
173
- properties: ref
174
- ? { _referrer: ref, ...options?.properties }
175
- : options?.properties ?? null,
255
+ properties: Object.keys(extraProps).length || options?.properties
256
+ ? { ...extraProps, ...options?.properties }
257
+ : null,
176
258
  });
177
259
  },
178
260
  /** Force-start a new session (e.g. after logout). */
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export interface UseTrackStepOptions {
2
2
  /** Custom event properties attached to this step. */
3
3
  properties?: Record<string, string | number | boolean>;
4
- /** Skip tracking while false useful for gating on a loaded/ready state. */
4
+ /** Skip tracking while false - useful for gating on a loaded/ready state. */
5
5
  enabled?: boolean;
6
6
  }
7
7
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@onramp-sdk/react",
3
- "version": "0.1.2",
4
- "description": "OnRamp onboarding funnel analytics for React & Next.js track steps, see where users drop off.",
3
+ "version": "0.1.4",
4
+ "description": "OnRamp onboarding funnel analytics for React & Next.js - track steps, see where users drop off.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "repository": {
@@ -37,8 +37,8 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@onramp-sdk/core": "0.4.0",
41
- "@onramp-sdk/shared": "0.2.1"
40
+ "@onramp-sdk/core": "0.4.1",
41
+ "@onramp-sdk/shared": "0.2.2"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": ">=18.0.0",