@onramp-sdk/web 0.7.1 → 0.7.2

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
 
package/dist/index.d.ts CHANGED
@@ -6,6 +6,8 @@ interface InitConfig {
6
6
  sessionTimeoutMs?: number;
7
7
  /** Anonymous ID is rotated after this many milliseconds. Default 365 days. */
8
8
  anonymousIdMaxAgeMs?: number;
9
+ /** Automatically record 25/50/75/90% page scroll depth. Default true. */
10
+ autoTrackScrollDepth?: boolean;
9
11
  }
10
12
  export declare const OnRamp: {
11
13
  init(config: InitConfig): void;
@@ -18,7 +20,7 @@ export declare const OnRamp: {
18
20
  * Call once after sign-in so connected integrations (Stripe, RevenueCat)
19
21
  * can match this user to their records.
20
22
  *
21
- * `identify()` is entirely optional omit it if your app has no integrations
23
+ * `identify()` is entirely optional - omit it if your app has no integrations
22
24
  * or if your users prefer not to share identity traits.
23
25
  *
24
26
  * ```ts
@@ -31,7 +33,7 @@ export declare const OnRamp: {
31
33
  /**
32
34
  * Return the current anonymous and session IDs so your server can associate
33
35
  * 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.
36
+ * Pass both in the request body at the moment of the action - session IDs rotate.
35
37
  */
36
38
  getIds(): {
37
39
  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":"AA+GA,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;IAC5B,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AA8ID,eAAO,MAAM,MAAM;iBACJ,UAAU,GAAG,IAAI;mBA0FlB,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
@@ -7,6 +7,7 @@ const SESSION_KEY = '@onramp/session';
7
7
  const PENDING_ACQUISITION_KEY = '@onramp/pending_acquisition';
8
8
  const DEFAULT_SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 min
9
9
  const DEFAULT_ANON_MAX_AGE_MS = 365 * 24 * 60 * 60 * 1000; // 365 days
10
+ const SCROLL_DEPTH_THRESHOLDS = [25, 50, 75, 90];
10
11
  function uuid() {
11
12
  if (typeof crypto !== 'undefined' && crypto.randomUUID)
12
13
  return crypto.randomUUID();
@@ -36,10 +37,10 @@ function getOrCreateAnonymousId(maxAgeMs) {
36
37
  const parsed = JSON.parse(raw);
37
38
  if (Date.now() - parsed.createdAt < maxAgeMs)
38
39
  return parsed.id;
39
- // expired fall through to generate a new one
40
+ // expired - fall through to generate a new one
40
41
  }
41
42
  catch {
42
- // legacy plain-string ID migrate to JSON format, age clock starts now
43
+ // legacy plain-string ID - migrate to JSON format, age clock starts now
43
44
  const migrated = { id: raw, createdAt: Date.now() };
44
45
  safeSet(ANON_KEY, JSON.stringify(migrated));
45
46
  return migrated.id;
@@ -68,6 +69,7 @@ function persistSession() {
68
69
  function rotateSession() {
69
70
  currentSessionId = uuid();
70
71
  stepCounter = 0;
72
+ scrollDepthMarks.clear();
71
73
  lastActive = Date.now();
72
74
  persistSession();
73
75
  }
@@ -138,6 +140,54 @@ let lastHeartbeatTs = 0;
138
140
  let sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
139
141
  let pendingReferrer = null;
140
142
  let pendingUtm = null;
143
+ const scrollDepthMarks = new Set();
144
+ function installScrollDepthTracking() {
145
+ let scheduled = false;
146
+ const measure = () => {
147
+ scheduled = false;
148
+ if (!client || !currentSessionId || !anonymousId)
149
+ return;
150
+ const pageHeight = Math.max(document.documentElement.scrollHeight, document.body?.scrollHeight ?? 0);
151
+ if (pageHeight <= 0)
152
+ return;
153
+ const depth = Math.min(100, Math.round(((window.scrollY + window.innerHeight) / pageHeight) * 100));
154
+ const page = (window.location.pathname || '/').slice(0, 128);
155
+ ensureSessionFresh();
156
+ for (const threshold of SCROLL_DEPTH_THRESHOLDS) {
157
+ const key = `${currentSessionId}:${page}:${threshold}`;
158
+ if (depth < threshold || scrollDepthMarks.has(key))
159
+ continue;
160
+ scrollDepthMarks.add(key);
161
+ const index = stepCounter++;
162
+ lastActive = Date.now();
163
+ persistSession();
164
+ const { osVersion, browser } = parseUA();
165
+ client.track({
166
+ sessionId: currentSessionId,
167
+ anonymousId,
168
+ eventType: 'engagement',
169
+ stepName: page,
170
+ stepIndex: index,
171
+ osVersion,
172
+ deviceType: getDeviceType(),
173
+ properties: {
174
+ _engagement: 'scroll_depth',
175
+ _scroll_depth_pct: threshold,
176
+ ...(browser ? { _browser: browser } : {}),
177
+ },
178
+ });
179
+ }
180
+ };
181
+ window.addEventListener('scroll', () => {
182
+ if (scheduled)
183
+ return;
184
+ scheduled = true;
185
+ if (typeof window.requestAnimationFrame === 'function')
186
+ window.requestAnimationFrame(measure);
187
+ else
188
+ window.setTimeout(measure, 16);
189
+ }, { passive: true });
190
+ }
141
191
  function safeSessionGet(key) {
142
192
  try {
143
193
  return sessionStorage.getItem(key);
@@ -236,6 +286,8 @@ exports.OnRamp = {
236
286
  init(config) {
237
287
  if (typeof window === 'undefined')
238
288
  return; // SSR guard
289
+ if (client)
290
+ return;
239
291
  sessionTimeoutMs = config.sessionTimeoutMs ?? DEFAULT_SESSION_TIMEOUT_MS;
240
292
  anonymousId = getOrCreateAnonymousId(config.anonymousIdMaxAgeMs ?? DEFAULT_ANON_MAX_AGE_MS);
241
293
  // Resume previous session if user returned within the timeout window
@@ -257,6 +309,8 @@ exports.OnRamp = {
257
309
  appVersion: config.appVersion ?? null,
258
310
  uuidFn: uuid,
259
311
  });
312
+ if (config.autoTrackScrollDepth !== false)
313
+ installScrollDepthTracking();
260
314
  function sendHeartbeat() {
261
315
  if (!client || !currentSessionId || !anonymousId)
262
316
  return;
@@ -288,7 +342,7 @@ exports.OnRamp = {
288
342
  if (document.visibilityState !== 'hidden')
289
343
  sendHeartbeat();
290
344
  }, 5_000);
291
- // Outbound link tracking fires nav_entered for external anchors
345
+ // Outbound link tracking - fires nav_entered for external anchors
292
346
  document.addEventListener('click', (e) => {
293
347
  const anchor = e.target?.closest?.('a');
294
348
  if (!anchor)
@@ -359,7 +413,7 @@ exports.OnRamp = {
359
413
  * Call once after sign-in so connected integrations (Stripe, RevenueCat)
360
414
  * can match this user to their records.
361
415
  *
362
- * `identify()` is entirely optional omit it if your app has no integrations
416
+ * `identify()` is entirely optional - omit it if your app has no integrations
363
417
  * or if your users prefer not to share identity traits.
364
418
  *
365
419
  * ```ts
@@ -382,7 +436,7 @@ exports.OnRamp = {
382
436
  /**
383
437
  * Return the current anonymous and session IDs so your server can associate
384
438
  * 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.
439
+ * Pass both in the request body at the moment of the action - session IDs rotate.
386
440
  */
387
441
  getIds() {
388
442
  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 ie=Object.create;var F=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ue=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of re(e))!ae.call(t,s)&&s!==n&&F(t,s,{get:()=>e[s],enumerable:!(i=se(e,s))||i.enumerable});return t};var ce=(t,e,n)=>(n=t!=null?ie(oe(t)):{},ue(e||!t||!t.__esModule?F(n,"default",{value:t,enumerable:!0}):n,t));var $=m(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0})});var L=m(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0})});var J=m(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.API_KEY_HEADER=d.INGEST_ROUTE=d.MAX_EVENTS_PER_BATCH=d.SCHEMA_VERSION=void 0;d.SCHEMA_VERSION="1.0";d.MAX_EVENTS_PER_BATCH=50;d.INGEST_ROUTE="/v1/events";d.API_KEY_HEADER="x-onramp-key"});var R=m(h=>{"use strict";var le=h&&h.__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=h&&h.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&le(e,t,n)};Object.defineProperty(h,"__esModule",{value:!0});T($(),h);T(L(),h);T(J(),h)});var M=m(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.BatchQueue=void 0;var A=R(),de=3,fe=1e3,x=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>=A.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,A.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,A.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<de){let n=fe*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=x});var W=m(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.OnRampClient=void 0;var he=M(),_=R(),N=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 he.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}`)}};E.OnRampClient=N});var X=m(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.BatchQueue=g.OnRampClient=void 0;var pe=W();Object.defineProperty(g,"OnRampClient",{enumerable:!0,get:function(){return pe.OnRampClient}});var me=M();Object.defineProperty(g,"BatchQueue",{enumerable:!0,get:function(){return me.BatchQueue}})});var Q=ce(X()),P="@onramp/anonymous_id",z="@onramp/session",S="@onramp/pending_acquisition",Z=1800*1e3,_e=365*24*60*60*1e3,ge=[25,50,75,90];function j(){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 ee(t){try{return localStorage.getItem(t)}catch{return null}}function C(t,e){try{localStorage.setItem(t,e)}catch{}}function ye(t){let e=ee(P);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 C(P,JSON.stringify(i)),i.id}let n={id:j(),createdAt:Date.now()};return C(P,JSON.stringify(n)),n.id}function ve(){let t=ee(z);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function y(){o&&C(z,JSON.stringify({id:o,lastActive:p,stepCounter:v}))}function D(){o=j(),v=0,H.clear(),p=Date.now(),y()}function I(){(!o||Date.now()-p>k)&&D()}function V(){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 q(){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 a=null,o=null,c=null,v=0,p=0,Y=0,k=Z,u=null,f=null,H=new Set;function Se(){let t=!1,e=()=>{if(t=!1,!a||!o||!c)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);I();for(let r of ge){let l=`${o}:${s}:${r}`;if(i<r||H.has(l))continue;H.add(l);let w=v++;p=Date.now(),y();let{osVersion:O,browser:U}=V();a.track({sessionId:o,anonymousId:c,eventType:"engagement",stepName:s,stepIndex:w,osVersion:O,deviceType:q(),properties:{_engagement:"scroll_depth",_scroll_depth_pct:r,...U?{_browser:U}:{}}})}};window.addEventListener("scroll",()=>{t||(t=!0,typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame(e):window.setTimeout(e,16))},{passive:!0})}function we(t){try{return sessionStorage.getItem(t)}catch{return null}}function G(t,e){try{sessionStorage.setItem(t,e)}catch{}}function te(t){try{sessionStorage.removeItem(t)}catch{}}var be=[["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 Ee(t){for(let[e,n,i]of be)if(t.get(e))return{_utm_source:n,_utm_medium:i};return null}function Ie(t){if(u=null,f=null,document.referrer)try{new URL(document.referrer).origin!==window.location.origin&&(u=document.referrer)}catch{u=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 l=e.get(r);l&&(i[`_${r}`]=l)}if(Object.keys(i).length>0?f=i:f=Ee(e),u||f){G(S,JSON.stringify({referrer:u,utm:f}));return}let s=we(S);if(!s){t&&(u="direct"),u&&G(S,JSON.stringify({referrer:u,utm:null}));return}try{let r=JSON.parse(s);u=r.referrer,f=r.utm}catch{te(S)}}var ne={init(t){if(typeof window>"u"||a)return;k=t.sessionTimeoutMs??Z,c=ye(t.anonymousIdMaxAgeMs??_e);let e=ve(),n=!(e&&Date.now()-e.lastActive<k);!n&&e?(o=e.id,v=e.stepCounter,p=e.lastActive):D(),Ie(n),a=new Q.OnRampClient({apiKey:t.apiKey,host:t.host,platform:"web",appVersion:t.appVersion??null,uuidFn:j}),t.autoTrackScrollDepth!==!1&&Se();function i(){if(!a||!o||!c)return;let s=Date.now();s-Y<500||(Y=s,a.beacon({sessionId:o,anonymousId:c}))}window.addEventListener("pagehide",()=>{p=Date.now(),y(),i(),a?.flush()}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?(p=Date.now(),y(),i(),a?.flush()):I()}),setInterval(()=>{document.visibilityState!=="hidden"&&i()},5e3),document.addEventListener("click",s=>{let r=s.target?.closest?.("a");if(!r)return;let l=r.getAttribute("href")??"";if(!(!l||l.startsWith("#")||l.startsWith("mailto:")||l.startsWith("tel:")))try{let w=new URL(l,window.location.href);if(w.hostname===window.location.hostname||!a||!o||!c)return;I();let O=v++;p=Date.now(),y(),a.track({sessionId:o,anonymousId:c,eventType:"nav_entered",stepName:w.href.slice(0,128),stepIndex:O,osVersion:V().osVersion,deviceType:q(),properties:null})}catch{}},{capture:!0,passive:!0})},step(t,e){if(!a||!o||!c){console.warn("[OnRamp] call OnRamp.init() before tracking steps");return}I();let n=v++;p=Date.now(),y();let{osVersion:i,browser:s}=V(),r={};s&&(r._browser=s),u&&(r._referrer=u),f&&Object.assign(r,f),(u||f)&&(u=null,f=null,te(S)),a.track({sessionId:o,anonymousId:c,stepName:t,stepIndex:n,osVersion:i,deviceType:q(),properties:Object.keys(r).length||e?.properties?{...r,...e?.properties}:null})},identify(t){if(!a||!o||!c){console.warn("[OnRamp] call OnRamp.init() before calling identify()");return}a.identify({sessionId:o,anonymousId:c,traits:t})},newSession(){D()},flush(){return a?.flush()??Promise.resolve()},getIds(){return{anonymousId:c,sessionId:o}},get isInitialized(){return a!==null}};globalThis.OnRamp=ne;})();
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.2",
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",