Resumen
El Home Annual Review (NPS) trackea 7 eventos con el prefijohome_nps_*. Cubren el funnel completo: exposicion (card) → apertura del survey → progreso paso a paso → finalizacion/abandono → visualizacion de resultados.
Todos los eventos se definen como constantes en analyticsEvents.homeNps.* en src/core/analytics/events.ts.
Propiedades base
Todos los eventos del Home NPS incluyen estas propiedades:
Las propiedades
survey_version (numero de version de la definicion) solo estan disponibles en eventos del flujo del survey (opened, step_completed, abandoned, completed).
Catalogo de eventos
1. home_nps_survey_cta_viewed
El card de review es visible en la seccion home para una propiedad tappable.
- Archivo:
HomeReviewCard.tsx - Trigger:
useEffecton mount, una vez por propiedad tappable (omite statuscompleted) - Multi-propiedad: Dispara un evento por cada fila de propiedad tappable.
2. home_nps_survey_opened
Usuario entra al flujo del survey desde cualquier entry point.
- Archivo:
SurveyScreen.tsx - Trigger:
useEffectcuandoviewStatetransiciona aintrooquestionspor primera vez - Guard: No se dispara si
engine.alreadyCompleted(survey reanudado ya completado)
- Home Card
- Deep Link
Usuario toca CTA en el card de la home screen → URL param
entryPoint=home3. home_nps_step_completed
Usuario responde una pregunta y avanza a la siguiente.
- Archivo:
useSurveyEngine.ts(callback) →SurveyScreen.tsx(capture) - Trigger: Dentro de
goToNextQuestion, via callbackonStepCompleted
step_number es secuencial sin gaps — refleja la experiencia del usuario, no el orden de la
definicion. Preguntas condicionales que no se muestran no generan eventos.4. home_nps_survey_abandoned
Usuario sale del survey sin completarlo.
- Archivo:
SurveyScreen.tsx - Trigger:
handleClosecuandoviewState !== 'completion' - Se dispara al cerrar explicitamente (boton back/close), NO al ir a background (background dispara
flushToBackendpara guardar progreso)
5. home_nps_survey_completed
Survey enviado exitosamente al backend.
- Archivo:
SurveyScreen.tsx - Trigger:
useEffectcuandoviewStatetransiciona acompletion - Guard: No se dispara si
engine.alreadyCompleted(survey reanudado ya completado)
Las encuestas completadas por agentes de soporte via back office se rastrean server-side. Se
pueden distinguir de las completadas en la app usando la propiedad
$lib de PostHog
(posthog-react-native para la app vs el SDK del backend para back office).6. home_nps_report_cta_viewed
El card de resultados es visible para el usuario (~8 dias despues del cierre del periodo de review).
- Archivo:
HomeReviewResultsCard.tsx(useEffect on mount)
7. home_nps_report_opened
Usuario toca el CTA para ver el reporte de resultados.
- Archivo:
HomeReviewResultsCard.tsx(onPress antes de WebView)
Diagramas de flujo
Entry points
Flujo del survey
Resultados
Guia de dashboard en PostHog
Dashboard: “Home NPS - Survey Analytics”
Todas las insights deben filtrar porsurvey_type = "home-review".
Funnels
- Completion Funnel
- Card Conversion
- Report Engagement
Survey Completion FunnelMide la conversion desde apertura hasta finalizacion del survey.
- Ir a Insights → New → Funnels
- Agregar pasos:
home_nps_survey_openedhome_nps_step_completed(filter:step_number = 1)home_nps_step_completed(filter:step_number = 2)- …continuar por cada paso conocido
home_nps_survey_completed
- Breakdown by:
entry_point - Conversion window: 7 dias
- El drop-off entre cada paso muestra donde abandonan los usuarios
Trends
- Completion Rate
- Abandonment
- Entry Points
Tasa de completado
- Insights → New → Trends
- Serie A:
home_nps_survey_completed(unique users) - Serie B:
home_nps_survey_opened(unique users) - Activar Formula mode:
A / B - Display: Line chart, granularidad diaria o semanal
Number Insights (KPIs)
Crear 3 Number insights para la fila superior del dashboard:Layout del dashboard
Organizar en filas:- Fila superior: 3 Number insights (KPIs principales)
- Segunda fila: Survey Completion Funnel (ancho completo)
- Tercera fila: Card Conversion (izq) + Report Engagement (der)
- Cuarta fila: Entry Point Distribution (izq) + Abandonment by Step (der)
Joining con Data Warehouse
Los eventos enviansurvey_id y step_id (= question.id del backend). Para cruzar con datos backend:
Archivos de implementacion
Checklist de verificacion
- Home screen →
survey_cta_viewedse dispara para cada propiedad tappable - Tocar CTA card →
survey_openedconentry_point: "home" - Deep link →
survey_openedconentry_point: "deep_link" - Responder pregunta →
step_completedconstep_number,step_id,step_typecorrectos - Pregunta con comentario inline →
has_optional_comment: true - Cerrar survey a mitad →
survey_abandonedconsteps_completedcorrecto - Completar survey →
survey_completedconhas_final_commentytotal_steps - Reanudar survey completado → sin duplicados de
survey_openedosurvey_completed - Card de resultados visible →
report_cta_viewed - Tocar resultados →
report_opened - Todos los eventos incluyen
survey_type,survey_id(cuando cargado),home_id - Habilitar PostHog debug mode para validar eventos en consola/network