Por Hola Perdido

Cómo recuperar carritos abandonados de Shopify por WhatsApp

Una guía práctica para conectar Shopify con WhatsApp sin confundir carrito, checkout, teléfono, consentimiento ni compra recuperada.

Flujo que conecta un checkout de Shopify con permiso, validación y un mensaje de recuperación por WhatsApp

Para recuperar checkouts abandonados de Shopify por WhatsApp necesitás conectar cinco cosas: el abandono que Shopify realmente registró, un teléfono utilizable, permiso explícito para escribir por WhatsApp, la URL segura de recuperación y una regla que cancele el envío si el cliente ya compró.

Shopify puede detectar checkouts incompletos, mostrar sus datos en el administrador y ofrecer una URL para retomarlos. También tiene automatizaciones nativas por email. Lo que no hace por sí solo es convertir cada carrito abandonado en un mensaje de WhatsApp correcto: para eso necesitás una app compatible o una integración adicional con la Plataforma de WhatsApp Business.

La implementación no empieza eligiendo un mensaje. Empieza comprobando qué casos llegan a Pedidos > Checkouts abandonados, en qué momento Shopify conserva el teléfono y el consentimiento, y cómo vas a detener la secuencia cuando aparece la orden.

Si todavía necesitás ordenar la base, esta guía explica qué es un carrito abandonado y cómo recuperar esas ventas antes de entrar en la implementación específica de Shopify.

Qué ofrece Shopify y qué tenés que agregar

La documentación actual de Shopify define un checkout abandonado como un proceso inconcluso después de que la persona agregó información de contacto. Eso lo distingue de un visitante que solo añadió un producto al carrito y se fue sin identificarse.

Deslizá la tabla hacia los lados para ver todas las columnas.

PiezaQué puede aportar ShopifyQué debe resolver la integración
DetecciónRegistro de checkouts abandonados y disparador Customer abandons checkout en Shopify FlowElegir qué casos son elegibles y evitar duplicados
ContactoDatos del cliente o direcciones cuando fueron proporcionados y están disponiblesNormalizar el teléfono y manejar datos ausentes o protegidos
ConsentimientoOpción de opt-in de marketing por WhatsApp en checkout en regiones habilitadasComprobar que el permiso existe, cubre este mensaje y sigue vigente
RetornoCampo abandonedCheckoutUrl para retomar el checkoutProtegerlo, probarlo y no sustituirlo por la home
DetenciónEstado recuperado, completedAt y eventos de ordenCancelar colas ante compra, baja, respuesta o inelegibilidad
EnvíoShopify documenta recuperación nativa por emailConectar una app o backend con la Plataforma de WhatsApp Business

La recuperación nativa por email sirve como referencia, pero no como prueba de que el mismo checkout se puede contactar por WhatsApp. Shopify omite el email automático en varios casos, por ejemplo cuando el cliente compra antes del envío, no hay stock disponible o falta una dirección válida. Tu flujo de WhatsApp también necesita controles equivalentes.

Antes de automatizar, revisá por qué los clientes abandonan el carrito. Si vuelven a un costo de envío sorpresivo, un pago roto o un producto sin stock, el recordatorio solo los devuelve al mismo problema.

Carrito abandonado y checkout abandonado no son lo mismo

En Shopify, alguien puede agregar productos al carrito y desaparecer antes de escribir un dato de contacto. Ese comportamiento sirve para analizar el embudo, pero no alcanza para enviar un WhatsApp.

El objeto AbandonedCheckout aparece cuando existe un checkout incompleto con contacto proporcionado. Puede incluir identificador, fechas, cliente, direcciones, productos, importes, descuentos, estado de recuperación y abandonedCheckoutUrl. El campo customer incluso puede ser nulo en algunos casos creados por una app o a partir de una orden preliminar.

Usá esta secuencia de elegibilidad:

Deslizá la tabla hacia los lados para ver todas las columnas.

CasoQué sabés¿Se puede programar un WhatsApp?Control siguiente
Producto agregado, visitante anónimoHubo interés, pero no identidadNoEsperar que avance y entregue datos de forma válida
Checkout con email, sin teléfonoShopify puede recuperar por emailNo por WhatsAppUsar email o esperar otro contacto legítimo
Checkout con teléfono, sin permiso de WhatsAppExiste un número asociadoNoNo confundir dato operativo con consentimiento comercial
Checkout con teléfono y permiso verificableHay contacto y expectativa de mensajeSí, si sigue inconclusoValidar plantilla, horario, enlace y supresiones
Checkout marcado como recuperado o con compra posteriorLa venta ya ocurrióNoCancelar todos los mensajes pendientes
Pago fallido o checkout bloqueadoPuede existir una fricción técnica o de riesgoNo automáticamenteDiagnosticar el caso y decidir si corresponde ayuda humana

Tener el teléfono de facturación o envío no habilita el contacto. La política de WhatsApp exige que la persona haya dado su número y haya aceptado recibir mensajes posteriores por WhatsApp de la empresa identificada. También obliga a respetar las bajas, aunque lleguen por otro canal.

Configurá el contacto y el permiso en Shopify

En Configuración > Checkout, Shopify permite elegir email o teléfono como método de contacto y configurar el teléfono de la dirección de envío como opcional o requerido. También ofrece opciones separadas de marketing por email, SMS y WhatsApp; la opción de WhatsApp está disponible en determinadas regiones.

Hay tres detalles que conviene probar antes de depender de esa casilla:

  1. Shopify no permite exigir simultáneamente email y teléfono como método principal de contacto. Si necesitás ambos, la configuración del teléfono de envío y el recorrido real del checkout importan.
  2. La suscripción de marketing por SMS o WhatsApp se guarda cuando el cliente envía el checkout. Si abandona antes de ese punto, el permiso puede no quedar registrado.
  3. El teléfono de envío solo aparece cuando el checkout incluye ese paso. Los productos digitales, el retiro u otros recorridos pueden comportarse distinto.

No agregues un campo obligatorio solo para inflar la cantidad de contactos. Primero comprobá si el teléfono es necesario para logística, soporte o el canal elegido. Más fricción en checkout puede empeorar el problema que querés resolver.

Cuando uses una app o un formulario adicional, el texto de permiso debería indicar con claridad:

  • que el mensaje llegará por WhatsApp;
  • qué empresa lo enviará;
  • qué categoría de mensajes recibirá la persona;
  • cómo puede pedir la baja;
  • que aceptar no es obligatorio para comprar.

Un ejemplo comprensible sería:

Quiero recibir por WhatsApp recordatorios de este checkout y otras comunicaciones de [Marca]. Puedo pedir la baja cuando quiera.

Adaptalo al alcance real y a las reglas aplicables en tu mercado. Para profundizar, revisá cómo enviar mensajes comerciales por WhatsApp sin molestar.

Elegí una ruta de implementación

Ruta 1: una app compatible con Shopify y WhatsApp

Es la ruta más simple si la app resuelve de punta a punta:

  • acceso autorizado a Shopify;
  • lectura de checkouts abandonados;
  • teléfono y permiso disponibles en el punto correcto;
  • URL de recuperación de Shopify;
  • plantillas aprobadas de WhatsApp;
  • espera configurable;
  • cancelación ante compra o baja;
  • deduplicación y medición;
  • borrado o exportación de datos cuando corresponde.

No elijas solo por la promesa “recupera carritos automáticamente”. Pedí una prueba en tu tienda con su checkout, mercado, método de pago, moneda y configuración de consentimiento. Algunas apps dependen del checkout enviado; otras capturan antes con componentes propios. Esa diferencia cambia cuántos casos pueden ser elegibles.

También verificá quién administra el número de WhatsApp, las plantillas, las bajas y los datos si desinstalás la app. Una demo que envía un mensaje no demuestra que el sistema vaya a detenerlo bien.

Ruta 2: integración a medida

Tiene sentido si ya contás con una capa de automatización, necesitás reglas propias o querés integrar varias tiendas y canales.

Para aplicaciones nuevas, Shopify dirige el desarrollo hacia GraphQL Admin API; la REST Admin API está catalogada como heredada. La consulta abandonedCheckouts requiere el permiso read_orders y que el usuario tenga autorización para administrar checkouts abandonados. Los campos de nombre, email y teléfono son datos protegidos y pueden aparecer redactados si la app no obtuvo el acceso correspondiente.

Una arquitectura razonable es:

  1. La integración consulta o recibe el abandono desde Shopify.
  2. Guarda el identificador, la última actualización y solo los datos mínimos necesarios.
  3. Verifica teléfono, permiso, baja y elegibilidad.
  4. Programa el mensaje según una hipótesis de timing, no una regla universal.
  5. Antes de enviar, vuelve a consultar si el checkout fue completado o si existe una orden posterior.
  6. Envía una plantilla aprobada con la URL de recuperación.
  7. Cancela los pasos siguientes ante compra, respuesta, baja o error definitivo.
  8. Reconcilia periódicamente los estados por si un webhook se perdió.

Shopify Flow puede usar el disparador Customer abandons checkout y expone objetos Customer y Abandonment. Puede servir para clasificar, etiquetar o iniciar un proceso, pero las acciones disponibles dependen de la tienda, el plan y las apps instaladas. No des por hecho que Flow solo ya enviará el WhatsApp.

Si desarrollás una app, usá webhooks de órdenes para frenar el flujo en tiempo cercano a real. Shopify recomienda validar la firma HMAC, ignorar entregas duplicadas mediante el identificador del webhook y no confiar en el orden de llegada de los eventos. También recomienda tareas de reconciliación porque una entrega puede perderse o fallar.

Guardá pocos datos, pero los correctos

Un checkout abandonado contiene datos personales y comerciales. No conviene copiarlo entero a cada herramienta. Guardá lo necesario para decidir, volver y detener.

Deslizá la tabla hacia los lados para ver todas las columnas.

DatoPara qué sirveControl obligatorio
ID de AbandonedCheckoutIdentificar el caso sin procesarlo dos vecesClave estable e idempotente
createdAt y updatedAtCalcular actividad e investigar cambiosZona horaria consistente y consulta fresca
completedAt o estado de recuperaciónSaber si el checkout terminóRevisarlo justo antes de enviar
Cliente y teléfonoDirigir el mensaje a la persona correctaAcceso protegido, normalización y datos ausentes
Registro de consentimientoProbar que el mensaje era esperableTexto, fecha, origen, marca y categoría
abandonedCheckoutUrlRetomar el checkoutTratarla como URL sensible y no exponerla en logs
Productos, total y monedaDar contexto y validar vigenciaMinimizar campos y recalcular al volver
ID de orden posteriorDetener y atribuirVincular sin asumir causalidad
Baja o supresiónEvitar nuevos contactosPropagarla a todos los sistemas de envío
ID de plantilla y envíoAuditar lo que salióNo guardar contenido personal innecesario

Shopify considera los pedidos y checkouts abandonados como datos protegidos. Si la integración también necesita nombre, email o teléfono, el nivel de acceso es mayor. Aplicá permisos mínimos, cifrado, retención definida y procesos de solicitud o borrado de datos. Una clave de API nunca debe quedar en el tema, el navegador ni una automatización pública.

Usá la URL de recuperación, no una reconstrucción casera

El campo abandonedCheckoutUrl está pensado para que el comprador retome ese checkout. Es mejor base que mandar a la home o intentar reconstruir el carrito con parámetros sueltos.

Antes de publicarlo en una plantilla, probá que:

  • abre el checkout correcto en una sesión nueva;
  • conserva productos, cantidades y variantes esperadas;
  • recalcula precio, stock, descuentos, impuestos y envío;
  • explica cambios cuando algo ya no está disponible;
  • funciona en móvil y en incógnito;
  • no expone datos personales legibles;
  • no se registra completa en herramientas de analítica o soporte;
  • deja de usarse cuando el checkout fue recuperado.

Una URL de recuperación puede contener un token. No la trates como un enlace genérico ni la pegues en logs, capturas o tickets accesibles a personas que no la necesitan.

Conectá la plantilla de WhatsApp sin inventar permiso

Cuando la empresa inicia la conversación en la Plataforma de WhatsApp Business debe usar una plantilla aprobada. La aprobación de la plantilla no reemplaza el consentimiento. Tampoco garantiza que una plantilla clasificada de determinada manera vaya a conservar esa clasificación para siempre: el contenido y el uso real importan.

Un primer mensaje prudente puede ser:

Hola, Ana. Soy [Marca]. Dejaste un checkout pendiente con [producto o categoría]. Si querés retomarlo, podés usar este enlace: [enlace]. Si hubo un problema, respondé y te ayudamos. Para no recibir estos recordatorios, escribí BAJA.

No hace falta revelar cada dato que la tienda conoce. Personalizá solo lo que ayuda a reconocer el contexto. Evitá urgencias falsas, stock inventado y descuentos automáticos.

Si buscás variantes de copy, tenés 15 mensajes de WhatsApp para recuperar carritos. Para decidir el canal, compará WhatsApp o email para recuperar carritos.

El tiempo de Shopify no es una regla universal para WhatsApp

La plantilla de Shopify Flow para recuperar por email usa una espera predeterminada de diez horas. Shopify también permite editar el tiempo de su automatización de email. Ninguno de esos valores demuestra cuál es el mejor momento para WhatsApp.

Definí la espera según:

  • la señal real de abandono;
  • el tipo de producto y decisión;
  • la hora local del cliente;
  • si existe una falla de pago o una consulta abierta;
  • la capacidad del equipo para responder;
  • la combinación con email;
  • el costo y la calidad del canal;
  • el historial de mensajes y bajas.

Empezá con una hipótesis simple, reservá un grupo comparable y ajustá con datos propios. La guía sobre cuándo enviar un mensaje de carrito abandonado explica cómo diseñar esa prueba sin convertir un valor predeterminado en dogma.

Frená el mensaje cuando la compra ya ocurrió

La verificación previa al envío es la parte más importante del flujo. Durante la espera, el cliente puede comprar desde otro dispositivo, volver por email, cambiar productos, iniciar otro checkout o hablar con soporte.

Justo antes de enviar, confirmá:

  • el checkout no fue completado;
  • no existe una orden posterior atribuible al mismo caso;
  • el teléfono y el permiso siguen vigentes;
  • no llegó una baja por WhatsApp, email, formulario o soporte;
  • no se envió ya ese paso;
  • el enlace sigue funcionando;
  • los productos todavía se pueden comprar;
  • no hay una campaña incompatible activa;
  • alguien puede responder si ofrecés ayuda.

La consulta abandonedCheckouts incluye checkouts abandonados y recuperados, y permite filtrar por estado de recuperación. No alcanza con haber leído “abandonado” una vez: la integración debe comprobar el estado más reciente.

Esto vale también si combinás canales. Shopify ya evita algunos emails cuando la persona compra antes del envío. Tu orquestación debe compartir la misma supresión entre email y WhatsApp para no recordar una compra resuelta.

No uses un descuento para tapar el problema

El cupón no corrige una pasarela caída, una dirección no admitida, stock agotado ni un costo sorpresa. Shopify permite revisar eventos de pago dentro del checkout abandonado; esa evidencia puede indicar que primero necesitás soporte o una corrección técnica.

Si ofrecés un incentivo, definí margen, restricciones, vencimiento y grupo de comparación. Esta guía ayuda a decidir cuándo conviene ofrecer un descuento para recuperar un carrito sin entrenar a la gente a abandonar por sistema.

Probá el recorrido completo antes de activarlo

No alcanza con ver un mensaje de prueba. El sistema tiene que detectar, decidir, volver y detenerse bien.

Deslizá la tabla hacia los lados para ver todas las columnas.

Caso de pruebaResultado esperadoEvidencia a guardar
Visitante abandona antes de proporcionar contactoNo se programa WhatsAppMotivo de descarte sin datos personales
Checkout tiene teléfono pero no opt-inNo se envíaConsentimiento ausente
Persona marca opt-in pero abandona antes de enviar el checkoutEl comportamiento coincide con la configuración realEstado final del consentimiento en Shopify
Checkout elegible sigue incompletoSe programa un solo pasoID, regla, plantilla y hora
Cliente compra durante la esperaSe cancela la colaOrden vinculada y motivo de supresión
Shopify repite o desordena webhooksNo se duplica el mensajeID de entrega e idempotencia
Enlace abre en incógnito y móvilSe retoma el checkout correctoProductos, total, moneda y destino
Cambia stock, precio o envíoSe recalcula o se frenaRegla aplicada y estado final
Cliente responde o pide bajaSe detiene toda la secuenciaSupresión propagada
Integración pierde un eventoLa reconciliación corrige el estadoÚltima consulta y diferencia resuelta

Repetí la prueba con cliente nuevo y recurrente, Shop Pay u otros pagos acelerados, distintos mercados, moneda, idioma, productos físicos y recorridos sin envío. La etiqueta “compatible con Shopify” no prueba todas esas combinaciones.

Medí el embudo elegible, no todos los carritos

Separá al menos:

  1. sesiones que agregaron productos;
  2. checkouts que Shopify registró como abandonados;
  3. casos con teléfono disponible;
  4. casos con permiso válido para WhatsApp;
  5. casos todavía elegibles al momento del envío;
  6. mensajes enviados y entregados;
  7. clics en la URL de recuperación;
  8. checkouts recuperados;
  9. compras incrementales frente a un grupo comparable;
  10. margen después de descuentos y costos del canal;
  11. bajas, bloqueos, fallos y respuestas negativas.

No dividas compras recuperadas por todos los carritos si buena parte nunca tuvo contacto o permiso. Tampoco cuentes cada compra posterior como causada por el mensaje: Shopify considera recuperado el checkout si el cliente termina la compra, incluso si volvió por su cuenta.

Para ordenar la base, empezá por calcular la tasa de abandono de carrito. Después medí la elegibilidad específica del flujo.

Checklist para Shopify y WhatsApp

Antes de activar la automatización, confirmá:

  • vemos checkouts reales en Pedidos > Checkouts abandonados;
  • distinguimos carrito anónimo, checkout abandonado y orden;
  • sabemos dónde se obtiene el teléfono en cada recorrido;
  • comprobamos cuándo Shopify guarda el opt-in de WhatsApp;
  • el permiso identifica empresa, canal y categoría de mensajes;
  • una app autorizada o backend accede solo a los datos necesarios;
  • usamos GraphQL Admin API en desarrollos nuevos;
  • la URL de recuperación funciona en incógnito y móvil;
  • la plantilla de WhatsApp está aprobada y coincide con el uso real;
  • la compra cancela todos los pasos pendientes;
  • las bajas se comparten entre Shopify, WhatsApp y otras herramientas;
  • los webhooks validan HMAC y deduplican entregas;
  • existe reconciliación para eventos perdidos;
  • probamos mercados, pagos, monedas y tipos de producto relevantes;
  • medimos elegibilidad, entrega, clic, compra, margen y rechazo;
  • no usamos un descuento para tapar checkout, precio, stock o envío.

Si tu tienda usa otra plataforma o estás comparando arquitecturas, revisá también cómo recuperar carritos de WooCommerce por WhatsApp. Los principios de permiso y detención se mantienen, pero los objetos, eventos y enlaces no son intercambiables.

Preguntas frecuentes

¿Shopify recupera carritos abandonados por WhatsApp de forma nativa?

La documentación oficial revisada describe recuperación nativa por email, el registro de checkouts abandonados y disparadores de Shopify Flow. Para enviar por WhatsApp necesitás una app compatible o una integración con la Plataforma de WhatsApp Business.

¿Alcanza con que el cliente escriba su teléfono en el checkout?

No. El teléfono es un dato de contacto; el permiso para mensajes de WhatsApp es otra cosa. Debe existir un consentimiento explícito que identifique el canal y la empresa, y la baja debe respetarse.

¿Shopify guarda el opt-in de WhatsApp si el cliente abandona?

Shopify indica que la preferencia de marketing por SMS o WhatsApp se guarda cuando el cliente envía el checkout. Por eso hay que probar el punto exacto de abandono: marcar una casilla y cerrar antes de enviar puede no dejar un consentimiento registrado.

¿Qué enlace conviene mandar?

La base correcta es abandonedCheckoutUrl, que permite retomar el checkout registrado. Probalo en incógnito y móvil, protegelo como enlace sensible y dejá de usarlo cuando el caso se complete.

¿Shopify Flow puede enviar el WhatsApp?

Flow puede detectar Customer abandons checkout y exponer datos de Customer y Abandonment. El envío externo depende de las acciones, el plan y las apps disponibles. Hay que verificar la configuración real; el disparador solo no equivale a una integración completa.

¿Cuándo conviene enviar el primer mensaje?

No existe una espera universal demostrada. El tiempo predeterminado de una automatización por email no se traslada automáticamente a WhatsApp. Probá una hipótesis según intención, horario, producto, capacidad de respuesta y coordinación con otros canales.

¿Un checkout recuperado prueba que WhatsApp causó la compra?

No. La persona pudo volver por email, por una pestaña abierta o por su cuenta. Para estimar el efecto incremental, compará contra un grupo elegible que no reciba el mensaje.

Recuperar no es perseguir

Shopify ya aporta una base útil: identifica checkouts incompletos, conserva una URL de retorno y permite observar cuándo se recuperan. El valor de la integración está en usar esa base con criterio: contactar solo a quien corresponde, devolverlo a una compra posible y detenerse a tiempo.

Si querés revisar qué checkouts de Shopify pueden convertirse en un seguimiento medible y responsable, conocé cómo funciona Hola Perdido.

Fuentes consultadas

¿Listo para recuperar carritos?

Empezá a recuperar carritos automáticamente con Hola Perdido.