Módulo 05 · Manual EDH · 5 min de lectura

Carritos abandonados con dedup real.

Si tu reporte de carritos abandonados no dedupea por persona, te está mintiendo. Te paso la lógica que aplicamos en Wayfarer para medir el % de cierre verdadero — y por qué es muy distinto al que muestra Tiendanube por default.

Tiendanube checkouts API + dedup % cierre real vs el default que infla
📥 Bajar el módulo en PDFVer resumen
Gratis · Módulo 05
Manual EDH · Módulo 05
Carritos abandonados
Dedup por persona
EDH · Ecommerce de Hermanos

Lo que vas a entender en este módulo

Spoiler: el % de cierre de carritos que muestra Tiendanube por default es engañoso. Cuando dedupeás bien y comparás carritos únicos vs cerrados únicos, la métrica real es muy distinta. Y la decisión que tomás cambia.

Contenido del módulo
  1. Por qué medir carritos abandonados sin dedup miente
  2. Endpoint de Tiendanube: /checkouts, no /orders
  3. Dedup por contact_email (lowercase + trim) o contact_identification
  4. Cómo identificar el carrito 'cerrado' que viene de uno abandonado (owner_note con "carrito")
  5. % Cierre real = cerrados únicos / abandonados únicos del MISMO período
  6. Cap al 100% — por qué el ratio puede dar más de 1.0 sin dedup mensual
🔍

Dedup por persona

Si Juan abandona 3 carritos en un día, es 1 persona. Sin dedup, contás 3 abandonos y 1 cierre = 33% mentiroso.

📐

Métrica real

El % cierre real es lo que te dice si tu flow de recovery (email/WhatsApp) está funcionando o no.

🧹

Filtros precisos

Excluís canceladas, mayoristas, retiros. Solo cuentan ventas válidas que cierran un carrito previo.

⚠️

Cap al 100%

Algunos meses dan ratio >100% (cierres del mes anterior se contabilizan en el actual). Lo capeas para que no rompa dashboards.

4 pasos para tener el % de cierre verdadero

Esta es la lógica que aplicamos en Wayfarer todos los días. Una vez que la entendés, no podés volver al reporte default de Tiendanube — sabés que está inflando.

1

Bajar carritos abandonados del día

GET /checkoutsFilter: !completed_atPaginar hasta el final

El endpoint para esto NO es /orders sino /checkouts. Filtrás los que NO tienen completed_at (eso significa que no se completaron). Como Tiendanube paginá de a 100, vas a tener que hacer múltiples requests si tenés volumen.

Detalle clave Cada checkout tiene un contact_email y/o contact_identification (DNI/CUIL/RUT). Si están vacíos, ese carrito anónimo no se puede dedupear — lo contás como 1 sin más.
2

Dedupear por persona

Lowercase + trim emailFallback a identificationContar únicos

Para cada carrito abandonado, generás una clave: contact_email.toLowerCase().trim(). Si está vacío, usás contact_identification (DNI/CUIL/RUT). Si los dos están vacíos, el carrito es anónimo y lo contás como 1 sin dedup posible. Tu dedup count = cantidad de claves únicas, NO cantidad de carritos.

Lowercase + trim es crítico: "Juan@example.com" y "juan@example.com" son la misma persona, pero sin normalización los contás como dos. Lo mismo con espacios extra al final del email (pasa más de lo que parece). Aplicá .toLowerCase().trim() SIEMPRE antes de comparar.

Por qué importa En un día normal, los carritos crudos pueden ser 100 pero los carritos únicos por persona pueden ser 60-70. La diferencia son personas que volvieron y abandonaron de nuevo (el flow las atacó pero no convirtieron).
3

Identificar carritos cerrados que vienen de abandono

GET /ordersowner_note contains 'carrito'Same dedup logic

Cuando alguien abandona y después cierra (vía email de recovery, WhatsApp, lo que sea), la orden cerrada puede llevar una owner_note que contiene 'carrito' (lo seteamos así por convención). Filtrás esas órdenes y aplicás el mismo dedup por persona.

Pro tip Si dos carritos cierran en el mismo día por la misma persona (mismo email), contás 1, no 2. El % cierre se mide por personas, no por intentos.
4

Calcular % cierre real

cerrados_únicos / abandonados_únicosCap a 1.0 (100%)Mensual ≠ promedio del diario

Cierres únicos del día / abandonos únicos del día = % cierre del día. Si supera 100% (porque a veces cerrás carritos abandonados del día anterior), capeás a 1.0. Para el % mensual: NUNCA promediar los % diarios. Hay que calcular total cerrados únicos del MES / total abandonados únicos del MES (con dedup mensual, no diario).

Detalle del cap al 100%: el ratio puede dar más de 1.0 cuando una persona abandonó el carrito el día 3 y lo cerró el día 5. En el día 5 cuenta como "cerrado" pero no había abandonado ese mismo día. Si no capeás, ves dashboards con 130% de cierre que no tienen sentido. Cap a 1.0 mantiene la métrica interpretable.

El histórico es la métrica real: el % cierre del MES (no del día) es lo que tenés que mirar para evaluar tu flow de recovery. El día a día es muy ruidoso. Compará mes contra mes para detectar tendencias — si el flow de email/WhatsApp dejó de funcionar, lo ves ahí.

Diferencia con default El reporte default de Tiendanube cuenta carritos crudos sin dedup. Cuando lo calculás bien con dedup, el % real puede ser muy distinto al que muestra el panel.
Decisiones que te desbloquea

Cuándo y por qué importa el dedup.

Si no dedupeás, las decisiones que tomás sobre el flow de recovery son sobre data inflada. Estos son los casos donde el dedup cambia la decisión.

Caso · 1

El flow de recovery 'parece' funcionar pero no

Sin dedup: 'cerramos 30 de 100 carritos = 30%'. Con dedup: 'cerramos 12 personas únicas de 60 personas únicas = 20%'. Misma data, distinto diagnóstico.

Caso · 2

Detectar usuarios que abandonan repetidamente

Si Juan abandona 4 veces en una semana, es indicador de fricción real (precio, envío, talle, lo que sea). El dedup te lo muestra como persona, no como ruido.

Caso · 3

Comparar performance del flow mes a mes

Solo el dedup te deja comparar épocas distintas con métricas comparables. Sin dedup, los meses con más volumen te dan ratios que no son los reales.

Caso · 4

Justificar inversión en herramientas de recovery

Si tu % cierre real es 35%, vale la pena pagar Klaviyo. Si es 8%, hay un problema upstream que ninguna herramienta soluciona.

Pro tips · Lo que aprendimos a la mala

Recovery flows que funcionan

Pro tip · 1

Email a los 30min, WhatsApp a las 2hs

El flow estándar: primero email automático a los 30min del abandono. Si no convierte, segundo touch por WhatsApp a las 2hs. Si no convierte, tercer touch al día siguiente con descuento.

Pro tip · 2

El descuento mata el margen

Cuidado con poner descuento en el primer touch — entrenás al usuario a abandonar carritos a propósito para conseguir descuento. Mejor: primero recuerdo simple, después urgencia ("se está agotando"), recién al final descuento.

Pro tip · 3

Carritos sin email son recuperables

Si tenés tracking de Meta + carritos abandonados, podés hacer audiencia de retargeting con esos usuarios anónimos. No los recuperás 1:1, pero los volvés a impactar.

Pro tip · 4

El % cierre real cambia decisiones de inversión

Si tu % cierre real es 30%, vale la pena pagar herramientas como Klaviyo. Si es 8%, hay un problema upstream (precio, envío, UX) que ninguna herramienta soluciona.

📕

El detalle completo está en el PDF

Este resumen te da el panorama. El PDF tiene cada paso explicado, ejemplos concretos, troubleshooting y los pro tips que aprendimos a la mala. Lo bajás abajo en 30 segundos.

📥 Bajar el módulo en PDF

Te lo guardamos

Dejanos tus datos para sumarte al manual completo. Cuando lancemos el siguiente módulo, te avisamos.

Campo requerido
Campo requerido
Email inválido
Campo requerido
Campo requerido
Campo requerido

Tus datos quedan con nosotros. No spam, no venta de datos. Al enviar aceptás nuestra Política de Privacidad.

¡Listo!

Acá tenés el módulo en PDF para que lo bajes y lo leas cuando quieras.

📥 Descargar PDF · Módulo 05 · Carritos abandonados con dedup

Cuando lancemos un módulo nuevo, te avisamos por DM. Mientras, escuchá el podcast donde contamos el detrás de escena.

100% gratis Sin spam Acceso inmediato

Lo que más nos preguntan

¿Por qué Tiendanube no dedupea por default?
Porque mostrar 'carritos abandonados' como número crudo es la convención del rubro. La mayoría de las plataformas hacen lo mismo. Es estadísticamente inconveniente pero comercialmente más vendible.
¿Y si el carrito es anónimo (sin email ni DNI)?
Lo contás como 1 ocurrencia individual. No tenés forma de saber si esa misma persona ya había abandonado antes.
¿Vale para Shopify / WooCommerce / VTEX?
Misma lógica. Los nombres de campos cambian, pero el principio (dedup por identidad de persona) aplica igual.
¿Cómo defino el período de 'abandonado' vs 'cerrado'?
Lo más limpio: dentro del mismo mes calendario. Si alguien abandonó el 31 y cerró el 1 del mes siguiente, le sumás al cierre del mes que cerró pero al abandono del mes que abandonó. Esto puede dar >100% en un mes y <100% en el siguiente — por eso el cap.

Tuti & Juani · 10 años construyendo Wayfarer

Somos los hermanos detrás de Wayfarer y EDH. Forbes nos entrevistó. Tiendanube nos eligió como caso de éxito. Llevamos +100.000 productos vendidos sin un peso de inversión externa — todo reinvertido. Si te sirvió este módulo, seguinos en estos lugares — publicamos contenido nuevo todas las semanas.

Juan Cruz Paneiva (Tuti)
Juan Cruz "Tuti" Paneiva
Co-fundador · Operaciones, growth & IA

Lic. en Comunicación Social (FASTA). 10 años construyendo Wayfarer. Hoy especialista en aplicar IA al e-commerce.

@tutipaneiva LinkedIn
Juan Ignacio Paneiva (Juani)
Juan Ignacio "Juani" Paneiva
Co-fundador · Producto, marca & expansión

Ing. Industrial (UNMdP). Construyó la identidad de marca de Wayfarer. Especialista en producto, marca y operación de locales.

@juanipaneiva LinkedIn
Las redes para seguir nuestro contenido
Ecommerce de Hermanos
Coordenada 0 · Podcast
Nosotros
Wayfarer · Nuestra marca

Seguí con el playbook

📚 Volver al índice
Ver todos los módulos del manual
Módulo 04 · Anterior
Funnel GA4 + tasa de conversión
Módulo 06 · Siguiente
Decisiones estratégicas con IA