Aprende cómo construir un funnel de conversión útil aunque no tengas todos los datos. Guía práctica para perfiles técnicos que trabajan en Growth o Marketing.
Muchos perfiles técnicos se enfrentan al reto de analizar conversiones sin contar con todos los eventos del journey. Ya sea por fallas de tracking, datos dispersos o implementaciones incompletas, construir un funnel completo parece imposible.
Pero no lo es.
En este post aprenderás cómo mapear un funnel de conversión aún cuando los datos no estén perfectos, usando lógica de negocio, inferencia y supuestos bien documentados.
¿Qué es un funnel de conversión?
Un funnel representa las etapas por las que pasa un usuario desde que conoce tu producto hasta que realiza una acción clave:
Etapa del funnel | Ejemplos de acciones |
---|---|
1. Visita / Descubrimiento El usuario entra en contacto inicial con tu producto, marca o contenido, pero aún no realiza ninguna acción concreta | – Click en un anuncio en redes sociales (ej. Meta, TikTok) – Visita a una landing page o sitio web – Visualización de un contenido en Google o YouTube – Primer mensaje vía WhatsApp, mail o chatbot |
2. Registro / Intento El usuario muestra intención clara de avanzar, pero aún no se ha activado ni confirmado como usuario. | – Llenar un formulario de registro – Descargar una app – Iniciar el proceso de onboarding – Dar clic en “crear cuenta” – Iniciar el proceso de compra o cotización |
3. Confirmación / Activación El usuario completa el paso inicial clave para empezar a usar el servicio/producto. | – Verificación de correo / teléfono – Primer login – Completar su perfil o agregar un método de pago – Ver el tutorial o guía inicial – Confirmar un servicio o solicitud |
4. Uso / Conversión El usuario realiza la acción principal de valor para el negocio. Aquí se define la conversión según tu producto. | – Realizar una compra – Reservar un servicio – Completar una clase – Generar su primera transacción real |
Paso a paso para mapear un funnel incompleto
1. Identifica los eventos disponibles
Haz un inventario de lo que sí tienes. Ejemplo:
– page_view, signup_start, signup_complete, transaction_made
– Incluye campos clave como: timestamp, user ID, canal
2. Mapea la lógica del journey
Define los pasos ideales, aunque no todos estén registrados.
Ejemplo: si tienes signup_complete, puedes asumir que hubo signup_start.
3. Construye funnels por inferencia
Agrupa eventos por usuario y tiempo para inferir pasos intermedios.
4. Usa cohortes para estimar conversiones
Agrupa por fechas para analizar cuánto tiempo tarda un usuario en convertir y detectar puntos de fuga /caída.
5. Documenta tus supuestos
Ejemplos:
– “Asumimos que quienes completan el registro también vieron el onboarding.”
– “No se cuenta el paso de activación por falta de tracking, se estima en base a X.”
Bonus: Visualiza aunque falte info
Un gráfico simple puede comunicar mucho, incluso si es parcial.
Código ejemplo:
import pandas as pd
import matplotlib.pyplot as plt
# Crear datos dummy con paso previo: clic en anuncio
data = {
'user_id': [1, 2, 1, 3, 2, 1, 4, 5, 5],
'event_name': [
'ad_click', 'ad_click', 'page_view',
'ad_click', 'page_view', 'signup_complete',
'transaction_made', 'ad_click', 'page_view'
]
}
df = pd.DataFrame(data)
# Mapear eventos a pasos ordenados del funnel
df['step'] = df['event_name'].map({
'ad_click': '1. Ad Click',
'page_view': '2. Page View',
'signup_complete': '3. Signup Complete',
'transaction_made': '4. Transaction Made'
})
# Orden de los pasos
steps = ['1. Ad Click', '2. Page View', '3. Signup Complete', '4. Transaction Made']
# Calcular usuarios únicos por paso
funnel_counts = df.groupby('step')['user_id'].nunique().reindex(steps)
# Calcular tasas de conversión entre pasos consecutivos
conversion_rates = []
for i in range(len(steps) - 1):
current = funnel_counts[steps[i]]
next_ = funnel_counts[steps[i + 1]]
rate = round(next_ / current, 2) if current > 0 else 0
conversion_rates.append(rate)
# Preparar etiquetas con conversión
labels = []
for i, step in enumerate(steps):
count = funnel_counts[step]
if i == 0:
labels.append(f"{count} usuarios")
else:
rate = conversion_rates[i - 1]
labels.append(f"{count} usuarios\n({int(rate * 100)}% conv.)")
# Graficar embudo horizontal
plt.figure(figsize=(10, 6))
bars = plt.barh(steps[::-1], funnel_counts.values[::-1], color='skyblue')
plt.xlabel("Usuarios únicos")
plt.title("Funnel de Conversión con Tasas de Conversión")
# Agregar etiquetas a cada barra
for i, (bar, label) in enumerate(zip(bars, labels[::-1])):
plt.text(bar.get_width() + 0.2, bar.get_y() + bar.get_height()/2,
label, va='center')
plt.tight_layout()
plt.show()

Glosario contextual – Funnel & Tracking
Término | Definición clara | Cómo se aplica |
---|---|---|
Journey | Recorrido completo del usuario desde el descubrimiento hasta la conversión o fidelización. | Te ayuda a detectar puntos de fuga o fricción en la experiencia del usuario. |
Funnel | Representación en etapas del avance de un usuario hasta convertirse en cliente. | Permite medir tasas de conversión y definir acciones por fase. |
Tag | Código que captura acciones del usuario (clics, formularios, eventos). | Se implementa con herramientas como Google Tag Manager o Mixpanel. |
UTM | Parámetros añadidos a una URL para rastrear fuente, canal y campaña. | Ejemplo: ?utm_source=instagram&utm_campaign=lanzamiento |
Tracking | Seguimiento del comportamiento del usuario mediante eventos y sesiones. | Ayuda a entender qué canal o acción generó la conversión. |
Mixpanel / GA4 | Herramientas de analítica para visualizar funnels y comportamiento de usuarios. | GA4 ofrece visión general; Mixpanel es más profundo en producto y cohorts. |