flowgrid-sdk 1.7.7 → 1.7.8

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.
@@ -171,6 +171,11 @@ class FlowGridTransport {
171
171
  static getUtmContext() {
172
172
  if (typeof window === 'undefined')
173
173
  return {};
174
+ // Marketing attribution is `marketing`-category data (see ConsentCategory):
175
+ // when the visitor declined marketing consent, events still flow (analytics
176
+ // permitting) but carry no campaign/UTM/ref attribution.
177
+ if (!FlowGridTransport.hasConsent('marketing'))
178
+ return {};
174
179
  let params = null;
175
180
  try {
176
181
  params = new URLSearchParams(window.location?.search ?? '');
@@ -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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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @fileoverview Framework-agnostic auth-intent handshake.
3
+ * @module features/analytics/authIntent
4
+ *
5
+ * @description
6
+ * Auth providers that redirect (OAuth, magic links, SSO) tear the "user clicked
7
+ * log in" moment away from the "user id is now known" moment — they happen on
8
+ * different page loads, so you can't track the login inline. This tiny module is
9
+ * the bridge: stash the intent (which flow, which method, which page) in
10
+ * sessionStorage BEFORE the redirect, then read it back AFTER, from any
11
+ * framework. No React, no globals — plain functions the SDK builds `markLogin` /
12
+ * `markSignup` / `completeAuth` on top of.
13
+ */
14
+ export type AuthMode = "login" | "signup";
15
+ export interface AuthIntentInput {
16
+ /** Auth method — "google", "github", "email", "sso", … */
17
+ method?: string;
18
+ /** Signup traffic source (e.g. "pricing"). Signup only. */
19
+ source?: string;
20
+ /** Page the auth started on. Auto-detected in the browser when omitted. */
21
+ path?: string;
22
+ /** Full URL the auth started on. Auto-detected when omitted. */
23
+ url?: string;
24
+ }
25
+ export interface AuthIntent extends AuthIntentInput {
26
+ mode: AuthMode;
27
+ /** When the intent was stashed (ms epoch) — used to expire stale intents. */
28
+ ts: number;
29
+ }
30
+ /** Stash an auth intent before a redirect. No-op outside the browser. */
31
+ export declare function stashAuthIntent(mode: AuthMode, input?: AuthIntentInput): void;
32
+ /** Read the pending auth intent, or null if none / expired / unreadable. */
33
+ export declare function readAuthIntent(): AuthIntent | null;
34
+ /** Clear the pending auth intent. No-op outside the browser. */
35
+ export declare function clearAuthIntent(): void;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Framework-agnostic auth-intent handshake.
4
+ * @module features/analytics/authIntent
5
+ *
6
+ * @description
7
+ * Auth providers that redirect (OAuth, magic links, SSO) tear the "user clicked
8
+ * log in" moment away from the "user id is now known" moment — they happen on
9
+ * different page loads, so you can't track the login inline. This tiny module is
10
+ * the bridge: stash the intent (which flow, which method, which page) in
11
+ * sessionStorage BEFORE the redirect, then read it back AFTER, from any
12
+ * framework. No React, no globals — plain functions the SDK builds `markLogin` /
13
+ * `markSignup` / `completeAuth` on top of.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.stashAuthIntent = stashAuthIntent;
17
+ exports.readAuthIntent = readAuthIntent;
18
+ exports.clearAuthIntent = clearAuthIntent;
19
+ const browser_1 = require("../../utils/browser");
20
+ const KEY = "fg_auth_intent";
21
+ // An intent older than this is treated as abandoned (user bailed on the flow).
22
+ const MAX_AGE_MS = 30 * 60 * 1000;
23
+ function storage() {
24
+ if (!(0, browser_1.isBrowser)())
25
+ return null;
26
+ try {
27
+ return (0, browser_1.getWindow)()?.sessionStorage ?? null;
28
+ }
29
+ catch {
30
+ // Access can throw in sandboxed iframes / privacy modes.
31
+ return null;
32
+ }
33
+ }
34
+ /** Stash an auth intent before a redirect. No-op outside the browser. */
35
+ function stashAuthIntent(mode, input = {}) {
36
+ const store = storage();
37
+ if (!store)
38
+ return;
39
+ const win = (0, browser_1.getWindow)();
40
+ const intent = {
41
+ mode,
42
+ method: input.method,
43
+ source: input.source,
44
+ path: input.path ?? win?.location?.pathname,
45
+ url: input.url ?? win?.location?.href,
46
+ ts: Date.now(),
47
+ };
48
+ try {
49
+ store.setItem(KEY, JSON.stringify(intent));
50
+ }
51
+ catch {
52
+ /* quota / private mode — nothing we can do, drop it */
53
+ }
54
+ }
55
+ /** Read the pending auth intent, or null if none / expired / unreadable. */
56
+ function readAuthIntent() {
57
+ const store = storage();
58
+ if (!store)
59
+ return null;
60
+ try {
61
+ const raw = store.getItem(KEY);
62
+ if (!raw)
63
+ return null;
64
+ const intent = JSON.parse(raw);
65
+ if (!intent || (intent.mode !== "login" && intent.mode !== "signup"))
66
+ return null;
67
+ if (typeof intent.ts === "number" && Date.now() - intent.ts > MAX_AGE_MS) {
68
+ clearAuthIntent();
69
+ return null;
70
+ }
71
+ return intent;
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
77
+ /** Clear the pending auth intent. No-op outside the browser. */
78
+ function clearAuthIntent() {
79
+ const store = storage();
80
+ if (!store)
81
+ return;
82
+ try {
83
+ store.removeItem(KEY);
84
+ }
85
+ catch {
86
+ /* noop */
87
+ }
88
+ }
89
+ //# sourceMappingURL=authIntent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authIntent.js","sourceRoot":"","sources":["../../../../src/lib/features/analytics/authIntent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAsCH,0CAiBC;AAGD,wCAgBC;AAGD,0CAQC;AAnFD,iDAA2D;AAqB3D,MAAM,GAAG,GAAG,gBAAgB,CAAC;AAC7B,+EAA+E;AAC/E,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAElC,SAAS,OAAO;IACd,IAAI,CAAC,IAAA,mBAAS,GAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,IAAA,mBAAS,GAAE,EAAE,cAAc,IAAI,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAgB,eAAe,CAAC,IAAc,EAAE,QAAyB,EAAE;IACzE,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,GAAG,GAAG,IAAA,mBAAS,GAAE,CAAC;IACxB,MAAM,MAAM,GAAe;QACzB,IAAI;QACJ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ;QAC3C,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI;QACrC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;KACf,CAAC;IACF,IAAI,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,SAAgB,cAAc;IAC5B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAClF,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;YACzE,eAAe,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC;QACH,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;AACH,CAAC"}
@@ -31,6 +31,7 @@
31
31
  */
32
32
  import { FlowGridTransport, FlowGridTransportConfig } from "./client/transport";
33
33
  import { IdentityManager } from "./utils/identity";
34
+ import { type AuthIntentInput } from "./features/analytics/authIntent";
34
35
  import type { EngagementTracker, CohortTracker, ChurnTracker, MonetizationTracker, MultiPathFunnelTracker, SupportTracker, AcquisitionTracker, PathTracker, AlertTracker, SecurityTracker, ForecastingTracker } from "./tracking/enterprise";
35
36
  import type { CookieBannerConfig } from "./consent/types";
36
37
  import { ActivationTracker, ExperimentTracker, FeatureTracker, PromptTracker } from "./tracking/core";
@@ -806,10 +807,14 @@ export interface FlowGridInitConfig {
806
807
  endpoint?: string;
807
808
  /**
808
809
  * Identify the user up-front so every subsequent event is attributed.
809
- * Equivalent to calling `fg.identifyUser(userId, traits)` after init.
810
+ * Equivalent to calling `fg.identifyUser(userId, { email, name, ...traits })`
811
+ * after init. `email`/`name` are top-level conveniences (parity with the
812
+ * Known-visitor identity) merged into `traits`.
810
813
  */
811
814
  user?: {
812
815
  userId: string;
816
+ email?: string;
817
+ name?: string;
813
818
  traits?: Record<string, unknown>;
814
819
  };
815
820
  /**
@@ -867,6 +872,8 @@ export declare class FlowGrid {
867
872
  private readonly config?;
868
873
  private readonly _raw;
869
874
  private readonly _wrapped;
875
+ /** Last identified user id — used by {@link logout} when none is passed. */
876
+ private _identifiedUserId;
870
877
  /**
871
878
  * One-line init. Idempotent — calling twice returns the same instance and
872
879
  * logs a warning instead of starting auto-instrumentation again.
@@ -979,6 +986,121 @@ export declare class FlowGrid {
979
986
  * ```
980
987
  */
981
988
  login(userId: string, method?: string, properties?: Record<string, unknown>): Promise<import("..").ActivationResponse>;
989
+ /**
990
+ * Mark that a login is about to happen, BEFORE an auth redirect. Stashes the
991
+ * intent (method / source / originating page) in sessionStorage so the
992
+ * matching {@link completeAuth} — fired after the redirect resolves, in any
993
+ * framework — attributes the login to the right page and fires the event.
994
+ * No-op outside the browser.
995
+ *
996
+ * @example
997
+ * ```ts
998
+ * fg.markLogin({ method: "google" });
999
+ * await signIn("google"); // provider redirects away
1000
+ * ```
1001
+ */
1002
+ markLogin(opts?: AuthIntentInput): void;
1003
+ /** Mark that a signup is about to happen, before an auth redirect. See {@link markLogin}. */
1004
+ markSignup(opts?: AuthIntentInput): void;
1005
+ /**
1006
+ * Complete an auth flow once the user id is known (e.g. after an OAuth
1007
+ * redirect resolves). Identifies the user — writing the identity store so they
1008
+ * appear as a Known visitor with email/name — then fires the matching
1009
+ * signup/login event using the intent stashed by {@link markLogin} /
1010
+ * {@link markSignup} (defaults to login when none was stashed), and marks the
1011
+ * user active for DAU/WAU/MAU. Framework-agnostic: call it from a React
1012
+ * effect, a Vue watcher, a Svelte reactive block — wherever the id lands.
1013
+ *
1014
+ * @example
1015
+ * ```ts
1016
+ * fg.completeAuth(user.id, { email: user.email, name: user.name });
1017
+ * ```
1018
+ */
1019
+ completeAuth(userId: string, traits?: {
1020
+ email?: string;
1021
+ name?: string;
1022
+ } & Record<string, unknown>): {
1023
+ identify: Promise<import("..").IdentifyResponse>;
1024
+ event: Promise<import("..").ActivationResponse>;
1025
+ };
1026
+ /**
1027
+ * One-call auth tracking for apps that DON'T redirect (email/password, magic
1028
+ * link resolved in-page): identify + fire the login/signup event + mark the
1029
+ * user active, in a single call. Prefer {@link markLogin} + {@link completeAuth}
1030
+ * when your provider redirects.
1031
+ *
1032
+ * @example
1033
+ * ```ts
1034
+ * fg.trackAuth({ event: "login", userId: u.id, email: u.email, name: u.name, method: "password" });
1035
+ * ```
1036
+ */
1037
+ trackAuth(input: {
1038
+ event: "login" | "signup";
1039
+ userId: string;
1040
+ email?: string;
1041
+ name?: string;
1042
+ method?: string;
1043
+ source?: string;
1044
+ traits?: Record<string, unknown>;
1045
+ }): {
1046
+ identify: Promise<import("..").IdentifyResponse>;
1047
+ event: Promise<import("..").ActivationResponse>;
1048
+ };
1049
+ /**
1050
+ * Emit an "active user" signal for an identified user so the dashboard can
1051
+ * compute DAU / WAU / MAU *by identity*. Fired automatically by the auth
1052
+ * helpers; call it yourself once per session on app open to also count
1053
+ * returning users who don't re-authenticate. Carries email/name for parity
1054
+ * with the Known-visitor identity.
1055
+ *
1056
+ * @example
1057
+ * ```ts
1058
+ * // On app boot, if a user session already exists:
1059
+ * fg.pingActiveUser(user.id, { email: user.email, name: user.name });
1060
+ * ```
1061
+ */
1062
+ pingActiveUser(userId: string, traits?: {
1063
+ email?: string;
1064
+ name?: string;
1065
+ } & Record<string, unknown>): Promise<import("..").EventResponse>;
1066
+ /**
1067
+ * Clear the identified user on logout so a shared device doesn't attribute the
1068
+ * next visitor to the previous user. Resets the identity server-side and
1069
+ * clears any pending auth intent. Pass the user id, or omit it to reset the
1070
+ * last-identified user.
1071
+ *
1072
+ * @example
1073
+ * ```ts
1074
+ * fg.logout(); // reset the last-identified user
1075
+ * fg.logout("u_123"); // reset a specific user
1076
+ * ```
1077
+ */
1078
+ logout(userId?: string): Promise<import("..").IdentifyResponse> | undefined;
1079
+ /** Alias for {@link logout}. */
1080
+ reset(userId?: string): Promise<import("..").IdentifyResponse> | undefined;
1081
+ /**
1082
+ * Attribution ids for **revenue attribution** — spread the result into
1083
+ * Stripe's `metadata` / Lemon Squeezy's `checkoutData.custom` when
1084
+ * creating a checkout **client-side**, so your payment webhook can read
1085
+ * them back (`attributionFromMetadata` in `flowgrid-sdk/server`) and
1086
+ * revenue joins this visitor's session, campaign and journey.
1087
+ *
1088
+ * When the checkout is created **server-side** (the common case), you
1089
+ * don't need this — read the same ids from the request cookies with
1090
+ * `checkoutAttributionFromCookies()` in `flowgrid-sdk/server`.
1091
+ *
1092
+ * @example
1093
+ * ```ts
1094
+ * const res = await fetch("/api/checkout", {
1095
+ * method: "POST",
1096
+ * body: JSON.stringify({ priceId, ...fg.checkoutAttribution() }),
1097
+ * });
1098
+ * ```
1099
+ */
1100
+ checkoutAttribution(): {
1101
+ flowgrid_visitor_id?: string;
1102
+ flowgrid_session_id?: string;
1103
+ };
982
1104
  private withTrackContext;
983
1105
  private requireTrackProperties;
984
1106
  private dispatchTrack;
@@ -67,6 +67,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
67
67
  exports.FlowGrid = void 0;
68
68
  const transport_1 = require("./client/transport");
69
69
  const identity_1 = require("./utils/identity");
70
+ const authIntent_1 = require("./features/analytics/authIntent");
70
71
  const core_1 = require("./features/core");
71
72
  const analytics_1 = require("./features/analytics");
72
73
  const ecommerce_1 = require("./features/ecommerce");
@@ -202,9 +203,19 @@ class FlowGrid {
202
203
  // time user code first accesses them (typically well after init returns).
203
204
  void loadEnterpriseModules();
204
205
  // Identify the user before auto-instrumentation so the very first events
205
- // (session_start, page_view) carry the userId.
206
+ // (session_start, page_view) carry the userId. `email`/`name` are accepted
207
+ // at the top level for parity with the Known-visitor identity and merged
208
+ // into traits; identifying an existing session also marks the user active
209
+ // (DAU/WAU/MAU) so returning users are counted without an explicit login.
206
210
  if (config.user?.userId) {
207
- void fg.identifyUser(config.user.userId, config.user.traits);
211
+ const { userId, email, name, traits } = config.user;
212
+ const merged = {
213
+ ...(email ? { email } : {}),
214
+ ...(name ? { name } : {}),
215
+ ...(traits ?? {}),
216
+ };
217
+ void fg.identifyUser(userId, merged);
218
+ void fg.pingActiveUser(userId, merged);
208
219
  }
209
220
  const autoTrack = config.autoTrack;
210
221
  const replay = config.replay;
@@ -258,6 +269,8 @@ class FlowGrid {
258
269
  this._autoTrackStop = null;
259
270
  this._raw = new Map();
260
271
  this._wrapped = new Map();
272
+ /** Last identified user id — used by {@link logout} when none is passed. */
273
+ this._identifiedUserId = null;
261
274
  this.webId = webId;
262
275
  this.endpoint = endpoint;
263
276
  this.apiKey = apiKey;
@@ -365,6 +378,173 @@ class FlowGrid {
365
378
  login(userId, method, properties) {
366
379
  return this.activation.login(userId, method, properties);
367
380
  }
381
+ // ==========================================================================
382
+ // AUTH — framework-agnostic login / signup (Vue, React, Svelte, Next, …)
383
+ // ==========================================================================
384
+ /**
385
+ * Mark that a login is about to happen, BEFORE an auth redirect. Stashes the
386
+ * intent (method / source / originating page) in sessionStorage so the
387
+ * matching {@link completeAuth} — fired after the redirect resolves, in any
388
+ * framework — attributes the login to the right page and fires the event.
389
+ * No-op outside the browser.
390
+ *
391
+ * @example
392
+ * ```ts
393
+ * fg.markLogin({ method: "google" });
394
+ * await signIn("google"); // provider redirects away
395
+ * ```
396
+ */
397
+ markLogin(opts = {}) {
398
+ (0, authIntent_1.stashAuthIntent)("login", opts);
399
+ }
400
+ /** Mark that a signup is about to happen, before an auth redirect. See {@link markLogin}. */
401
+ markSignup(opts = {}) {
402
+ (0, authIntent_1.stashAuthIntent)("signup", opts);
403
+ }
404
+ /**
405
+ * Complete an auth flow once the user id is known (e.g. after an OAuth
406
+ * redirect resolves). Identifies the user — writing the identity store so they
407
+ * appear as a Known visitor with email/name — then fires the matching
408
+ * signup/login event using the intent stashed by {@link markLogin} /
409
+ * {@link markSignup} (defaults to login when none was stashed), and marks the
410
+ * user active for DAU/WAU/MAU. Framework-agnostic: call it from a React
411
+ * effect, a Vue watcher, a Svelte reactive block — wherever the id lands.
412
+ *
413
+ * @example
414
+ * ```ts
415
+ * fg.completeAuth(user.id, { email: user.email, name: user.name });
416
+ * ```
417
+ */
418
+ completeAuth(userId, traits) {
419
+ const intent = (0, authIntent_1.readAuthIntent)();
420
+ // Identify first so this event — and every later event — is attributed, and
421
+ // the identity store carries email/name for the Known-visitor / active-user
422
+ // loops.
423
+ const identifyResult = this.identifyUser(userId, traits);
424
+ const mode = intent?.mode ?? "login";
425
+ const method = intent?.method ?? "email";
426
+ // Attribute the event to the page auth actually started on, not wherever
427
+ // completeAuth runs (usually a post-login route).
428
+ const origin = {};
429
+ if (intent?.path)
430
+ origin._page = intent.path;
431
+ if (intent?.url)
432
+ origin._url = intent.url;
433
+ const eventResult = mode === "signup"
434
+ ? this.signup(userId, method, intent?.source, { ...traits, ...origin })
435
+ : this.login(userId, method, { ...traits, ...origin });
436
+ this.pingActiveUser(userId, traits);
437
+ (0, authIntent_1.clearAuthIntent)();
438
+ return { identify: identifyResult, event: eventResult };
439
+ }
440
+ /**
441
+ * One-call auth tracking for apps that DON'T redirect (email/password, magic
442
+ * link resolved in-page): identify + fire the login/signup event + mark the
443
+ * user active, in a single call. Prefer {@link markLogin} + {@link completeAuth}
444
+ * when your provider redirects.
445
+ *
446
+ * @example
447
+ * ```ts
448
+ * fg.trackAuth({ event: "login", userId: u.id, email: u.email, name: u.name, method: "password" });
449
+ * ```
450
+ */
451
+ trackAuth(input) {
452
+ const traits = {
453
+ ...(input.email ? { email: input.email } : {}),
454
+ ...(input.name ? { name: input.name } : {}),
455
+ ...(input.traits ?? {}),
456
+ };
457
+ const identifyResult = this.identifyUser(input.userId, traits);
458
+ const method = input.method ?? "email";
459
+ const eventResult = input.event === "signup"
460
+ ? this.signup(input.userId, method, input.source, traits)
461
+ : this.login(input.userId, method, traits);
462
+ this.pingActiveUser(input.userId, traits);
463
+ return { identify: identifyResult, event: eventResult };
464
+ }
465
+ /**
466
+ * Emit an "active user" signal for an identified user so the dashboard can
467
+ * compute DAU / WAU / MAU *by identity*. Fired automatically by the auth
468
+ * helpers; call it yourself once per session on app open to also count
469
+ * returning users who don't re-authenticate. Carries email/name for parity
470
+ * with the Known-visitor identity.
471
+ *
472
+ * @example
473
+ * ```ts
474
+ * // On app boot, if a user session already exists:
475
+ * fg.pingActiveUser(user.id, { email: user.email, name: user.name });
476
+ * ```
477
+ */
478
+ pingActiveUser(userId, traits) {
479
+ const now = new Date();
480
+ return this.events.track("active_user", {
481
+ userId,
482
+ ...(traits?.email ? { email: traits.email } : {}),
483
+ ...(traits?.name ? { name: traits.name } : {}),
484
+ // Day bucket lets the dashboard dedupe repeat pings within a day cheaply.
485
+ date: now.toISOString().slice(0, 10),
486
+ timestamp: now.toISOString(),
487
+ });
488
+ }
489
+ /**
490
+ * Clear the identified user on logout so a shared device doesn't attribute the
491
+ * next visitor to the previous user. Resets the identity server-side and
492
+ * clears any pending auth intent. Pass the user id, or omit it to reset the
493
+ * last-identified user.
494
+ *
495
+ * @example
496
+ * ```ts
497
+ * fg.logout(); // reset the last-identified user
498
+ * fg.logout("u_123"); // reset a specific user
499
+ * ```
500
+ */
501
+ logout(userId) {
502
+ const id = userId ?? this._identifiedUserId ?? undefined;
503
+ (0, authIntent_1.clearAuthIntent)();
504
+ this._identifiedUserId = null;
505
+ if (id)
506
+ return this.identify.reset(id);
507
+ return undefined;
508
+ }
509
+ /** Alias for {@link logout}. */
510
+ reset(userId) {
511
+ return this.logout(userId);
512
+ }
513
+ /**
514
+ * Attribution ids for **revenue attribution** — spread the result into
515
+ * Stripe's `metadata` / Lemon Squeezy's `checkoutData.custom` when
516
+ * creating a checkout **client-side**, so your payment webhook can read
517
+ * them back (`attributionFromMetadata` in `flowgrid-sdk/server`) and
518
+ * revenue joins this visitor's session, campaign and journey.
519
+ *
520
+ * When the checkout is created **server-side** (the common case), you
521
+ * don't need this — read the same ids from the request cookies with
522
+ * `checkoutAttributionFromCookies()` in `flowgrid-sdk/server`.
523
+ *
524
+ * @example
525
+ * ```ts
526
+ * const res = await fetch("/api/checkout", {
527
+ * method: "POST",
528
+ * body: JSON.stringify({ priceId, ...fg.checkoutAttribution() }),
529
+ * });
530
+ * ```
531
+ */
532
+ checkoutAttribution() {
533
+ const manager = this.identityManager;
534
+ if (!manager)
535
+ return {};
536
+ try {
537
+ const visitorId = manager.getVisitorId();
538
+ const sessionId = manager.getSessionId();
539
+ return {
540
+ ...(visitorId ? { flowgrid_visitor_id: visitorId } : {}),
541
+ ...(sessionId ? { flowgrid_session_id: sessionId } : {}),
542
+ };
543
+ }
544
+ catch {
545
+ return {};
546
+ }
547
+ }
368
548
  withTrackContext(properties, options) {
369
549
  return {
370
550
  ...properties,
@@ -980,6 +1160,7 @@ class FlowGrid {
980
1160
  * ```
981
1161
  */
982
1162
  identifyUser(userId, traits, anonymousId) {
1163
+ this._identifiedUserId = userId;
983
1164
  return this.identify.user(userId, traits, anonymousId);
984
1165
  }
985
1166
  /**