diff --git a/src/embed/ts-embed.ts b/src/embed/ts-embed.ts index 7580e272..b0a6d082 100644 --- a/src/embed/ts-embed.ts +++ b/src/embed/ts-embed.ts @@ -1552,6 +1552,9 @@ export class TsEmbed { * @param args */ public async render(): Promise { + uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_CALLED, { + embedComponentType: this.viewConfig.embedComponentType, + }); if (!getIsInitCalled()) { logger.error(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT); } @@ -1630,6 +1633,10 @@ export class TsEmbed { */ public async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false): Promise { + uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_PRE_RENDER, { + showPreRenderByDefault, + replaceExistingPreRender, + }); if (!this.viewConfig.preRenderId) { logger.error(ERROR_MESSAGE.PRERENDER_ID_MISSING); return this; @@ -1768,6 +1775,10 @@ export class TsEmbed { * wrapper to overlay it. */ public async showPreRender(): Promise { + uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, { + preRenderId: this.viewConfig.preRenderId, + embedComponentType: this.viewConfig.embedComponentType, + }); if (this.shouldWaitForRenderPromise) await this.isReadyForRenderPromise; @@ -1863,6 +1874,11 @@ export class TsEmbed { * If the component is not preRendered, it issues a warning. */ public hidePreRender(): void { + uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, { + preRenderId: this.viewConfig.preRenderId, + embedComponentType: this.viewConfig.embedComponentType, + }); + logger.debug('HidePreRender Called'); if (!this.isPreRenderConnected()) { // if the embed component is not preRendered , nothing to hide diff --git a/src/mixpanel-service.ts b/src/mixpanel-service.ts index 110f7d08..55b25ffb 100644 --- a/src/mixpanel-service.ts +++ b/src/mixpanel-service.ts @@ -26,6 +26,10 @@ export const MIXPANEL_EVENT = { VISUAL_SDK_IFRAME_LOAD_PERFORMANCE: 'visual-sdk-iframe-load-performance', VISUAL_SDK_EMBED_CREATE: 'visual-sdk-embed-create', VERCEL_INTEGRATION_COMPLETED: 'vercel-integration-completed', + VISUAL_SDK_RENDER_CALLED: 'visual-sdk-render-called', + VISUAL_SDK_PRE_RENDER: 'visual-sdk-pre-render', + VISUAL_SDK_SHOW_PRE_RENDER: 'visual-sdk-show-pre-render', + VISUAL_SDK_HIDE_PRE_RENDER: 'visual-sdk-hide-pre-render', }; let isMixpanelInitialized = false;