diff --git a/packages/frontend/editor-ui/src/components/MainSidebar.vue b/packages/frontend/editor-ui/src/components/MainSidebar.vue index 5d85a80e51..fceb55fcfc 100644 --- a/packages/frontend/editor-ui/src/components/MainSidebar.vue +++ b/packages/frontend/editor-ui/src/components/MainSidebar.vue @@ -276,6 +276,8 @@ const handleSelect = (key: string) => { trackHelpItemClick(key); break; } + case 'insights': + telemetry.track('User clicked insights link from side menu'); default: break; } diff --git a/packages/frontend/editor-ui/src/components/WorkflowSettings.vue b/packages/frontend/editor-ui/src/components/WorkflowSettings.vue index f4995de52c..5e520033cc 100644 --- a/packages/frontend/editor-ui/src/components/WorkflowSettings.vue +++ b/packages/frontend/editor-ui/src/components/WorkflowSettings.vue @@ -371,6 +371,9 @@ const saveSettings = async () => { void externalHooks.run('workflowSettings.saveSettings', { oldSettings }); telemetry.track('User updated workflow settings', { workflow_id: workflowsStore.workflowId, + // null and undefined values are removed from the object, but we need the keys to be there + time_saved: workflowSettings.value.timeSavedPerExecution ?? '', + error_workflow: workflowSettings.value.errorWorkflow ?? '', }); }; diff --git a/packages/frontend/editor-ui/src/features/insights/components/InsightsSummary.vue b/packages/frontend/editor-ui/src/features/insights/components/InsightsSummary.vue index 4f6037cece..139f3790d3 100644 --- a/packages/frontend/editor-ui/src/features/insights/components/InsightsSummary.vue +++ b/packages/frontend/editor-ui/src/features/insights/components/InsightsSummary.vue @@ -10,6 +10,7 @@ import type { InsightsSummary } from '@n8n/api-types'; import { smartDecimal } from '@n8n/utils/number/smartDecimal'; import { computed, ref, useCssModule } from 'vue'; import { useRoute } from 'vue-router'; +import { useTelemetry } from '@/composables/useTelemetry'; const props = defineProps<{ summary: InsightsSummaryDisplay; @@ -19,6 +20,7 @@ const props = defineProps<{ const i18n = useI18n(); const route = useRoute(); const $style = useCssModule(); +const telemetry = useTelemetry(); const lastNDays = ref(7); @@ -50,6 +52,12 @@ const getImpactStyle = (id: keyof InsightsSummary, value: number) => { } return $style.neutral; }; + +const trackTabClick = (insightType: keyof InsightsSummary) => { + telemetry.track(`User clicked ${summaryTitles.value[insightType]}`, { + referrer: route.name === VIEWS.INSIGHTS ? 'Dashboard' : 'Overview', + }); +};