docs(analytics): update catalog for signup and recover password changes
This commit is contained in:
@@ -146,23 +146,29 @@ contraseña, vinculación de teléfono y logout.
|
||||
|
||||
### Signup
|
||||
|
||||
El signup es un wizard de **3 pasos** (`step_index` 0, 1, 2). Los eventos
|
||||
de step permiten construir el funnel detallado del alta.
|
||||
El signup es un wizard de **2 pasos** (`step_index` 0, 1):
|
||||
|
||||
- **Paso 0 — Datos personales:** nombre, apellido, email, teléfono (con picker de país), aceptación de términos.
|
||||
- **Paso 1 — Contraseña:** password y repeat password con validación de reglas.
|
||||
|
||||
El `language` se infiere del locale del dispositivo al momento del submit.
|
||||
|
||||
| Evento | Cuándo se dispara | Parámetros | Qué significa para marketing |
|
||||
|---|---|---|---|
|
||||
| `legacy_auth_signup_started` | El usuario envió el formulario final (submit del paso 2). | — | Top del funnel de request al backend. |
|
||||
| `legacy_auth_signup_started` | El usuario envió el formulario final (submit del paso 1). | — | Top del funnel de request al backend. |
|
||||
| `legacy_auth_signup_completed` | El backend creó la cuenta exitosamente. | — | Conversión de nueva cuenta. |
|
||||
| `legacy_auth_signup_failed` | Error en el alta (email ya existe, datos inválidos, error de red). | `reason` | Drop-off del signup. Analizar `reason` para ver si hay patrones. |
|
||||
| `legacy_auth_signup_step_completed` | El usuario avanzó a un paso siguiente (validación pasó). | `step_index` (0, 1, 2) — el paso que JUSTO terminó | Funnel interno del signup. Permite ver cuántos completan paso 0, 1, 2. |
|
||||
| `legacy_auth_signup_step_completed` | El usuario avanzó a un paso siguiente (validación pasó). | `step_index` (0, 1) — el paso que JUSTO terminó | Funnel interno del signup. Permite ver cuántos completan paso 0 y llegan al 1. |
|
||||
| `legacy_auth_signup_step_back` | El usuario tocó "atrás" dentro del wizard. | `step_index` — el paso del que vuelve | Indica que el usuario quiere corregir algo — fricción. |
|
||||
| `legacy_auth_signup_step_validation_failed` | El usuario tocó "siguiente" pero la validación del formulario lo rechazó. | `step_index` | **Muy valioso:** dice en qué paso hay más problemas de validación. Si step 0 tiene muchos fails, puede ser el email; step 1 puede ser la dirección; etc. |
|
||||
| `legacy_auth_signup_step_validation_failed` | El usuario tocó "siguiente" pero la validación del formulario lo rechazó. | `step_index` | **Muy valioso:** dice en qué paso hay más problemas de validación. Si step 0 falla: nombre/apellido, email, teléfono o términos. Si step 1 falla: reglas de contraseña. |
|
||||
|
||||
### Recuperación de contraseña
|
||||
|
||||
Flujo **exclusivo por email** (se removió la opción de SMS/teléfono).
|
||||
|
||||
| Evento | Cuándo se dispara | Parámetros | Qué significa para marketing |
|
||||
|---|---|---|---|
|
||||
| `legacy_auth_password_reset_requested` | El usuario inició el flujo de recuperar contraseña. | — | Fricción: alguien no recuerda su contraseña. |
|
||||
| `legacy_auth_password_reset_requested` | El usuario inició el flujo de recuperar contraseña tipeando su email. | — | Fricción: alguien no recuerda su contraseña. |
|
||||
| `legacy_auth_password_reset_email_sent` | El backend confirmó el envío del email de recuperación. | — | Confirma que el email salió. Cruzar con `reset_requested` para medir fallas. |
|
||||
| `legacy_auth_password_reset_completed` | El usuario guardó la nueva contraseña exitosamente. | — | **Conversión final** del funnel de recuperación. |
|
||||
| `legacy_auth_password_reset_failed` | Error al intentar guardar la nueva contraseña. | `reason` (`unequal_passwords`, `too_short`, `no_capitals`, `no_numbers`, `no_special_chars`, o mensaje del backend) | Permite ver qué reglas de validación molestan más a los usuarios. |
|
||||
@@ -618,10 +624,14 @@ las decisiones pendientes.
|
||||
- NUEVOS: `legacy_device_setup_qr_scanned`, `legacy_device_setup_manual_code_entered`, `legacy_device_setup_reset_for_new_kid` (señal de familias con múltiples hijos).
|
||||
- ENRIQUECIDOS: `legacy_device_setup_step_completed` ahora incluye `duration_seconds` (tiempo por paso — fricción directa); `legacy_device_setup_completed` ahora incluye `child_gender`, `relation_type`, `child_age_years` ( demográficos del usuario final para personas de marketing).
|
||||
- **2026-04-07** — Se expandió el tracking de `legacy_auth` con 3 eventos nuevos para el funnel interno del signup:
|
||||
- NUEVOS: `legacy_auth_signup_step_completed`, `legacy_auth_signup_step_back`, `legacy_auth_signup_step_validation_failed` (todos con `step_index` 0-2).
|
||||
- NUEVOS: `legacy_auth_signup_step_completed`, `legacy_auth_signup_step_back`, `legacy_auth_signup_step_validation_failed` (originalmente con `step_index` 0-2; reducido a 0-1 en abril 2026 al simplificar el signup).
|
||||
- **2026-04-07** — Pasada final de cobertura en `legacy_auth`, `account`, `support`, `control_panel`: 6 eventos nuevos y 2 enriquecimientos.
|
||||
- NUEVOS AUTH: `legacy_auth_password_reset_completed`, `legacy_auth_password_reset_failed` (con `reason` granular), `legacy_auth_link_phone_code_request_failed`, `legacy_auth_link_phone_code_verification_failed`.
|
||||
- NUEVOS ACCOUNT: `legacy_account_linked_device_renamed`, `legacy_account_app_user_delete_triggered`.
|
||||
- ENRIQUECIDOS: `legacy_support_contact_initiated` ahora incluye `country` además de `channel`; `legacy_control_panel_device_selected` ahora incluye `total_devices` (proxy de tamaño de familia).
|
||||
- **2026-04-07** — Se expandió la cobertura de los widgets del módulo `location` con 6 eventos nuevos sobre acciones top-level del mapa:
|
||||
- NUEVOS: `legacy_location_map_style_changed` (selector de capas), `legacy_location_map_center_tapped`, `legacy_location_map_refresh_tapped`, `legacy_location_shared` ( acción viral del producto), `legacy_location_list_sheet_opened`, `legacy_location_history_type_filter_changed` (con `type` para detectar interés en posiciones SOS).
|
||||
- **2026-04-15** — Cambios de producto en `legacy_auth`:
|
||||
- **Signup reducido a 2 pasos** (antes 3). Se quitaron los campos de documento, fecha de nacimiento, lugar de nacimiento, país de nacimiento, relación con el niño y dirección completa. El request al backend ahora solo incluye `firstName`, `lastName`, `email`, `phone` (E.164), `language` (del locale del dispositivo) y `password`. `step_index` de los eventos `legacy_auth_signup_step_*` pasa de 0-2 a 0-1.
|
||||
- **Recover password solo por email**: se eliminó la UI de teléfono móvil en ambos screens del flujo (`request_recovery` y `new_password`). Los eventos del flujo se mantienen igual pero ahora siempre corresponden al canal email. Se eliminó del state `recoveryFormat` (ya no hay rama SMS).
|
||||
- **User properties (Firebase Analytics)** ahora se sincronizan solo en shells autenticados (dashboards legacy y payment), no en rutas públicas. Los eventos en sí no cambian — solo se movió el disparador de la sync para evitar llamadas espurias a `/auth/me` en login/signup/recover_password.
|
||||
|
||||
@@ -95,7 +95,7 @@ Pantallas registradas:
|
||||
|
||||
### Alta de cuenta (signup)
|
||||
|
||||
El alta es un wizard de 3 pasos.
|
||||
El alta es un wizard de 2 pasos (datos personales → contraseña).
|
||||
|
||||
- **legacy_auth_signup_started** — El usuario envió el formulario final del alta.
|
||||
- **legacy_auth_signup_completed** — La cuenta se creó exitosamente.
|
||||
@@ -106,7 +106,9 @@ El alta es un wizard de 3 pasos.
|
||||
|
||||
### Recuperación de contraseña
|
||||
|
||||
- **legacy_auth_password_reset_requested** — El usuario inició el flujo de "olvidé mi contraseña".
|
||||
Flujo exclusivo por email (no hay opción de SMS).
|
||||
|
||||
- **legacy_auth_password_reset_requested** — El usuario inició el flujo de "olvidé mi contraseña" tipeando su email.
|
||||
- **legacy_auth_password_reset_email_sent** — Se envió el email con el enlace de recuperación.
|
||||
- **legacy_auth_password_reset_completed** — El usuario guardó exitosamente su nueva contraseña.
|
||||
- **legacy_auth_password_reset_failed** — El intento de guardar la nueva contraseña falló.
|
||||
|
||||
Reference in New Issue
Block a user