From a12317c1473d99b162fb97ea3ffa52b3760ee026 Mon Sep 17 00:00:00 2001 From: Oskar Otwinowski Date: Thu, 19 Feb 2026 16:45:51 +0100 Subject: [PATCH] feat(onboarding): add tracking for Vercel GitHub steps Add telemetry events to the Vercel onboarding modal to better track user interactions with the GitHub integration flow. Specifically: - Fire an event when the GitHub step is shown, including whether the GitHub app is already installed (github_app_installed). - Track when the user clicks the "Install GitHub app" button. - Track when the user completes the GitHub onboarding step. - Track when the user skips the GitHub onboarding step (applies to multiple skip paths). Also add gitHubAppInstallations.length to the effect dependency array to ensure the "step viewed" event updates correctly when installation state changes. These events improve analytics for onboarding funnels and help identify drop-off or friction points in the GitHub integration flow. --- .../integrations/VercelOnboardingModal.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx b/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx index dc6996dab14..06d24068746 100644 --- a/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx +++ b/apps/webapp/app/components/integrations/VercelOnboardingModal.tsx @@ -543,8 +543,15 @@ export function VercelOnboardingModal({ if (!isGitHubConnectedForOnboarding) { setState("github-connection"); + capture("vercel onboarding github step viewed", { + origin: fromMarketplaceContext ? "marketplace" : "dashboard", + step: "github-connection", + organization_slug: organizationSlug, + project_slug: projectSlug, + github_app_installed: gitHubAppInstallations.length > 0, + }); } - }, [vercelStagingEnvironment, pullEnvVarsBeforeBuild, atomicBuilds, discoverEnvVars, syncEnvVarsMapping, nextUrl, fromMarketplaceContext, isGitHubConnectedForOnboarding, completeOnboardingFetcher, actionUrl, trackOnboarding]); + }, [vercelStagingEnvironment, pullEnvVarsBeforeBuild, atomicBuilds, discoverEnvVars, syncEnvVarsMapping, nextUrl, fromMarketplaceContext, isGitHubConnectedForOnboarding, completeOnboardingFetcher, actionUrl, trackOnboarding, capture, organizationSlug, projectSlug, gitHubAppInstallations.length]); const handleFinishOnboarding = useCallback((e: React.FormEvent) => { e.preventDefault(); @@ -1081,6 +1088,7 @@ export function VercelOnboardingModal({ )} variant="secondary/medium" LeadingIcon={OctoKitty} + onClick={() => trackOnboarding("vercel onboarding github app install clicked")} > Install GitHub app @@ -1110,6 +1118,7 @@ export function VercelOnboardingModal({