From c1cb37c6afad46f13a42c0896a47d9a3492ac355 Mon Sep 17 00:00:00 2001 From: Benjamin Lu Date: Sat, 24 Jan 2026 19:47:59 -0800 Subject: [PATCH] feat: track gtm signup event --- src/stores/firebaseAuthStore.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/stores/firebaseAuthStore.ts b/src/stores/firebaseAuthStore.ts index 6073a43040..c6fcb2f6d7 100644 --- a/src/stores/firebaseAuthStore.ts +++ b/src/stores/firebaseAuthStore.ts @@ -81,6 +81,19 @@ export const useFirebaseAuthStore = defineStore('firebaseAuth', () => { const buildApiUrl = (path: string) => `${getComfyApiBaseUrl()}${path}` + const pushDataLayerEvent = (event: Record) => { + if (!isCloud || typeof window === 'undefined') return + const dataLayer = window.dataLayer ?? (window.dataLayer = []) + dataLayer.push(event) + } + + const trackSignUp = (method: 'email' | 'google' | 'github') => { + pushDataLayerEvent({ + event: 'sign_up', + method + }) + } + // Providers const googleProvider = new GoogleAuthProvider() googleProvider.addScope('email') @@ -347,6 +360,7 @@ export const useFirebaseAuthStore = defineStore('firebaseAuth', () => { method: 'email', is_new_user: true }) + trackSignUp('email') } return result @@ -365,6 +379,9 @@ export const useFirebaseAuthStore = defineStore('firebaseAuth', () => { method: 'google', is_new_user: isNewUser }) + if (isNewUser) { + trackSignUp('google') + } } return result @@ -383,6 +400,9 @@ export const useFirebaseAuthStore = defineStore('firebaseAuth', () => { method: 'github', is_new_user: isNewUser }) + if (isNewUser) { + trackSignUp('github') + } } return result