flowgrid-sdk 1.6.7 → 1.6.9
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 +88 -4
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +3 -0
- package/dist/browser.js.map +1 -1
- package/dist/flowgrid.min.js +1 -1
- package/dist/flowgrid.min.js.map +1 -1
- package/dist/lib/client/transport.d.ts +17 -0
- package/dist/lib/client/transport.js +42 -0
- package/dist/lib/client/transport.js.map +1 -1
- package/dist/lib/features/analytics/identify.d.ts +27 -0
- package/dist/lib/features/analytics/identify.js +193 -0
- package/dist/lib/features/analytics/identify.js.map +1 -1
- package/dist/lib/features/analytics/index.d.ts +1 -1
- package/dist/lib/features/core/track-feature.js.map +1 -1
- package/dist/lib/flowgrid.d.ts +44 -0
- package/dist/lib/flowgrid.js +42 -0
- package/dist/lib/flowgrid.js.map +1 -1
- package/dist/lib/tracking/core/feature.d.ts +15 -2
- package/dist/lib/tracking/core/feature.js +18 -2
- package/dist/lib/tracking/core/feature.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -103,6 +103,23 @@ export declare class FlowGridTransport {
|
|
|
103
103
|
private static isLikelyBot;
|
|
104
104
|
private isDNTEnabled;
|
|
105
105
|
private static getDeviceContext;
|
|
106
|
+
/**
|
|
107
|
+
* The attribution params FlowGrid tracks — kept in lockstep with
|
|
108
|
+
* flowgrid-core's `public/flowgrid.js` (`captureFromQueryOrCookie`) and the
|
|
109
|
+
* `getUTM()` reader in `utils/storage`. Five UTMs plus `ref`/`via`/`source`.
|
|
110
|
+
*/
|
|
111
|
+
private static readonly ATTRIBUTION_KEYS;
|
|
112
|
+
/**
|
|
113
|
+
* Resolves marketing attribution into `_utm_source`/`_ref`/… properties.
|
|
114
|
+
*
|
|
115
|
+
* Prefers a fresh value from the current URL (the live campaign), falling back
|
|
116
|
+
* to the `__flowgrid_<name>` cookie that `flowgrid.js` persists on the landing
|
|
117
|
+
* page — so events fired on *later* pages (where the URL no longer carries
|
|
118
|
+
* UTMs) still attribute to the campaign that brought the visitor in. Same
|
|
119
|
+
* cookie names + key set as the loader script. Returns `{}` for non-campaign
|
|
120
|
+
* traffic so the payload stays clean.
|
|
121
|
+
*/
|
|
122
|
+
private static getUtmContext;
|
|
106
123
|
/**
|
|
107
124
|
* Fire-and-forget event via sendBeacon. Used for page unload events.
|
|
108
125
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FlowGridTransport = void 0;
|
|
4
|
+
const storage_1 = require("../utils/storage");
|
|
4
5
|
/**
|
|
5
6
|
* FlowGridTransport — Unified transport layer for Flowgrid SDK.
|
|
6
7
|
*
|
|
@@ -102,8 +103,41 @@ class FlowGridTransport {
|
|
|
102
103
|
_page: loc?.pathname,
|
|
103
104
|
_referrer: doc?.referrer || undefined,
|
|
104
105
|
_title: doc?.title || undefined,
|
|
106
|
+
// Marketing attribution — auto-captured so EVERY event (feature_usage
|
|
107
|
+
// included) carries the campaign that drove it, with zero customer config.
|
|
108
|
+
// Lets the dashboard segment usage/adoption by source/campaign
|
|
109
|
+
// (Mixpanel-parity). Only present keys are attached.
|
|
110
|
+
...FlowGridTransport.getUtmContext(),
|
|
105
111
|
};
|
|
106
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolves marketing attribution into `_utm_source`/`_ref`/… properties.
|
|
115
|
+
*
|
|
116
|
+
* Prefers a fresh value from the current URL (the live campaign), falling back
|
|
117
|
+
* to the `__flowgrid_<name>` cookie that `flowgrid.js` persists on the landing
|
|
118
|
+
* page — so events fired on *later* pages (where the URL no longer carries
|
|
119
|
+
* UTMs) still attribute to the campaign that brought the visitor in. Same
|
|
120
|
+
* cookie names + key set as the loader script. Returns `{}` for non-campaign
|
|
121
|
+
* traffic so the payload stays clean.
|
|
122
|
+
*/
|
|
123
|
+
static getUtmContext() {
|
|
124
|
+
if (typeof window === 'undefined')
|
|
125
|
+
return {};
|
|
126
|
+
let params = null;
|
|
127
|
+
try {
|
|
128
|
+
params = new URLSearchParams(window.location?.search ?? '');
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
params = null;
|
|
132
|
+
}
|
|
133
|
+
const out = {};
|
|
134
|
+
for (const name of FlowGridTransport.ATTRIBUTION_KEYS) {
|
|
135
|
+
const value = params?.get(name) || (0, storage_1.getCookie)(`__flowgrid_${name}`);
|
|
136
|
+
if (value)
|
|
137
|
+
out[`_${name}`] = value;
|
|
138
|
+
}
|
|
139
|
+
return out;
|
|
140
|
+
}
|
|
107
141
|
// ---------------------------------------------------------------------------
|
|
108
142
|
// SENDBACON FALLBACK
|
|
109
143
|
// ---------------------------------------------------------------------------
|
|
@@ -494,4 +528,12 @@ FlowGridTransport.MAX_BUFFER_SIZE = 50000; // 50KB
|
|
|
494
528
|
FlowGridTransport.EVENT_BUFFER_KEY = 'fg_event_buffer';
|
|
495
529
|
/** Consent state */
|
|
496
530
|
FlowGridTransport.consent = { analytics: true, marketing: true };
|
|
531
|
+
/**
|
|
532
|
+
* The attribution params FlowGrid tracks — kept in lockstep with
|
|
533
|
+
* flowgrid-core's `public/flowgrid.js` (`captureFromQueryOrCookie`) and the
|
|
534
|
+
* `getUTM()` reader in `utils/storage`. Five UTMs plus `ref`/`via`/`source`.
|
|
535
|
+
*/
|
|
536
|
+
FlowGridTransport.ATTRIBUTION_KEYS = [
|
|
537
|
+
'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'ref', 'via', 'source',
|
|
538
|
+
];
|
|
497
539
|
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/lib/client/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/lib/client/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
45
|
import { FlowGridTransport } from "../../client/transport";
|
|
46
|
+
import { type Teardown } from "../../utils/browser";
|
|
46
47
|
import { UserTraits, MoneyValue, TimeSeriesData } from "../../types";
|
|
47
48
|
/**
|
|
48
49
|
* Configuration for identifying a user.
|
|
@@ -55,6 +56,15 @@ export interface IdentifyConfig {
|
|
|
55
56
|
/** User traits/properties */
|
|
56
57
|
traits?: UserTraits;
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Options for {@link Identify.autoTrackForms} passive identity capture.
|
|
61
|
+
*/
|
|
62
|
+
export interface PassiveIdentityOptions {
|
|
63
|
+
/** Debounce for `input` events before reading a field (ms, default 800). */
|
|
64
|
+
debounceMs?: number;
|
|
65
|
+
/** Extra `path` regex on which NO inputs are captured (replaces the default). */
|
|
66
|
+
excludePath?: RegExp;
|
|
67
|
+
}
|
|
58
68
|
/**
|
|
59
69
|
* Configuration for aliasing user IDs.
|
|
60
70
|
*/
|
|
@@ -249,5 +259,22 @@ export declare class Identify extends FlowGridTransport {
|
|
|
249
259
|
* @returns Promise resolving to reset response
|
|
250
260
|
*/
|
|
251
261
|
reset(userId: string): Promise<IdentifyResponse>;
|
|
262
|
+
/**
|
|
263
|
+
* Passive identity capture — the browser-side form-field tracker (parity with
|
|
264
|
+
* `flowgrid.js`'s `setupPassiveIdentityCapture`). Watches inputs (initial scan
|
|
265
|
+
* + a MutationObserver for fields added by modals/SPAs), classifies each by
|
|
266
|
+
* name/id/placeholder/autocomplete, hashes PII (SHA-256) before it leaves the
|
|
267
|
+
* browser, and posts the captured identity to the flowgrid-core identity store
|
|
268
|
+
* (`POST /api/v1/identity/identify`) so the dashboard can map the anonymous
|
|
269
|
+
* `visitor_id` to a person — and, with a CRM connected, to a known customer.
|
|
270
|
+
*
|
|
271
|
+
* Privacy: requires `analytics` consent; never attaches to password/card/cvv/
|
|
272
|
+
* ssn/pin fields or anything marked `data-analytics="ignore"` / `.no-track`;
|
|
273
|
+
* skips sensitive paths (checkout/account-settings/admin). Off by default in
|
|
274
|
+
* {@link FlowGrid.autoTrack} — enable with `autoTrack({ passiveIdentity: true })`.
|
|
275
|
+
*
|
|
276
|
+
* @returns a teardown that detaches every listener (no-op on the server).
|
|
277
|
+
*/
|
|
278
|
+
autoTrackForms(options?: PassiveIdentityOptions): Teardown;
|
|
252
279
|
}
|
|
253
280
|
export default Identify;
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
47
|
exports.Identify = void 0;
|
|
48
48
|
const transport_1 = require("../../client/transport");
|
|
49
|
+
const browser_1 = require("../../utils/browser");
|
|
49
50
|
// ============================================================================
|
|
50
51
|
// IDENTIFY CLASS
|
|
51
52
|
// ============================================================================
|
|
@@ -211,6 +212,198 @@ class Identify extends transport_1.FlowGridTransport {
|
|
|
211
212
|
timestamp: new Date().toISOString()
|
|
212
213
|
});
|
|
213
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Passive identity capture — the browser-side form-field tracker (parity with
|
|
217
|
+
* `flowgrid.js`'s `setupPassiveIdentityCapture`). Watches inputs (initial scan
|
|
218
|
+
* + a MutationObserver for fields added by modals/SPAs), classifies each by
|
|
219
|
+
* name/id/placeholder/autocomplete, hashes PII (SHA-256) before it leaves the
|
|
220
|
+
* browser, and posts the captured identity to the flowgrid-core identity store
|
|
221
|
+
* (`POST /api/v1/identity/identify`) so the dashboard can map the anonymous
|
|
222
|
+
* `visitor_id` to a person — and, with a CRM connected, to a known customer.
|
|
223
|
+
*
|
|
224
|
+
* Privacy: requires `analytics` consent; never attaches to password/card/cvv/
|
|
225
|
+
* ssn/pin fields or anything marked `data-analytics="ignore"` / `.no-track`;
|
|
226
|
+
* skips sensitive paths (checkout/account-settings/admin). Off by default in
|
|
227
|
+
* {@link FlowGrid.autoTrack} — enable with `autoTrack({ passiveIdentity: true })`.
|
|
228
|
+
*
|
|
229
|
+
* @returns a teardown that detaches every listener (no-op on the server).
|
|
230
|
+
*/
|
|
231
|
+
autoTrackForms(options = {}) {
|
|
232
|
+
if (!(0, browser_1.isBrowser)())
|
|
233
|
+
return () => { };
|
|
234
|
+
if (!transport_1.FlowGridTransport.hasConsent("analytics"))
|
|
235
|
+
return () => { };
|
|
236
|
+
const win = (0, browser_1.getWindow)();
|
|
237
|
+
const doc = (0, browser_1.getDocument)();
|
|
238
|
+
const debounceMs = options.debounceMs ?? 800;
|
|
239
|
+
const EXCLUDED_PATH_RE = options.excludePath ?? /\/(checkout|account\/settings|admin)(\/|$)/i;
|
|
240
|
+
const BLOCKED_RE = /(password|cardnumber|creditcard|\bcard\b|cvv|cvc|ssn|\bpin\b|securitycode)/i;
|
|
241
|
+
const SKIP_RE = /(message|comment|note|feedback|search|query)/i;
|
|
242
|
+
const FIELD_MAP = [
|
|
243
|
+
{ re: /(email|emailaddress)/, trait: "email", pii: true, identify: true },
|
|
244
|
+
{ re: /(phone|tel|mobile|cell)/, trait: "phone", pii: true, identify: false },
|
|
245
|
+
{ re: /(firstname|fname|givenname)/, trait: "firstName", pii: false, identify: false },
|
|
246
|
+
{ re: /(lastname|lname|surname|familyname)/, trait: "lastName", pii: false, identify: false },
|
|
247
|
+
{ re: /(company|organi[sz]ation|businessname)/, trait: "company", pii: false, identify: false },
|
|
248
|
+
{ re: /(streetaddress|addressline|^address$|^street$)/, trait: "address", pii: false, identify: false },
|
|
249
|
+
{ re: /(^city$|town)/, trait: "city", pii: false, identify: false },
|
|
250
|
+
{ re: /(postcode|postalcode|zipcode|^zip$)/, trait: "postcode", pii: false, identify: false },
|
|
251
|
+
// A single full-name / username field maps to firstName; listed last so
|
|
252
|
+
// dedicated first/last-name fields win when both exist.
|
|
253
|
+
{ re: /(fullname|^name$|username|yourname|contactname|displayname)/, trait: "firstName", pii: false, identify: false },
|
|
254
|
+
];
|
|
255
|
+
const captured = {};
|
|
256
|
+
const seen = new WeakSet();
|
|
257
|
+
const debounceTimers = new WeakMap();
|
|
258
|
+
const teardowns = [];
|
|
259
|
+
const fieldEl = (el) => el;
|
|
260
|
+
const normalize = (el) => [fieldEl(el).name, el.id, el.getAttribute("placeholder"), el.getAttribute("autocomplete")]
|
|
261
|
+
.filter(Boolean).join(" ").toLowerCase().replace(/[\s_-]/g, "");
|
|
262
|
+
const isBlocked = (el, key) => {
|
|
263
|
+
const input = fieldEl(el);
|
|
264
|
+
if (input.type === "password" || input.type === "hidden")
|
|
265
|
+
return true;
|
|
266
|
+
if (el.getAttribute("data-analytics") === "ignore")
|
|
267
|
+
return true;
|
|
268
|
+
if (el.classList && el.classList.contains("no-track"))
|
|
269
|
+
return true;
|
|
270
|
+
return BLOCKED_RE.test(key);
|
|
271
|
+
};
|
|
272
|
+
const classify = (el) => {
|
|
273
|
+
const key = normalize(el);
|
|
274
|
+
if (!key)
|
|
275
|
+
return null;
|
|
276
|
+
if (isBlocked(el, key))
|
|
277
|
+
return { blocked: true };
|
|
278
|
+
if (SKIP_RE.test(key))
|
|
279
|
+
return null;
|
|
280
|
+
return FIELD_MAP.find((f) => f.re.test(key)) ?? null;
|
|
281
|
+
};
|
|
282
|
+
const sha256hex = async (value) => {
|
|
283
|
+
try {
|
|
284
|
+
const enc = new TextEncoder().encode(String(value).trim().toLowerCase());
|
|
285
|
+
const buf = await win.crypto.subtle.digest("SHA-256", enc);
|
|
286
|
+
return Array.from(new Uint8Array(buf)).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
return null;
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
const resolveVisitorId = () => (this.identityManager ? this.identityManager.getVisitorId() : this.visitorId) || "";
|
|
293
|
+
const resolveSessionId = () => this.identityManager ? this.identityManager.getSessionId() : null;
|
|
294
|
+
// Posts the captured identity to the flowgrid-core identity store. Raw email
|
|
295
|
+
// stays server-side (CRM enrichment + dashboard display); the analytics
|
|
296
|
+
// event store only ever sees hashes (the `field_captured` mirror below).
|
|
297
|
+
const sendIdentity = () => {
|
|
298
|
+
const visitorId = resolveVisitorId();
|
|
299
|
+
if (!this.webId || !visitorId)
|
|
300
|
+
return;
|
|
301
|
+
if (!captured.email && !captured.emailHash && !captured.firstName && !captured.lastName)
|
|
302
|
+
return;
|
|
303
|
+
const traits = {
|
|
304
|
+
email: captured.email ?? null,
|
|
305
|
+
email_hash: captured.emailHash ?? null,
|
|
306
|
+
phone_hash: captured.phoneHash ?? null,
|
|
307
|
+
first_name: captured.firstName ?? null,
|
|
308
|
+
last_name: captured.lastName ?? null,
|
|
309
|
+
company: captured.company ?? null,
|
|
310
|
+
address: captured.address ?? null,
|
|
311
|
+
city: captured.city ?? null,
|
|
312
|
+
postcode: captured.postcode ?? null,
|
|
313
|
+
};
|
|
314
|
+
const url = `${this.endpoint}/api/v1/identity/identify`;
|
|
315
|
+
const payload = JSON.stringify({
|
|
316
|
+
web_id: this.webId,
|
|
317
|
+
visitor_id: visitorId,
|
|
318
|
+
session_id: resolveSessionId(),
|
|
319
|
+
path_name: win.location.pathname,
|
|
320
|
+
traits,
|
|
321
|
+
});
|
|
322
|
+
try {
|
|
323
|
+
if (typeof navigator !== "undefined" && navigator.sendBeacon &&
|
|
324
|
+
navigator.sendBeacon(url, new Blob([payload], { type: "application/json" }))) {
|
|
325
|
+
// sent via beacon
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
void fetch(url, { method: "POST", headers: { "Content-Type": "application/json" }, body: payload, keepalive: true }).catch(() => { });
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
catch { /* swallow */ }
|
|
332
|
+
};
|
|
333
|
+
const captureField = (el) => {
|
|
334
|
+
const cls = classify(el);
|
|
335
|
+
if (!cls || "blocked" in cls)
|
|
336
|
+
return;
|
|
337
|
+
const value = (fieldEl(el).value || "").trim();
|
|
338
|
+
if (!value)
|
|
339
|
+
return;
|
|
340
|
+
if (cls.pii) {
|
|
341
|
+
const toHash = cls.trait === "phone" ? value.replace(/[^\d+]/g, "") : value;
|
|
342
|
+
void sha256hex(toHash).then((hash) => {
|
|
343
|
+
if (cls.trait === "email") {
|
|
344
|
+
captured.email = value;
|
|
345
|
+
if (hash)
|
|
346
|
+
captured.emailHash = hash;
|
|
347
|
+
}
|
|
348
|
+
else if (cls.trait === "phone" && hash) {
|
|
349
|
+
captured.phoneHash = hash;
|
|
350
|
+
}
|
|
351
|
+
if (cls.identify || captured.email)
|
|
352
|
+
sendIdentity();
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
captured[cls.trait] = value;
|
|
357
|
+
if (captured.email)
|
|
358
|
+
sendIdentity();
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
const attach = (el) => {
|
|
362
|
+
if (seen.has(el))
|
|
363
|
+
return;
|
|
364
|
+
const cls = classify(el);
|
|
365
|
+
if (!cls || "blocked" in cls)
|
|
366
|
+
return; // never listen to blocked / unknown fields
|
|
367
|
+
seen.add(el);
|
|
368
|
+
const onBlur = () => captureField(el);
|
|
369
|
+
const onInput = () => {
|
|
370
|
+
clearTimeout(debounceTimers.get(el));
|
|
371
|
+
debounceTimers.set(el, setTimeout(() => captureField(el), debounceMs));
|
|
372
|
+
};
|
|
373
|
+
el.addEventListener("blur", onBlur, { passive: true });
|
|
374
|
+
el.addEventListener("input", onInput, { passive: true });
|
|
375
|
+
teardowns.push(() => {
|
|
376
|
+
el.removeEventListener("blur", onBlur);
|
|
377
|
+
el.removeEventListener("input", onInput);
|
|
378
|
+
});
|
|
379
|
+
};
|
|
380
|
+
const scanPage = () => {
|
|
381
|
+
if (EXCLUDED_PATH_RE.test(win.location.pathname))
|
|
382
|
+
return;
|
|
383
|
+
doc.querySelectorAll("input, textarea, select").forEach(attach);
|
|
384
|
+
};
|
|
385
|
+
scanPage();
|
|
386
|
+
let mo = null;
|
|
387
|
+
try {
|
|
388
|
+
mo = new MutationObserver(() => scanPage());
|
|
389
|
+
if (doc.body)
|
|
390
|
+
mo.observe(doc.body, { childList: true, subtree: true });
|
|
391
|
+
}
|
|
392
|
+
catch { /* MutationObserver unavailable */ }
|
|
393
|
+
return () => {
|
|
394
|
+
if (mo)
|
|
395
|
+
try {
|
|
396
|
+
mo.disconnect();
|
|
397
|
+
}
|
|
398
|
+
catch { /* noop */ }
|
|
399
|
+
for (const t of teardowns) {
|
|
400
|
+
try {
|
|
401
|
+
t();
|
|
402
|
+
}
|
|
403
|
+
catch { /* noop */ }
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
}
|
|
214
407
|
}
|
|
215
408
|
exports.Identify = Identify;
|
|
216
409
|
exports.default = Identify;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../../../src/lib/features/analytics/identify.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;AAEH,sDAA2D;
|
|
1
|
+
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../../../src/lib/features/analytics/identify.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export type { ReplayPrivacyMetadata, SessionReplayDropMetadata, SessionReplayErr
|
|
|
16
16
|
export type { PageViewConfig, ScrollDepthConfig, TimeOnPageConfig, PageViewResponse, PageAnalyticsData } from './page-views';
|
|
17
17
|
export type { SessionStartConfig, SessionResponse, SessionEndResponse, SessionAnalyticsData, RealTimeSessionData } from './sessions';
|
|
18
18
|
export type { EventTrackConfig, BatchEventConfig, EventResponse, BatchEventResponse, EventAnalyticsData } from './events';
|
|
19
|
-
export type { IdentifyConfig, AliasConfig, GroupConfig, IdentifyResponse, UserAnalyticsData } from './identify';
|
|
19
|
+
export type { IdentifyConfig, AliasConfig, GroupConfig, IdentifyResponse, UserAnalyticsData, PassiveIdentityOptions } from './identify';
|
|
20
20
|
export type { FunnelDefinition, FunnelStepConfig, FunnelStepResponse, FunnelAnalyticsData, FunnelComparisonData } from './funnels';
|
|
21
21
|
export type { ActivityConfig, CohortAnalysisConfig, ActivityResponse, CohortAnalysisData, StickinessData, ChurnAnalysisData } from './retention';
|
|
22
22
|
export type { AttributionModel, TouchpointConfig, ConversionEvent, TouchpointResponse, AttributionReportData } from './attribution';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-feature.js","sourceRoot":"","sources":["../../../../src/lib/features/core/track-feature.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AAEH,sDAA2D;AAgI3D,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAa,YAAa,SAAQ,6BAAiB;IACjD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACxC,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,MAAM,CAAC,UAAU;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAA0B;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,EAAE;YAC1D,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,MAAM,CAAC,UAAU;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"track-feature.js","sourceRoot":"","sources":["../../../../src/lib/features/core/track-feature.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AAEH,sDAA2D;AAgI3D,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAa,YAAa,SAAQ,6BAAiB;IACjD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAqB;QAChC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACxC,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,MAAM,CAAC,UAAU;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAA0B;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,EAAE;YAC1D,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,MAAM,CAAC,UAAU;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CAEF;AAzCD,oCAyCC;AAED,kBAAe,YAAY,CAAC"}
|
package/dist/lib/flowgrid.d.ts
CHANGED
|
@@ -738,6 +738,28 @@ type FlowGridKnownTrackFields = Partial<{
|
|
|
738
738
|
conversionId: string;
|
|
739
739
|
}>;
|
|
740
740
|
export type FlowGridTrackProperties = Record<string, unknown> & FlowGridKnownTrackFields;
|
|
741
|
+
type UnifiedFeatureAction = "viewed" | "used" | "completed" | "abandoned";
|
|
742
|
+
/** The lifecycle action a {@link FeatureHandle} emits. */
|
|
743
|
+
export type FeatureHandleAction = UnifiedFeatureAction;
|
|
744
|
+
/**
|
|
745
|
+
* A feature bound to its id/name (+ optional category) via
|
|
746
|
+
* {@link FlowGrid.defineFeature}. Call the verb that describes what happened;
|
|
747
|
+
* each emits a `feature_usage` event through the unified `.track()` router.
|
|
748
|
+
*/
|
|
749
|
+
export interface FeatureHandle {
|
|
750
|
+
readonly featureId: string;
|
|
751
|
+
readonly featureName: string;
|
|
752
|
+
/** Visitor opened / looked at the feature → Discovered + Viewed. */
|
|
753
|
+
viewed(properties?: Record<string, unknown>): unknown;
|
|
754
|
+
/** Visitor used the feature → Adopted. */
|
|
755
|
+
used(properties?: Record<string, unknown>): unknown;
|
|
756
|
+
/** Visitor finished the feature's job → Completed. */
|
|
757
|
+
completed(properties?: Record<string, unknown>): unknown;
|
|
758
|
+
/** Visitor started but gave up → Abandonment. */
|
|
759
|
+
abandoned(properties?: Record<string, unknown>): unknown;
|
|
760
|
+
/** Escape hatch — emit any action explicitly. */
|
|
761
|
+
track(action: FeatureHandleAction, properties?: Record<string, unknown>): unknown;
|
|
762
|
+
}
|
|
741
763
|
/** Granular auto-instrumentation toggles. */
|
|
742
764
|
export interface AutoTrackOptions {
|
|
743
765
|
sessions?: boolean;
|
|
@@ -946,6 +968,27 @@ export declare class FlowGrid {
|
|
|
946
968
|
* ```
|
|
947
969
|
*/
|
|
948
970
|
identifyUser(userId: string, traits?: Record<string, unknown>, anonymousId?: string): Promise<import("..").IdentifyResponse>;
|
|
971
|
+
/**
|
|
972
|
+
* Bind a feature's `id` + `name` (and optional `category`) once, and get back
|
|
973
|
+
* a small set of semantic helpers — `viewed` / `used` / `completed` /
|
|
974
|
+
* `abandoned` — so you don't repeat the id/name on every call. Each helper is
|
|
975
|
+
* a thin, explicit wrapper over `track("feature_usage", …)` (full
|
|
976
|
+
* routing/consent/transport). No hidden state, no lifecycle guessing: every
|
|
977
|
+
* call sends exactly the action you name. The dashboard does the interpreting
|
|
978
|
+
* (a *viewed* feature is Discovered, a *used* one is Adopted).
|
|
979
|
+
*
|
|
980
|
+
* @example
|
|
981
|
+
* ```ts
|
|
982
|
+
* const agent = fg.defineFeature("ai-agent-builder", "AI Agent Builder", { category: "automation" });
|
|
983
|
+
* agent.viewed(); // → action: "viewed" (Discovered + Viewed)
|
|
984
|
+
* agent.used({ model: "opus" }); // → action: "used" (Adopted)
|
|
985
|
+
* agent.completed(); // → action: "completed"
|
|
986
|
+
* agent.abandoned(); // → action: "abandoned"
|
|
987
|
+
* ```
|
|
988
|
+
*/
|
|
989
|
+
defineFeature(featureId: string, featureName: string, opts?: {
|
|
990
|
+
category?: string;
|
|
991
|
+
}): FeatureHandle;
|
|
949
992
|
/**
|
|
950
993
|
* Track a page view. Auto-detects URL/path/title/referrer in the browser.
|
|
951
994
|
*
|
|
@@ -998,6 +1041,7 @@ export declare class FlowGrid {
|
|
|
998
1041
|
idleAfterMs?: number;
|
|
999
1042
|
pollMs?: number;
|
|
1000
1043
|
};
|
|
1044
|
+
passiveIdentity?: boolean | import("./features/analytics/identify").PassiveIdentityOptions;
|
|
1001
1045
|
}): () => void;
|
|
1002
1046
|
}
|
|
1003
1047
|
export default FlowGrid;
|
package/dist/lib/flowgrid.js
CHANGED
|
@@ -955,6 +955,42 @@ class FlowGrid {
|
|
|
955
955
|
identifyUser(userId, traits, anonymousId) {
|
|
956
956
|
return this.identify.user(userId, traits, anonymousId);
|
|
957
957
|
}
|
|
958
|
+
/**
|
|
959
|
+
* Bind a feature's `id` + `name` (and optional `category`) once, and get back
|
|
960
|
+
* a small set of semantic helpers — `viewed` / `used` / `completed` /
|
|
961
|
+
* `abandoned` — so you don't repeat the id/name on every call. Each helper is
|
|
962
|
+
* a thin, explicit wrapper over `track("feature_usage", …)` (full
|
|
963
|
+
* routing/consent/transport). No hidden state, no lifecycle guessing: every
|
|
964
|
+
* call sends exactly the action you name. The dashboard does the interpreting
|
|
965
|
+
* (a *viewed* feature is Discovered, a *used* one is Adopted).
|
|
966
|
+
*
|
|
967
|
+
* @example
|
|
968
|
+
* ```ts
|
|
969
|
+
* const agent = fg.defineFeature("ai-agent-builder", "AI Agent Builder", { category: "automation" });
|
|
970
|
+
* agent.viewed(); // → action: "viewed" (Discovered + Viewed)
|
|
971
|
+
* agent.used({ model: "opus" }); // → action: "used" (Adopted)
|
|
972
|
+
* agent.completed(); // → action: "completed"
|
|
973
|
+
* agent.abandoned(); // → action: "abandoned"
|
|
974
|
+
* ```
|
|
975
|
+
*/
|
|
976
|
+
defineFeature(featureId, featureName, opts = {}) {
|
|
977
|
+
const emit = (action, properties) => this.track("feature_usage", {
|
|
978
|
+
featureId,
|
|
979
|
+
featureName,
|
|
980
|
+
action,
|
|
981
|
+
...(opts.category ? { category: opts.category } : {}),
|
|
982
|
+
...(properties ?? {}),
|
|
983
|
+
}, { domain: "feature" });
|
|
984
|
+
return {
|
|
985
|
+
featureId,
|
|
986
|
+
featureName,
|
|
987
|
+
viewed: (properties) => emit("viewed", properties),
|
|
988
|
+
used: (properties) => emit("used", properties),
|
|
989
|
+
completed: (properties) => emit("completed", properties),
|
|
990
|
+
abandoned: (properties) => emit("abandoned", properties),
|
|
991
|
+
track: (action, properties) => emit(action, properties),
|
|
992
|
+
};
|
|
993
|
+
}
|
|
958
994
|
/**
|
|
959
995
|
* Track a page view. Auto-detects URL/path/title/referrer in the browser.
|
|
960
996
|
*
|
|
@@ -1026,6 +1062,12 @@ class FlowGrid {
|
|
|
1026
1062
|
if (options.attribution === true && ctx.userId) {
|
|
1027
1063
|
this.attribution.captureFromUrl(ctx.userId);
|
|
1028
1064
|
}
|
|
1065
|
+
// Passive identity capture is off by default — the flowgrid.js core script
|
|
1066
|
+
// already runs it for snippet installs; SDK-only sites opt in here.
|
|
1067
|
+
if (options.passiveIdentity === true || (options.passiveIdentity !== false && typeof options.passiveIdentity === "object")) {
|
|
1068
|
+
const piOpts = typeof options.passiveIdentity === "object" ? options.passiveIdentity : {};
|
|
1069
|
+
teardowns.push(this.identify.client.autoTrackForms(piOpts));
|
|
1070
|
+
}
|
|
1029
1071
|
if (options.replay !== false) {
|
|
1030
1072
|
const replayOpts = typeof options.replay === "object" ? options.replay : {};
|
|
1031
1073
|
// start() is async; track its resolved teardown so the outer stop()
|