diff --git a/packages/compass-indexes/src/modules/create-index.tsx b/packages/compass-indexes/src/modules/create-index.tsx index 89eab255407..ad78e8da201 100644 --- a/packages/compass-indexes/src/modules/create-index.tsx +++ b/packages/compass-indexes/src/modules/create-index.tsx @@ -365,7 +365,22 @@ export const createIndexFormSubmitted = (): IndexesThunkAction< void, ErrorEncounteredAction | CreateIndexFormSubmittedAction > => { - return (dispatch, getState) => { + return (dispatch, getState, { track, preferences }) => { + // @experiment Early Journey Indexes Guidance & Awareness | Jira Epic: CLOUDP-239367 + const currentTab = getState().createIndex.currentTab; + const { enableIndexesGuidanceExp, showIndexesGuidanceVariant } = + preferences.getPreferences(); + + track('Create Index Button Clicked', { + context: 'Create Index Modal', + flow: + enableIndexesGuidanceExp && showIndexesGuidanceVariant + ? currentTab === 'IndexFlow' + ? 'Start with Index' + : 'Start with Query' + : undefined, + }); + // Check for field errors. if ( getState().createIndex.fields.some( diff --git a/packages/compass-telemetry/src/telemetry-events.ts b/packages/compass-telemetry/src/telemetry-events.ts index c6e01aaf1e0..a9f4bee0c6f 100644 --- a/packages/compass-telemetry/src/telemetry-events.ts +++ b/packages/compass-telemetry/src/telemetry-events.ts @@ -2678,6 +2678,16 @@ type ExperimentViewedEvent = CommonEvent<{ payload: { test_name: string }; }>; +export type CreateIndexModalContext = 'Create Index Modal'; + +type CreateIndexButtonClickedEvent = CommonEvent<{ + name: 'Create Index Button Clicked'; + payload: { + flow: 'Start with Query' | 'Start with Index' | undefined; + context: CreateIndexModalContext; + }; +}>; + export type TelemetryEvent = | AggregationCanceledEvent | AggregationCopiedEvent @@ -2799,4 +2809,5 @@ export type TelemetryEvent = | FirstInputDelayEvent | CumulativeLayoutShiftEvent | TimeToFirstByteEvent - | ExperimentViewedEvent; + | ExperimentViewedEvent + | CreateIndexButtonClickedEvent;