P2.9 — Dashboard de funnel (visitas → juego → completado → compartido → reto) #9

Open
opened 2026-08-26 12:23:44 +00:00 by alexandrev · 1 comment
Owner

El usuario pide: "Implementa los 10 puntos" (punto 9 de la revisión).

Los eventos ya se envían a GA4 (game_started, guess_submitted, difficulty_unlocked, daily_completed, share_clicked con channel, challenge_accepted) pero no hay funnel consultable.

Por qué: sin medición, la próxima ronda de mejoras vuelve a ser a ciegas.

El usuario pide: "Implementa los 10 puntos" (punto 9 de la revisión). Los eventos ya se envían a GA4 (`game_started`, `guess_submitted`, `difficulty_unlocked`, `daily_completed`, `share_clicked` con `channel`, `challenge_accepted`) pero no hay funnel consultable. Por qué: sin medición, la próxima ronda de mejoras vuelve a ser a ciegas.
Author
Owner

Pipeline en producción y verificado; falta montar el dashboard.

Hecho y verificado:

  • POST /api/events desplegado, con allow-list de eventos y recorte de propiedades, enviado por sendBeacon en paralelo a GA4 para que el funnel sobreviva a los bloqueadores.
  • BD hidden11 creada en el Postgres compartido (LXC 121) con hidden11_events y las vistas hidden11_funnel_daily, hidden11_retention_d1 y hidden11_share_channels.
  • Workflow hidden11 — event ingestion importado y activo.

Extremo a extremo desde producción:

POST https://hidden11.app/api/events -> 204
psql -> 2026-08-26 13:21:59+00 | game_started | prod-smoke | /

Pendiente: el dashboard en Metabase. No tengo credenciales de Metabase (en pass solo está la contraseña de su Postgres, no un login), así que lo dejé automatizado en scripts/setup-metabase-dashboard.mjs: registra la BD y crea las cinco tarjetas y el dashboard, y es idempotente.

MB_USER=... MB_PASSWORD=... PG_PASSWORD="$(pass show hidden11/postgres-password)" \
  node scripts/setup-metabase-dashboard.mjs

Dejo el issue abierto hasta que el dashboard exista.

Pipeline en producción y verificado; falta montar el dashboard. **Hecho y verificado:** - `POST /api/events` desplegado, con allow-list de eventos y recorte de propiedades, enviado por `sendBeacon` en paralelo a GA4 para que el funnel sobreviva a los bloqueadores. - BD `hidden11` creada en el Postgres compartido (LXC 121) con `hidden11_events` y las vistas `hidden11_funnel_daily`, `hidden11_retention_d1` y `hidden11_share_channels`. - Workflow `hidden11 — event ingestion` importado y activo. Extremo a extremo desde producción: ``` POST https://hidden11.app/api/events -> 204 psql -> 2026-08-26 13:21:59+00 | game_started | prod-smoke | / ``` **Pendiente:** el dashboard en Metabase. No tengo credenciales de Metabase (en `pass` solo está la contraseña de su Postgres, no un login), así que lo dejé automatizado en `scripts/setup-metabase-dashboard.mjs`: registra la BD y crea las cinco tarjetas y el dashboard, y es idempotente. ```bash MB_USER=... MB_PASSWORD=... PG_PASSWORD="$(pass show hidden11/postgres-password)" \ node scripts/setup-metabase-dashboard.mjs ``` Dejo el issue abierto hasta que el dashboard exista.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/hidden11#9