diff --git a/.changeset/unlucky-doors-yawn.md b/.changeset/unlucky-doors-yawn.md new file mode 100644 index 00000000000..1b9f8f47325 --- /dev/null +++ b/.changeset/unlucky-doors-yawn.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +Track custom pages and custom items usage on `UserButton` and `UserProfile` mount. diff --git a/packages/clerk-js/src/core/clerk.ts b/packages/clerk-js/src/core/clerk.ts index 361a3928c47..3a9a4fa70c8 100644 --- a/packages/clerk-js/src/core/clerk.ts +++ b/packages/clerk-js/src/core/clerk.ts @@ -643,7 +643,17 @@ export class Clerk implements ClerkInterface { }), ); - this.telemetry?.record(eventPrebuiltComponentMounted('UserProfile', props)); + this.telemetry?.record( + eventPrebuiltComponentMounted( + 'UserProfile', + props, + props?.customPages?.length || 0 > 0 + ? { + customPages: true, + } + : undefined, + ), + ); }; public unmountUserProfile = (node: HTMLDivElement): void => { @@ -798,7 +808,21 @@ export class Clerk implements ClerkInterface { }), ); - this.telemetry?.record(eventPrebuiltComponentMounted('UserButton', props)); + this.telemetry?.record( + eventPrebuiltComponentMounted('UserButton', props, { + ...(props?.customMenuItems?.length || 0 > 0 + ? { + customItems: true, + } + : undefined), + + ...(props?.__experimental_asStandalone + ? { + standalone: true, + } + : undefined), + }), + ); }; public unmountUserButton = (node: HTMLDivElement): void => {