@onramp-sdk/web 0.7.1 → 0.7.3

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
@@ -25,9 +25,14 @@ OnRamp.init({
25
25
  apiKey: 'onr_your_api_key', // from the OnRamp dashboard
26
26
  host: 'https://your-ingestion-url', // your ingestion API URL
27
27
  appVersion: '1.0.0', // optional - enables version breakdown
28
+ autoTrackScrollDepth: true, // optional - defaults to true
28
29
  })
29
30
  ```
30
31
 
32
+ The SDK automatically records real scrolls at 25%, 50%, 75%, and 90% of each
33
+ page. Scroll events power page-depth analytics and engagement-aware bounce rate;
34
+ they are not treated as funnel milestones.
35
+
31
36
  ### 2. Track milestones
32
37
 
33
38
  Call `OnRamp.step()` at each meaningful moment in your onboarding flow:
@@ -58,6 +63,7 @@ OnRamp.step('first_action_done', {
58
63
  | `apiKey` | `string` | ✓ | Your app's API key from the OnRamp dashboard |
59
64
  | `host` | `string` | | Ingestion API base URL (default: `http://localhost:3001`) |
60
65
  | `appVersion` | `string` | | App version string - enables version breakdown in dashboard |
66
+ | `autoTrackScrollDepth` | `boolean` | | Record 25/50/75/90% page depth (default `true`) |
61
67
 
62
68
  ### `OnRamp.step(stepName, options?)`
63
69
 
@@ -80,7 +86,7 @@ Funnels are defined in the **OnRamp dashboard**, not in the SDK. You call `OnRam
80
86
 
81
87
  ## Framework Notes
82
88
 
83
- - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). The SDK accesses `localStorage` and `window` - it is safe in SSR environments (access is guarded), but events are only tracked in the browser.
89
+ - **Next.js / SSR**: Call `OnRamp.init()` on the client side only (inside `useEffect` or a client component). The SDK accesses `window` only; it is safe in SSR environments (access is guarded), but events are only tracked in the browser.
84
90
  - **SPA routing**: Call `OnRamp.newSession()` if you want a new session to start on a specific navigation event (e.g. user logs out and logs back in).
85
91
 
86
92
  ## License
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ interface InitConfig {
4
4
  appVersion?: string;
5
5
  /** Quit-and-return within this window continues the same session. Default 30 min. */
6
6
  sessionTimeoutMs?: number;
7
- /** Anonymous ID is rotated after this many milliseconds. Default 365 days. */
8
- anonymousIdMaxAgeMs?: number;
7
+ /** Automatically record 25/50/75/90% page scroll depth. Default true. */
8
+ autoTrackScrollDepth?: boolean;
9
9
  }
10
10
  export declare const OnRamp: {
11
11
  init(config: InitConfig): void;
@@ -18,7 +18,7 @@ export declare const OnRamp: {
18
18
  * Call once after sign-in so connected integrations (Stripe, RevenueCat)
19
19
  * can match this user to their records.
20
20
  *
21
- * `identify()` is entirely optional omit it if your app has no integrations
21
+ * `identify()` is entirely optional - omit it if your app has no integrations
22
22
  * or if your users prefer not to share identity traits.
23
23
  *
24
24
  * ```ts
@@ -31,7 +31,7 @@ export declare const OnRamp: {
31
31
  /**
32
32
  * Return the current anonymous and session IDs so your server can associate
33
33
  * backend events (purchases, trial starts, etc.) with this user's journey.
34
- * Pass both in the request body at the moment of the action session IDs rotate.
34
+ * Pass both in the request body at the moment of the action - session IDs rotate.
35
35
  */
36
36
  getIds(): {
37
37
  anonymousId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6GA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAmGD,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBAuFlB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;IAmCP;;;;;;;;;;;OAWG;qBACc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;kBAQnD,IAAI;aAIT,OAAO,CAAC,IAAI,CAAC;IAItB;;;;OAIG;cACO;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;4BAI7C,OAAO;CAG7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyEA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAsID,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBAmFlB,MAAM,YACN;QACR,wEAAwE;QACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;KACvD,GACA,IAAI;IAmCP;;;;;;;;;;;OAWG;qBACc,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;kBAQnD,IAAI;aAIT,OAAO,CAAC,IAAI,CAAC;IAItB;;;;OAIG;cACO;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;4BAI7C,OAAO;CAG7B,CAAA"}
package/dist/index.js CHANGED
@@ -2,11 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OnRamp = void 0;
4
4
  const core_1 = require("@onramp-sdk/core");
5
- const ANON_KEY = '@onramp/anonymous_id';
6
- const SESSION_KEY = '@onramp/session';
7
- const PENDING_ACQUISITION_KEY = '@onramp/pending_acquisition';
8
5
  const DEFAULT_SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 min
9
- const DEFAULT_ANON_MAX_AGE_MS = 365 * 24 * 60 * 60 * 1000; // 365 days
6
+ const PENDING_ACQUISITION_KEY = '@onramp/pending_acquisition';
7
+ const SCROLL_DEPTH_THRESHOLDS = [25, 50, 75, 90];
10
8
  function uuid() {
11
9
  if (typeof crypto !== 'undefined' && crypto.randomUUID)
12
10
  return crypto.randomUUID();
@@ -15,59 +13,15 @@ function uuid() {
15
13
  return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
16
14
  });
17
15
  }
18
- function safeGet(key) {
19
- try {
20
- return localStorage.getItem(key);
21
- }
22
- catch {
23
- return null;
24
- }
25
- }
26
- function safeSet(key, value) {
27
- try {
28
- localStorage.setItem(key, value);
29
- }
30
- catch { /* private mode / quota */ }
31
- }
32
- function getOrCreateAnonymousId(maxAgeMs) {
33
- const raw = safeGet(ANON_KEY);
34
- if (raw) {
35
- try {
36
- const parsed = JSON.parse(raw);
37
- if (Date.now() - parsed.createdAt < maxAgeMs)
38
- return parsed.id;
39
- // expired — fall through to generate a new one
40
- }
41
- catch {
42
- // legacy plain-string ID — migrate to JSON format, age clock starts now
43
- const migrated = { id: raw, createdAt: Date.now() };
44
- safeSet(ANON_KEY, JSON.stringify(migrated));
45
- return migrated.id;
46
- }
47
- }
48
- const newId = { id: uuid(), createdAt: Date.now() };
49
- safeSet(ANON_KEY, JSON.stringify(newId));
50
- return newId.id;
51
- }
52
- function loadSession() {
53
- const raw = safeGet(SESSION_KEY);
54
- if (!raw)
55
- return null;
56
- try {
57
- return JSON.parse(raw);
58
- }
59
- catch {
60
- return null;
61
- }
62
- }
63
- function persistSession() {
64
- if (!currentSessionId)
65
- return;
66
- safeSet(SESSION_KEY, JSON.stringify({ id: currentSessionId, lastActive, stepCounter }));
67
- }
16
+ // Anonymous web analytics deliberately writes no identifiers to browser
17
+ // storage. The ingestion service replaces these per-page placeholders with a
18
+ // daily, salted pseudonymous ID and a short-lived server-side session.
19
+ function getAnonymousPlaceholder() { return uuid(); }
20
+ function persistSession() { }
68
21
  function rotateSession() {
69
22
  currentSessionId = uuid();
70
23
  stepCounter = 0;
24
+ scrollDepthMarks.clear();
71
25
  lastActive = Date.now();
72
26
  persistSession();
73
27
  }
@@ -138,26 +92,57 @@ let lastHeartbeatTs = 0;
138
92
  let sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
139
93
  let pendingReferrer = null;
140
94
  let pendingUtm = null;
141
- function safeSessionGet(key) {
142
- try {
143
- return sessionStorage.getItem(key);
144
- }
145
- catch {
146
- return null;
147
- }
148
- }
149
- function safeSessionSet(key, value) {
150
- try {
151
- sessionStorage.setItem(key, value);
152
- }
153
- catch { /* unavailable */ }
154
- }
155
- function safeSessionRemove(key) {
156
- try {
157
- sessionStorage.removeItem(key);
158
- }
159
- catch { /* unavailable */ }
95
+ const scrollDepthMarks = new Set();
96
+ function installScrollDepthTracking() {
97
+ let scheduled = false;
98
+ const measure = () => {
99
+ scheduled = false;
100
+ if (!client || !currentSessionId || !anonymousId)
101
+ return;
102
+ const pageHeight = Math.max(document.documentElement.scrollHeight, document.body?.scrollHeight ?? 0);
103
+ if (pageHeight <= 0)
104
+ return;
105
+ const depth = Math.min(100, Math.round(((window.scrollY + window.innerHeight) / pageHeight) * 100));
106
+ const page = (window.location.pathname || '/').slice(0, 128);
107
+ ensureSessionFresh();
108
+ for (const threshold of SCROLL_DEPTH_THRESHOLDS) {
109
+ const key = `${currentSessionId}:${page}:${threshold}`;
110
+ if (depth < threshold || scrollDepthMarks.has(key))
111
+ continue;
112
+ scrollDepthMarks.add(key);
113
+ const index = stepCounter++;
114
+ lastActive = Date.now();
115
+ persistSession();
116
+ const { osVersion, browser } = parseUA();
117
+ client.track({
118
+ sessionId: currentSessionId,
119
+ anonymousId,
120
+ eventType: 'engagement',
121
+ stepName: page,
122
+ stepIndex: index,
123
+ osVersion,
124
+ deviceType: getDeviceType(),
125
+ properties: {
126
+ _engagement: 'scroll_depth',
127
+ _scroll_depth_pct: threshold,
128
+ ...(browser ? { _browser: browser } : {}),
129
+ },
130
+ });
131
+ }
132
+ };
133
+ window.addEventListener('scroll', () => {
134
+ if (scheduled)
135
+ return;
136
+ scheduled = true;
137
+ if (typeof window.requestAnimationFrame === 'function')
138
+ window.requestAnimationFrame(measure);
139
+ else
140
+ window.setTimeout(measure, 16);
141
+ }, { passive: true });
160
142
  }
143
+ function safeSessionGet(_key) { return null; }
144
+ function safeSessionSet(_key, _value) { }
145
+ function safeSessionRemove(_key) { }
161
146
  // Ad platforms auto-tag landing URLs with a click ID instead of utm_* params
162
147
  // (e.g. Google Ads appends only ?gclid=... unless a manual tracking template is
163
148
  // set up). Map known click IDs to utm equivalents so paid traffic is still
@@ -236,19 +221,13 @@ exports.OnRamp = {
236
221
  init(config) {
237
222
  if (typeof window === 'undefined')
238
223
  return; // SSR guard
224
+ if (client)
225
+ return;
239
226
  sessionTimeoutMs = config.sessionTimeoutMs ?? DEFAULT_SESSION_TIMEOUT_MS;
240
- anonymousId = getOrCreateAnonymousId(config.anonymousIdMaxAgeMs ?? DEFAULT_ANON_MAX_AGE_MS);
227
+ anonymousId = getAnonymousPlaceholder();
241
228
  // Resume previous session if user returned within the timeout window
242
- const stored = loadSession();
243
- const isNewSession = !(stored && Date.now() - stored.lastActive < sessionTimeoutMs);
244
- if (!isNewSession && stored) {
245
- currentSessionId = stored.id;
246
- stepCounter = stored.stepCounter;
247
- lastActive = stored.lastActive;
248
- }
249
- else {
250
- rotateSession();
251
- }
229
+ const isNewSession = true;
230
+ rotateSession();
252
231
  captureAcquisition(isNewSession);
253
232
  client = new core_1.OnRampClient({
254
233
  apiKey: config.apiKey,
@@ -257,6 +236,8 @@ exports.OnRamp = {
257
236
  appVersion: config.appVersion ?? null,
258
237
  uuidFn: uuid,
259
238
  });
239
+ if (config.autoTrackScrollDepth !== false)
240
+ installScrollDepthTracking();
260
241
  function sendHeartbeat() {
261
242
  if (!client || !currentSessionId || !anonymousId)
262
243
  return;
@@ -288,7 +269,7 @@ exports.OnRamp = {
288
269
  if (document.visibilityState !== 'hidden')
289
270
  sendHeartbeat();
290
271
  }, 5_000);
291
- // Outbound link tracking fires nav_entered for external anchors
272
+ // Outbound link tracking - fires nav_entered for external anchors
292
273
  document.addEventListener('click', (e) => {
293
274
  const anchor = e.target?.closest?.('a');
294
275
  if (!anchor)
@@ -359,7 +340,7 @@ exports.OnRamp = {
359
340
  * Call once after sign-in so connected integrations (Stripe, RevenueCat)
360
341
  * can match this user to their records.
361
342
  *
362
- * `identify()` is entirely optional omit it if your app has no integrations
343
+ * `identify()` is entirely optional - omit it if your app has no integrations
363
344
  * or if your users prefer not to share identity traits.
364
345
  *
365
346
  * ```ts
@@ -382,7 +363,7 @@ exports.OnRamp = {
382
363
  /**
383
364
  * Return the current anonymous and session IDs so your server can associate
384
365
  * backend events (purchases, trial starts, etc.) with this user's journey.
385
- * Pass both in the request body at the moment of the action session IDs rotate.
366
+ * Pass both in the request body at the moment of the action - session IDs rotate.
386
367
  */
387
368
  getIds() {
388
369
  return { anonymousId, sessionId: currentSessionId };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";(()=>{var te=Object.create;var D=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty;var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var oe=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ie(e))!re.call(t,s)&&s!==n&&D(t,s,{get:()=>e[s],enumerable:!(i=ne(e,s))||i.enumerable});return t};var ue=(t,e,n)=>(n=t!=null?te(se(t)):{},oe(e||!t||!t.__esModule?D(n,"default",{value:t,enumerable:!0}):n,t));var k=m(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0})});var K=m(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0})});var H=m(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.API_KEY_HEADER=c.INGEST_ROUTE=c.MAX_EVENTS_PER_BATCH=c.SCHEMA_VERSION=void 0;c.SCHEMA_VERSION="1.0";c.MAX_EVENTS_PER_BATCH=50;c.INGEST_ROUTE="/v1/events";c.API_KEY_HEADER="x-onramp-key"});var E=m(f=>{"use strict";var ae=f&&f.__createBinding||(Object.create?(function(t,e,n,i){i===void 0&&(i=n);var s=Object.getOwnPropertyDescriptor(e,n);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,s)}):(function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]})),I=f&&f.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ae(e,t,n)};Object.defineProperty(f,"__esModule",{value:!0});I(k(),f);I(K(),f);I(H(),f)});var T=m(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.BatchQueue=void 0;var O=E(),ce=3,le=1e3,R=class{queue=[];timer=null;retryTimer=null;retryCount=0;sending=!1;flushIntervalMs;flushFn;constructor(e,n=5e3){this.flushFn=e,this.flushIntervalMs=n}push(e){this.queue.push(e),this.queue.length>=O.MAX_EVENTS_PER_BATCH?this.sendWhenReady():!this.timer&&!this.retryTimer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}async flushNow(){for(this.cancelTimers();this.queue.length>0;){let e=this.queue.splice(0,O.MAX_EVENTS_PER_BATCH);await this.flushFn(e).catch(()=>{})}}destroy(){this.cancelTimers()}sendWhenReady(){this.sending||(this.cancelTimers(),this.trySend())}async trySend(){if(this.sending||this.queue.length===0)return;this.sending=!0;let e=this.queue.splice(0,O.MAX_EVENTS_PER_BATCH);try{await this.flushFn(e),this.retryCount=0,this.queue.length>0&&!this.timer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}catch{if(this.queue.unshift(...e),this.retryCount<ce){let n=le*2**this.retryCount;this.retryCount++,this.retryTimer=setTimeout(()=>this.sendWhenReady(),n)}else this.queue.splice(0,e.length),this.retryCount=0}finally{this.sending=!1}}cancelTimers(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.retryTimer&&(clearTimeout(this.retryTimer),this.retryTimer=null)}};b.BatchQueue=R});var B=m(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.OnRampClient=void 0;var de=T(),_=E(),A=class{config;queue;constructor(e){this.config={...e,host:e.host??"https://ingest.getonramp.dev",platform:e.platform??"other",framework:e.framework??null,appVersion:e.appVersion??null,flushIntervalMs:e.flushIntervalMs??5e3},this.queue=new de.BatchQueue(this.sendBatch.bind(this),this.config.flushIntervalMs)}track(e){let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:e.eventType??"step_entered",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:e.stepName,step_index:e.stepIndex,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:e.osVersion??null,app_version:this.config.appVersion,device_model:e.deviceModel??null,device_type:e.deviceType??null,properties:this.config.framework?{_framework:this.config.framework,...e.properties}:e.properties??null};this.queue.push(n)}identify(e){let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"identify",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_identify",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:e.traits};this.queue.push(n)}flush(){return this.queue.flushNow()}beacon(e){if(typeof fetch>"u")return;let n={schema_version:_.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"heartbeat",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_heartbeat",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:null};fetch(`${this.config.host}${_.INGEST_ROUTE}`,{method:"POST",headers:{"Content-Type":"application/json",[_.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:[n]}),keepalive:!0}).catch(()=>{})}destroy(){this.queue.destroy()}async sendBatch(e){let n=`${this.config.host}${_.INGEST_ROUTE}`,i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[_.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:e})});if(!i.ok)throw new Error(`Ingest failed: ${i.status}`)}};w.OnRampClient=A});var F=m(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.BatchQueue=g.OnRampClient=void 0;var fe=B();Object.defineProperty(g,"OnRampClient",{enumerable:!0,get:function(){return fe.OnRampClient}});var he=T();Object.defineProperty(g,"BatchQueue",{enumerable:!0,get:function(){return he.BatchQueue}})});var X=ue(F()),x="@onramp/anonymous_id",G="@onramp/session",y="@onramp/pending_acquisition",Y=1800*1e3,pe=365*24*60*60*1e3;function V(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Q(t){try{return localStorage.getItem(t)}catch{return null}}function N(t,e){try{localStorage.setItem(t,e)}catch{}}function me(t){let e=Q(x);if(e)try{let i=JSON.parse(e);if(Date.now()-i.createdAt<t)return i.id}catch{let i={id:e,createdAt:Date.now()};return N(x,JSON.stringify(i)),i.id}let n={id:V(),createdAt:Date.now()};return N(x,JSON.stringify(n)),n.id}function _e(){let t=Q(G);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function v(){o&&N(G,JSON.stringify({id:o,lastActive:p,stepCounter:S}))}function P(){o=V(),S=0,p=Date.now(),v()}function M(){(!o||Date.now()-p>C)&&P()}function $(){if(typeof navigator>"u")return{osVersion:"web",browser:""};let t=navigator.userAgent,e="web",n="";if(/iPad/.test(t))e="ipados",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/iPhone|iPod/.test(t))e="ios",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/Android (\d+\.?\d*)/.test(t))e="android",n=(t.match(/Android (\d+\.?\d*)/)??[])[1]??"";else if(/Windows NT (\d+\.\d+)/.test(t)){e="windows";let s=(t.match(/Windows NT (\d+\.\d+)/)??[])[1]??"";n={"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7"}[s]??s}else/Mac OS X (\d+[_.]\d+)/.test(t)?(e="macos",n=(t.match(/Mac OS X (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??""):/Linux/.test(t)&&(e="linux");let i="";return/Edg\/(\d+)/.test(t)?i=`Edge ${(t.match(/Edg\/(\d+)/)??[])[1]??""}`:/OPR\/(\d+)/.test(t)?i=`Opera ${(t.match(/OPR\/(\d+)/)??[])[1]??""}`:/Firefox\/(\d+)/.test(t)?i=`Firefox ${(t.match(/Firefox\/(\d+)/)??[])[1]??""}`:/Chrome\/(\d+)/.test(t)?i=`Chrome ${(t.match(/Chrome\/(\d+)/)??[])[1]??""}`:/Version\/(\d+).*Safari/.test(t)?i=`Safari ${(t.match(/Version\/(\d+)/)??[])[1]??""}`:/Safari\//.test(t)&&(i="Safari"),{osVersion:n?`${e} ${n}`:e,browser:i}}function L(){if(typeof navigator>"u")return"desktop";let t=navigator.userAgent;return/iPad|Tablet|(Android(?!.*Mobile))/i.test(t)?"tablet":/Mobi|Android|iPhone|iPod/i.test(t)?"phone":"desktop"}var u=null,o=null,l=null,S=0,p=0,J=0,C=Y,a=null,d=null;function ge(t){try{return sessionStorage.getItem(t)}catch{return null}}function W(t,e){try{sessionStorage.setItem(t,e)}catch{}}function z(t){try{sessionStorage.removeItem(t)}catch{}}var ye=[["gclid","google","cpc"],["gbraid","google","cpc"],["wbraid","google","cpc"],["msclkid","bing","cpc"],["ttclid","tiktok","cpc"],["twclid","twitter","cpc"],["li_fat_id","linkedin","cpc"],["fbclid","facebook","social"]];function ve(t){for(let[e,n,i]of ye)if(t.get(e))return{_utm_source:n,_utm_medium:i};return null}function Se(t){if(a=null,d=null,document.referrer)try{new URL(document.referrer).origin!==window.location.origin&&(a=document.referrer)}catch{a=document.referrer}let e=new URLSearchParams(window.location.search),n=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],i={};for(let r of n){let h=e.get(r);h&&(i[`_${r}`]=h)}if(Object.keys(i).length>0?d=i:d=ve(e),a||d){W(y,JSON.stringify({referrer:a,utm:d}));return}let s=ge(y);if(!s){t&&(a="direct"),a&&W(y,JSON.stringify({referrer:a,utm:null}));return}try{let r=JSON.parse(s);a=r.referrer,d=r.utm}catch{z(y)}}var Z={init(t){if(typeof window>"u")return;C=t.sessionTimeoutMs??Y,l=me(t.anonymousIdMaxAgeMs??pe);let e=_e(),n=!(e&&Date.now()-e.lastActive<C);!n&&e?(o=e.id,S=e.stepCounter,p=e.lastActive):P(),Se(n),u=new X.OnRampClient({apiKey:t.apiKey,host:t.host,platform:"web",appVersion:t.appVersion??null,uuidFn:V});function i(){if(!u||!o||!l)return;let s=Date.now();s-J<500||(J=s,u.beacon({sessionId:o,anonymousId:l}))}window.addEventListener("pagehide",()=>{p=Date.now(),v(),i(),u?.flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?(p=Date.now(),v(),i(),u?.flush()):M()}),setInterval(()=>{document.visibilityState!=="hidden"&&i()},5e3),document.addEventListener("click",s=>{let r=s.target?.closest?.("a");if(!r)return;let h=r.getAttribute("href")??"";if(!(!h||h.startsWith("#")||h.startsWith("mailto:")||h.startsWith("tel:")))try{let q=new URL(h,window.location.href);if(q.hostname===window.location.hostname||!u||!o||!l)return;M();let ee=S++;p=Date.now(),v(),u.track({sessionId:o,anonymousId:l,eventType:"nav_entered",stepName:q.href.slice(0,128),stepIndex:ee,osVersion:$().osVersion,deviceType:L(),properties:null})}catch{}},{capture:!0,passive:!0})},step(t,e){if(!u||!o||!l){console.warn("[OnRamp] call OnRamp.init() before tracking steps");return}M();let n=S++;p=Date.now(),v();let{osVersion:i,browser:s}=$(),r={};s&&(r._browser=s),a&&(r._referrer=a),d&&Object.assign(r,d),(a||d)&&(a=null,d=null,z(y)),u.track({sessionId:o,anonymousId:l,stepName:t,stepIndex:n,osVersion:i,deviceType:L(),properties:Object.keys(r).length||e?.properties?{...r,...e?.properties}:null})},identify(t){if(!u||!o||!l){console.warn("[OnRamp] call OnRamp.init() before calling identify()");return}u.identify({sessionId:o,anonymousId:l,traits:t})},newSession(){P()},flush(){return u?.flush()??Promise.resolve()},getIds(){return{anonymousId:l,sessionId:o}},get isInitialized(){return u!==null}};globalThis.OnRamp=Z;})();
1
+ "use strict";(()=>{var Q=Object.create;var q=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var p=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var te=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of z(e))!ee.call(t,s)&&s!==n&&q(t,s,{get:()=>e[s],enumerable:!(i=J(e,s))||i.enumerable});return t};var ne=(t,e,n)=>(n=t!=null?Q(Z(t)):{},te(e||!t||!t.__esModule?q(n,"default",{value:t,enumerable:!0}):n,t));var H=p(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0})});var U=p(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0})});var F=p(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.API_KEY_HEADER=c.INGEST_ROUTE=c.MAX_EVENTS_PER_BATCH=c.SCHEMA_VERSION=void 0;c.SCHEMA_VERSION="1.0";c.MAX_EVENTS_PER_BATCH=50;c.INGEST_ROUTE="/v1/events";c.API_KEY_HEADER="x-onramp-key"});var O=p(f=>{"use strict";var ie=f&&f.__createBinding||(Object.create?(function(t,e,n,i){i===void 0&&(i=n);var s=Object.getOwnPropertyDescriptor(e,n);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,s)}):(function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]})),T=f&&f.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ie(e,t,n)};Object.defineProperty(f,"__esModule",{value:!0});T(H(),f);T(U(),f);T(F(),f)});var x=p(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.BatchQueue=void 0;var R=O(),se=3,re=1e3,I=class{queue=[];timer=null;retryTimer=null;retryCount=0;sending=!1;flushIntervalMs;flushFn;constructor(e,n=5e3){this.flushFn=e,this.flushIntervalMs=n}push(e){this.queue.push(e),this.queue.length>=R.MAX_EVENTS_PER_BATCH?this.sendWhenReady():!this.timer&&!this.retryTimer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}async flushNow(){for(this.cancelTimers();this.queue.length>0;){let e=this.queue.splice(0,R.MAX_EVENTS_PER_BATCH);await this.flushFn(e).catch(()=>{})}}destroy(){this.cancelTimers()}sendWhenReady(){this.sending||(this.cancelTimers(),this.trySend())}async trySend(){if(this.sending||this.queue.length===0)return;this.sending=!0;let e=this.queue.splice(0,R.MAX_EVENTS_PER_BATCH);try{await this.flushFn(e),this.retryCount=0,this.queue.length>0&&!this.timer&&(this.timer=setTimeout(()=>this.sendWhenReady(),this.flushIntervalMs))}catch{if(this.queue.unshift(...e),this.retryCount<se){let n=re*2**this.retryCount;this.retryCount++,this.retryTimer=setTimeout(()=>this.sendWhenReady(),n)}else this.queue.splice(0,e.length),this.retryCount=0}finally{this.sending=!1}}cancelTimers(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.retryTimer&&(clearTimeout(this.retryTimer),this.retryTimer=null)}};v.BatchQueue=I});var $=p(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.OnRampClient=void 0;var oe=x(),m=O(),M=class{config;queue;constructor(e){this.config={...e,host:e.host??"https://ingest.getonramp.dev",platform:e.platform??"other",framework:e.framework??null,appVersion:e.appVersion??null,flushIntervalMs:e.flushIntervalMs??5e3},this.queue=new oe.BatchQueue(this.sendBatch.bind(this),this.config.flushIntervalMs)}track(e){let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:e.eventType??"step_entered",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:e.stepName,step_index:e.stepIndex,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:e.osVersion??null,app_version:this.config.appVersion,device_model:e.deviceModel??null,device_type:e.deviceType??null,properties:this.config.framework?{_framework:this.config.framework,...e.properties}:e.properties??null};this.queue.push(n)}identify(e){let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"identify",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_identify",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:e.traits};this.queue.push(n)}flush(){return this.queue.flushNow()}beacon(e){if(typeof fetch>"u")return;let n={schema_version:m.SCHEMA_VERSION,event_id:this.config.uuidFn(),event_type:"heartbeat",app_key:this.config.apiKey,session_id:e.sessionId,anonymous_id:e.anonymousId,step_name:"_heartbeat",step_index:0,client_timestamp_ms:Date.now(),platform:this.config.platform,os_version:null,app_version:this.config.appVersion,device_model:null,device_type:null,properties:null};fetch(`${this.config.host}${m.INGEST_ROUTE}`,{method:"POST",headers:{"Content-Type":"application/json",[m.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:[n]}),keepalive:!0}).catch(()=>{})}destroy(){this.queue.destroy()}async sendBatch(e){let n=`${this.config.host}${m.INGEST_ROUTE}`,i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",[m.API_KEY_HEADER]:this.config.apiKey},body:JSON.stringify({events:e})});if(!i.ok)throw new Error(`Ingest failed: ${i.status}`)}};w.OnRampClient=M});var B=p(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.BatchQueue=g.OnRampClient=void 0;var ue=$();Object.defineProperty(g,"OnRampClient",{enumerable:!0,get:function(){return ue.OnRampClient}});var ae=x();Object.defineProperty(g,"BatchQueue",{enumerable:!0,get:function(){return ae.BatchQueue}})});var L=ne(B()),W=1800*1e3,y="@onramp/pending_acquisition",le=[25,50,75,90];function k(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function ce(){return k()}function A(){u=k(),S=0,N.clear(),_=Date.now()}function b(){(!u||Date.now()-_>X)&&A()}function P(){if(typeof navigator>"u")return{osVersion:"web",browser:""};let t=navigator.userAgent,e="web",n="";if(/iPad/.test(t))e="ipados",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/iPhone|iPod/.test(t))e="ios",n=(t.match(/OS (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??"";else if(/Android (\d+\.?\d*)/.test(t))e="android",n=(t.match(/Android (\d+\.?\d*)/)??[])[1]??"";else if(/Windows NT (\d+\.\d+)/.test(t)){e="windows";let s=(t.match(/Windows NT (\d+\.\d+)/)??[])[1]??"";n={"10.0":"10","6.3":"8.1","6.2":"8","6.1":"7"}[s]??s}else/Mac OS X (\d+[_.]\d+)/.test(t)?(e="macos",n=(t.match(/Mac OS X (\d+[_.]\d+)/)??[])[1]?.replace("_",".")??""):/Linux/.test(t)&&(e="linux");let i="";return/Edg\/(\d+)/.test(t)?i=`Edge ${(t.match(/Edg\/(\d+)/)??[])[1]??""}`:/OPR\/(\d+)/.test(t)?i=`Opera ${(t.match(/OPR\/(\d+)/)??[])[1]??""}`:/Firefox\/(\d+)/.test(t)?i=`Firefox ${(t.match(/Firefox\/(\d+)/)??[])[1]??""}`:/Chrome\/(\d+)/.test(t)?i=`Chrome ${(t.match(/Chrome\/(\d+)/)??[])[1]??""}`:/Version\/(\d+).*Safari/.test(t)?i=`Safari ${(t.match(/Version\/(\d+)/)??[])[1]??""}`:/Safari\//.test(t)&&(i="Safari"),{osVersion:n?`${e} ${n}`:e,browser:i}}function C(){if(typeof navigator>"u")return"desktop";let t=navigator.userAgent;return/iPad|Tablet|(Android(?!.*Mobile))/i.test(t)?"tablet":/Mobi|Android|iPhone|iPod/i.test(t)?"phone":"desktop"}var o=null,u=null,l=null,S=0,_=0,K=0,X=W,a=null,d=null,N=new Set;function de(){let t=!1,e=()=>{if(t=!1,!o||!u||!l)return;let n=Math.max(document.documentElement.scrollHeight,document.body?.scrollHeight??0);if(n<=0)return;let i=Math.min(100,Math.round((window.scrollY+window.innerHeight)/n*100)),s=(window.location.pathname||"/").slice(0,128);b();for(let r of le){let h=`${u}:${s}:${r}`;if(i<r||N.has(h))continue;N.add(h);let E=S++;_=Date.now();let{osVersion:G,browser:V}=P();o.track({sessionId:u,anonymousId:l,eventType:"engagement",stepName:s,stepIndex:E,osVersion:G,deviceType:C(),properties:{_engagement:"scroll_depth",_scroll_depth_pct:r,...V?{_browser:V}:{}}})}};window.addEventListener("scroll",()=>{t||(t=!0,typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame(e):window.setTimeout(e,16))},{passive:!0})}function fe(t){return null}var he=[["gclid","google","cpc"],["gbraid","google","cpc"],["wbraid","google","cpc"],["msclkid","bing","cpc"],["ttclid","tiktok","cpc"],["twclid","twitter","cpc"],["li_fat_id","linkedin","cpc"],["fbclid","facebook","social"]];function pe(t){for(let[e,n,i]of he)if(t.get(e))return{_utm_source:n,_utm_medium:i};return null}function me(t){if(a=null,d=null,document.referrer)try{new URL(document.referrer).origin!==window.location.origin&&(a=document.referrer)}catch{a=document.referrer}let e=new URLSearchParams(window.location.search),n=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],i={};for(let r of n){let h=e.get(r);h&&(i[`_${r}`]=h)}if(Object.keys(i).length>0?d=i:d=pe(e),a||d){JSON.stringify({referrer:a,utm:d});return}let s=fe(y);if(!s){t&&(a="direct"),a&&(JSON.stringify({referrer:a,utm:null}),void 0);return}try{let r=JSON.parse(s);a=r.referrer,d=r.utm}catch{}}var Y={init(t){if(typeof window>"u"||o)return;X=t.sessionTimeoutMs??W,l=ce();let e=!0;A(),me(e),o=new L.OnRampClient({apiKey:t.apiKey,host:t.host,platform:"web",appVersion:t.appVersion??null,uuidFn:k}),t.autoTrackScrollDepth!==!1&&de();function n(){if(!o||!u||!l)return;let i=Date.now();i-K<500||(K=i,o.beacon({sessionId:u,anonymousId:l}))}window.addEventListener("pagehide",()=>{_=Date.now(),n(),o?.flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?(_=Date.now(),n(),o?.flush()):b()}),setInterval(()=>{document.visibilityState!=="hidden"&&n()},5e3),document.addEventListener("click",i=>{let s=i.target?.closest?.("a");if(!s)return;let r=s.getAttribute("href")??"";if(!(!r||r.startsWith("#")||r.startsWith("mailto:")||r.startsWith("tel:")))try{let h=new URL(r,window.location.href);if(h.hostname===window.location.hostname||!o||!u||!l)return;b();let E=S++;_=Date.now(),o.track({sessionId:u,anonymousId:l,eventType:"nav_entered",stepName:h.href.slice(0,128),stepIndex:E,osVersion:P().osVersion,deviceType:C(),properties:null})}catch{}},{capture:!0,passive:!0})},step(t,e){if(!o||!u||!l){console.warn("[OnRamp] call OnRamp.init() before tracking steps");return}b();let n=S++;_=Date.now();let{osVersion:i,browser:s}=P(),r={};s&&(r._browser=s),a&&(r._referrer=a),d&&Object.assign(r,d),(a||d)&&(a=null,d=null,void 0),o.track({sessionId:u,anonymousId:l,stepName:t,stepIndex:n,osVersion:i,deviceType:C(),properties:Object.keys(r).length||e?.properties?{...r,...e?.properties}:null})},identify(t){if(!o||!u||!l){console.warn("[OnRamp] call OnRamp.init() before calling identify()");return}o.identify({sessionId:u,anonymousId:l,traits:t})},newSession(){A()},flush(){return o?.flush()??Promise.resolve()},getIds(){return{anonymousId:l,sessionId:u}},get isInitialized(){return o!==null}};globalThis.OnRamp=Y;})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onramp-sdk/web",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "OnRamp Analytics SDK for web apps - track onboarding steps and see where users drop off.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@onramp-sdk/core": "0.6.3",
38
- "@onramp-sdk/shared": "0.4.1"
38
+ "@onramp-sdk/shared": "0.4.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "esbuild": "^0.25.0",