aboutsummaryrefslogtreecommitdiff
path: root/apps/web/lib
diff options
context:
space:
mode:
authorMaheshtheDev <[email protected]>2026-01-25 00:56:19 +0000
committerMaheshtheDev <[email protected]>2026-01-25 00:56:19 +0000
commit134861de3de65d9b29be92e54b50b0c60c3f63be (patch)
treeadd423dbddbdd7fa94d1c07b808c0a11a4cae561 /apps/web/lib
parent(probable fix) 500 error on og endpoint (diff)
downloadsupermemory-134861de3de65d9b29be92e54b50b0c60c3f63be.tar.xz
supermemory-134861de3de65d9b29be92e54b50b0c60c3f63be.zip
feat: added advanced analytics events (#702)01-24-feat_added_advanced_analytic_events
added advanced analytics events
Diffstat (limited to 'apps/web/lib')
-rw-r--r--apps/web/lib/analytics.ts101
1 files changed, 101 insertions, 0 deletions
diff --git a/apps/web/lib/analytics.ts b/apps/web/lib/analytics.ts
index 84eda62b..6d8c00eb 100644
--- a/apps/web/lib/analytics.ts
+++ b/apps/web/lib/analytics.ts
@@ -62,4 +62,105 @@ export const analytics = {
mcpModalOpened: () => safeCapture("mcp_modal_opened"),
addDocumentModalOpened: () => safeCapture("add_document_modal_opened"),
+
+ // onboarding analytics
+ onboardingStepViewed: (props: { step: string; trigger: "user" | "auto" }) =>
+ safeCapture("onboarding_step_viewed", props),
+
+ onboardingNameSubmitted: (props: { name_length: number }) =>
+ safeCapture("onboarding_name_submitted", props),
+
+ onboardingProfileSubmitted: (props: {
+ has_twitter: boolean
+ has_linkedin: boolean
+ other_links_count: number
+ description_length: number
+ }) => safeCapture("onboarding_profile_submitted", props),
+
+ onboardingRelatableSelected: (props: { options: string[] }) =>
+ safeCapture("onboarding_relatable_selected", props),
+
+ onboardingIntegrationClicked: (props: { integration: string }) =>
+ safeCapture("onboarding_integration_clicked", props),
+
+ onboardingChromeExtensionClicked: (props: {
+ source: "onboarding" | "settings"
+ }) => safeCapture("onboarding_chrome_extension_clicked", props),
+
+ onboardingMcpDetailOpened: () => safeCapture("onboarding_mcp_detail_opened"),
+
+ onboardingXBookmarksDetailOpened: () =>
+ safeCapture("onboarding_x_bookmarks_detail_opened"),
+
+ onboardingCompleted: () => safeCapture("onboarding_completed"),
+
+ // main app analytics
+ searchOpened: (props: {
+ source: "hotkey" | "header" | "highlight_related"
+ }) => safeCapture("search_opened", props),
+
+ documentModalOpened: (props: { document_id: string }) =>
+ safeCapture("document_modal_opened", props),
+
+ fullscreenNoteModalOpened: () => safeCapture("fullscreen_note_modal_opened"),
+
+ highlightClicked: (props: {
+ highlight_id: string
+ action: "chat" | "related"
+ }) => safeCapture("highlight_clicked", props),
+
+ // chat analytics
+ chatMessageSent: (props: {
+ source: "typed" | "suggested" | "highlight" | "follow_up"
+ }) => safeCapture("chat_message_sent", props),
+
+ chatFollowUpClicked: (props: { thread_id?: string }) =>
+ safeCapture("chat_follow_up_clicked", props),
+
+ chatSuggestedQuestionClicked: () =>
+ safeCapture("chat_suggested_question_clicked"),
+
+ chatMessageLiked: (props: { message_id: string }) =>
+ safeCapture("chat_message_liked", props),
+
+ chatMessageDisliked: (props: { message_id: string }) =>
+ safeCapture("chat_message_disliked", props),
+
+ chatMessageCopied: (props: { message_id: string }) =>
+ safeCapture("chat_message_copied", props),
+
+ chatMemoryExpanded: (props: { message_id: string }) =>
+ safeCapture("chat_memory_expanded", props),
+
+ chatMemoryCollapsed: (props: { message_id: string }) =>
+ safeCapture("chat_memory_collapsed", props),
+
+ chatThreadLoaded: (props: { thread_id: string }) =>
+ safeCapture("chat_thread_loaded", props),
+
+ chatThreadDeleted: (props: { thread_id: string }) =>
+ safeCapture("chat_thread_deleted", props),
+
+ modelChanged: (props: { model: string }) =>
+ safeCapture("model_changed", props),
+
+ // settings / spaces / docs analytics
+ settingsTabChanged: (props: {
+ tab: "account" | "integrations" | "connections" | "support"
+ }) => safeCapture("settings_tab_changed", props),
+
+ spaceCreated: () => safeCapture("space_created"),
+
+ spaceSwitched: (props: { space_id: string }) =>
+ safeCapture("space_switched", props),
+
+ quickNoteCreated: () => safeCapture("quick_note_created"),
+
+ quickNoteEdited: () => safeCapture("quick_note_edited"),
+
+ documentDeleted: (props: { document_id: string }) =>
+ safeCapture("document_deleted", props),
+
+ documentEdited: (props: { document_id: string }) =>
+ safeCapture("document_edited", props),
}