En el e-commerce mexicano hay un "santo grial" de integraciones que crece cada año: Shopify (tienda) + HubSpot (CRM) + WhatsApp Business (comunicación), todo sincronizado en tiempo real. No es ciencia ficción. Es lo que hacen hoy empresas como Palacio de Hierro Online, Oka, y startups de ropa en CDMX facturando $500k+ MXN al mes.
El beneficio es brutal: tasa de apertura de WhatsApp 98%, abandono de carrito recuperado en 4 horas, clientes dormidos despertados, seguimiento de pedidos 24/7 automático. Todo sin que una persona dedique 30 horas a la semana a responder mensajes.
Este tutorial te guía paso a paso. No es complicado, pero hay 6 puntos donde casi todos se equivocan. Los cubrimos aquí.
Por qué este stack funciona (breve)
Shopify es donde pasa la transacción. HubSpot es donde vive el cliente (su historial, notas, tickets). WhatsApp es el canal donde responden (98% de apertura en LATAM, versus 15–20% de email).
Cuando un cliente abandona el carrito en Shopify, el sistema lo detecta, crea un contacto en HubSpot, y dispara un mensaje por WhatsApp en menos de 30 segundos. El cliente ve el mensaje, hace click, y completa la compra. Sin que toques nada.
Cuando compra, Shopify actualiza HubSpot. HubSpot desencadena un flujo que: 1. Envía confirmación de pedido por WhatsApp con link de tracking. 2. Agrega el cliente a una lista de "últimos 30 días" para retargeting. 3. Marca que no hay ticket abierto (para no molestarlo con promos mientras reclama).
Después, cada 90 días, un flujo automático dice: "este cliente no compra hace 90 días, mandemos un descuento" → mensaje por WhatsApp → cliente compra de nuevo.
Sin este stack, todo es manual. Con el stack, es automático.
Prerequisitos (debes tener esto antes de empezar)
- Shopify plan Basic+. ($29 USD/mes mínimo). Free plan no permite ciertas integraciones.
- HubSpot plan Starter+. ($20 USD/mes mínimo). Free plan no tiene workflows automáticos.
- WhatsApp Business API verificada. No la app de WhatsApp personal. Debes ir a facebook.com/business, crear un workspace, verificar tu negocio. Costo: $2k–5k MXN/mes según volumen conversaciones.
- Make o n8n (recomendamos Make para esto). Para conectar WhatsApp API ↔ HubSpot. Costo: $9–30 USD/mes.
- Un dominio de email de tu empresa. No usar @gmail. HubSpot funciona mejor, y WhatsApp confía más en dominios corporativos para verificación.
- Datos limpios en Shopify. Que los clientes estén asociados a un email o teléfono. Si no, la sincronización falla.
Tiempo estimado de setup: 3–4 semanas si ya tienes todo. Si no tienes WhatsApp Business API, suma 1–2 semanas de paperwork con tu BSP (Business Solutions Provider).
Paso 1: Conectar Shopify ↔ HubSpot (sincronización de clientes, productos, pedidos)
¿Por qué primero? Porque sin esto, HubSpot no sabe quiénes son tus clientes. Necesitamos que Shopify le diga a HubSpot cada vez que alguien se registra, compra, o abandona un carrito.
Cómo hacerlo:
- Ve a tu Shopify admin → Configuración → Aplicaciones (Apps).
- Busca "HubSpot" en la App Store. La versión oficial es de HubSpot mismo, con el logo azul. Instála.
- Te pedirá que inicies sesión en HubSpot. Usa tu cuenta de HubSpot Starter+.
- Autoriza que Shopify comparta: clientes, productos, pedidos, abandonos de carrito.
- En HubSpot, ve a Settings → Integraciones → Shopify y verifica que está conectado (debe decir "Connected").
- En Shopify, en la misma app, elige qué datos sincronizar:
- Clientes: nombre, email, teléfono, dirección.
- Productos: nombre, descripción, precio, imagen (para recomendaciones después).
- Pedidos: monto, fecha, estado (pagado/enviado/entregado).
- Abandonos de carrito: cliente, items que dejó, total.
- Guardá. La app comenzará a sincronizar. En 24 horas, tus últimos 12 meses de pedidos y clientes deberían estar en HubSpot.
Qué verificar después:
- Ve a HubSpot Contacts. Busca un cliente al azar que compró en Shopify. ¿Está ahí su email, teléfono, y última compra? Si sí, está funcionando.
- Ve a HubSpot Deals. Los pedidos de Shopify deberían estar importados como deals (oportunidades). Si están, bien.
Tiempo para este paso: 1 día.
Paso 2: Conectar WhatsApp API ↔ HubSpot (comunicación bidireccional)
¿Por qué aquí? Porque necesitamos que mensajes que llegan a WhatsApp se guarden en HubSpot (para que el equipo sepa que el cliente escribió), y que HubSpot pueda enviar mensajes por WhatsApp.
Las opciones:
- Opción A: Usar WhatHub (la mejor, y es mexicana). WhatHub es un conector específicamente diseñado para HubSpot + WhatsApp. Tiene app en Shopify, integración nativa con HubSpot, y lo mantienen mexicanos. Costo: $1,500–3,000 MXN/mes según volumen. (Sitio: whatshub.io — nota: verificar nombre exacto, es un startup de CDMX.)
- Opción B: Usar Make como pegamento. Si prefieres no pagar por WhatHub, puedes usar Make para hacer de intermediario. Make → obtiene mensajes de WhatsApp API → los guarda en HubSpot como notas/activities. Menos features que WhatHub (por ej no ve historial de chat en HubSpot), pero funciona y cuesta $18 USD/mes.
- Opción C: Build-your-own webhook. Si tu equipo técnico sabe de APIs, puedes crear un webhook propio que escuche mensajes de WhatsApp API y los escriba en HubSpot vía API. Costo: cero (solo tiempo de desarrollo).
Recomendamos Opción A (WhatHub). Pasos:
- Ve a WhatHub.io → crea cuenta → conecta tu WhatsApp Business API (usará tu número verificado).
- Conecta HubSpot (te pedirá token de API de HubSpot; en HubSpot, Account Settings → Integrations → API keys, copia una).
- En WhatHub, configura el mapeo:
- Clientes que escriben a WhatsApp → crear/actualizar contacto en HubSpot con el número.
- Los mensajes que envíes desde HubSpot → se envían vía WhatsApp API a ese número.
- Si un cliente responde en WhatsApp → la respuesta se guarda en HubSpot como "activity" o "note".
- Prueba: desde HubSpot, abre un contacto, y en el panel de comunicación (que WhatHub agrega), manda un mensaje de prueba por WhatsApp. Deberías recibir el mensaje en WhatsApp.
Tiempo para este paso: 2–3 días (incluye esperas de verificación de WhatsApp API).
Paso 3: Configurar el flujo de carrito abandonado (Shopify → HubSpot → WhatsApp en 30 segundos)
Caso de uso: Cliente entra a tu tienda, agrega $800 MXN en ropa al carrito, ve que hay envío a $150, se asusta, cierra y se va. En menos de 30 segundos, un mensaje llega: "Hola, vimos que dejaste algo en el carrito. Aquí va el link..." Tasa de recuperación: 15–25% de los abandonados vuelven a comprar.
Cómo armarlo:
- En HubSpot, ve a Workflows → crea uno nuevo.
- Trigger: "Checkout started" (Shopify event, que está importando vía la app) AND "Checkout NOT completed" en los últimos 60 minutos.
- Delay: 45 minutos (no el mande inmediatamente; espera a que el cliente vuelva a la tienda solo. Si vuelve en esos 45 min, el workflow se cancela automáticamente).
- Acción: "Enviar un email" O "Enviar un mensaje de WhatsApp" (via WhatHub).
- Asunto/Texto: "Hola {{first_name}}, vimos que dejaste {{product_name}} en tu carrito. Completa la compra acá: {{checkout_link}}"
- Personaliza con datos de Shopify (nombre del producto, total del carrito, descuento 10% si vuelve).
- En el mensaje, incluye un link que tiene un código de descuento único (Make + Shopify Discount API pueden automatizar esto). Ejemplo: "10% desc si completas ahora: tutienda.com?discount=VOLVISTE10"
- Guardá el workflow. Que esté ACTIVO.
Métrica a medir: De X checkouts abandonados al mes, cuántos se completaron después del mensaje. Baseline: 5% (sin sistema, algunos vuelven solos). Target: 18–22% (con el sistema).
Tiempo para este paso: 1 día.
Paso 4: Notificación de pedido completado (Shopify → WhatsApp en tiempo real)
Caso de uso: Cliente paga. Inmediatamente recibe un WhatsApp: "Pedido #12345 confirmado. Será enviado hoy. Tracking: [link]". Reduce el 60% de los emails preguntando "¿dónde está mi pedido?"
Cómo armarlo:
- En HubSpot, Workflows → nuevo.
- Trigger: "Order paid" (desde Shopify).
- Acción inmediata: Enviar WhatsApp.
- Texto: "Hola {{first_name}}, tu pedido #{{order_number}} por ${{total}} MXN fue confirmado. Lo enviaremos hoy. Tracking: {{shopify_order_link}}"
- Incluir: foto o emoji del producto principal del pedido (para que sea atractivo).
- Delay opcional: Cuando el pedido cambie a "Shipped" en Shopify, enviar otro WhatsApp: "Tu pedido está en camino. Tracking en tiempo real: {{tracking_link}}"
- Cuando llegue a "Delivered", enviar: "Tu pedido llegó. ¿Te gustó? Rate aquí [link a formulario de review en Shopify]."
Setup automático de tracking link: Make + Shopify API. Cuando un pedido se marca como "shipped", Make obtiene el número de tracking del carrier (FedEx, Estafeta, Correos) y construye el link de tracking. Esto lo puedes hacer con Make en 1 hora.
Tiempo para este paso: 1 día.
Paso 5: Reactivación de clientes dormidos (sin comprar hace 90+ días)
Caso de uso: Cliente compró ropa hace 5 meses. No ha vuelto. Un workflow detecta esto, y le manda: "Hola, hace 5 meses que no nos visitas. Tenemos descuento en tus categorías favoritas. 15% OFF: VUELVE15."
Cómo armarlo:
- En HubSpot, crea una lista inteligente (o "saved view"):
- Criterio: "Last purchase date is more than 90 days ago"
- AND "Contact has been to website in the last 30 days" (opcional: si NO ha visitado en 30 días, es realmente dormido).
- Workflows → nuevo.
- Trigger: "Enrolls in list → Clientes dormidos 90+ días".
- Delay: 0 (envía cuando entra en la lista).
- Acción: "Enviar WhatsApp".
- Texto: "Hola {{first_name}}, hace {{days_since_purchase}} días que no nos visitas. Tenemos {{favorite_category}} con 15% OFF. Código: VUELVE15. Link: {{shopify_store_link}}"
- Exclusión crítica: si el cliente tiene un ticket ABIERTO en HubSpot (significa que está reclamando), NO enviar promo. (Ver Paso 6 para ver cómo se hace esto.)
- Dormición: después de enviar, espera 60 días antes de volver a enviar al mismo cliente.
Tiempo para este paso: 1 día.
Paso 6: Respuestas automáticas de cliente (cliente escribe a WhatsApp → HubSpot ticket → respuesta)
Caso de uso: Cliente escribe a WhatsApp: "Hola, quiero cambiar mi pedido". El mensaje llega a HubSpot (vía WhatHub), crea un ticket automático, notifica a un agente, y responde automáticamente: "Hola, recibimos tu mensaje. Un agente te responderá en menos de 2 horas. Número de caso: #98765."
Cómo armarlo:
- En HubSpot, Workflows → nuevo.
- Trigger: "Message received from WhatsApp" (vía WhatHub, debería haber un trigger para esto).
- Acción 1: "Crear un ticket" con el contenido del mensaje.
- Acción 2: "Asignar ticket a" → un agente (puede ser round-robin, o basado en especialidad).
- Acción 3: "Enviar respuesta automática por WhatsApp": "Hola {{first_name}}, recibimos tu mensaje. Un agente te responderá en menos de 2 horas. Tu caso: #{{ticket_id}}. Gracias por tu paciencia."
- Acción 4: "Notificar al agente" vía email: "Nuevo ticket de {{customer_name}}: {{message_content}}"
Exclusión importante: Los tickets abiertos deben excluir al cliente de flujos de promo (ej: no enviar VUELVE15 si tiene ticket abierto). En HubSpot, en cualquier workflow de marketing, agrega el filtro: "Tickets: none open".
Tiempo para este paso: 1 día.
Los 3 errores que hemos visto siempre (y cómo evitarlos)
Error 1: Duplicados de contacto cuando el email del checkout no coincide con el teléfono del WhatsApp
Ejemplo: Cliente compra en Shopify con email "maria@mail.com", pero su WhatsApp es +52 55 1234 5678. El sistema crea un contacto con email, luego otro con teléfono. Ahora hay DOS registros del mismo cliente. Le mandas dos mensajes, le cobras doble en bases de datos, se arma lío.
Solución:
- En HubSpot, crea una regla de deduplicación: "Si email + nombre + apellido coinciden, mergear." Eso resuelve la mayoría.
- Mejor: en Shopify, pídele al cliente el teléfono TAMBIÉN en el checkout. Formulario: email + teléfono. De esa forma, el contacto en HubSpot nace con ambos. Cero ambigüedad.
- En WhatHub, configura que busque el contacto primero por teléfono, y si no existe, por email. Si existe uno u otro, actualiza — no crees uno nuevo.
Error 2: Enviar promociones a cliente que acaba de reclamar
Ejemplo: Cliente se queja de que recibió producto dañado. Abre un ticket. 5 minutos después, recibe un mensaje: "¡Compra ahora con 20% de descuento!". Cliente enojado, sale de tu lista, te deja un comentario negativo.
Solución:
- Toda regla de marketing (abandonos, dormidos, upsell) debe excluir: "AND (Tickets: none open OR Tickets: all closed)".
- Cuando se crea un ticket, agrega el contacto a una lista "En reclamo — excluir marketing". Workflows de marketing verifican: "NOT in list 'En reclamo'".
- Después de 24 horas que el ticket se cierra, automáticamente se quita de la lista "En reclamo".
Error 3: Enviar mensajes a las 11 pm viernes (cliente enojado el lunes)
Ejemplo: Tu workflow de "carrito abandonado" corre a las 11 pm de un viernes, y le manda un mensaje al cliente. Cliente está durmiendo, despierta molesto, reporta como spam.
Solución:
- En HubSpot, en Settings → Account Defaults, establece la ZONA HORARIA de tu negocio (CDMX, Guadalajara, Monterrey, lo que sea).
- En cada workflow, en la sección de Timing, activa "Smart send" o "Send during business hours". Esto automáticamente envía dentro de 9–18h del lunes-viernes, en zona horaria del cliente.
- Alternativa: crea un delay que garantice que el mensaje se envía entre 9–13h del día siguiente (no al mismo día a la noche).
- Prueba: manda un mensaje de prueba a ti mismo un viernes a las 23:59. Verifica a qué hora llega (debería ser el lunes a la mañana).
Paso a paso: cómo armar el primer workflow en 2 horas (carrito abandonado)
Verifica que Shopify ↔ HubSpot está sincronizado
En HubSpot Contacts, busca a uno de tus últimos clientes. ¿Está su email, teléfono, última compra? Si sí, listo. Si no, espera 24h y reintenta.
Crea el trigger en HubSpot Workflows
Workflows → New → "Trigger: Enrollment Trigger" → "Checkout Started" AND "No Order Placed" (en último checkout). Guarda.
Agrega el delay y la acción
Agrega un "Delay" de 45 minutos. Luego, "Enviar mensaje WhatsApp" con el template: "Hola {{first_name}}, dejaste {{product_name}} en el carrito. Link: {{checkout_link}}"
Testea y activa
Abre un navegador incógnito, ve a tu tienda Shopify, agrega algo al carrito, NO compres. Espera 45 min. ¿Llegó el WhatsApp? Si sí, el workflow está vivo. Activa.
Mide y optimiza
En HubSpot Workflows, ve el reporte. ¿Cuántos checkouts detectó? ¿Cuántos completaron después del mensaje? Ajusta el texto si la tasa es <10%.
Costos totales (actualizado México 2026)
- Shopify Basic: $29 USD/mes (~$500 MXN).
- HubSpot Starter: $20 USD/mes (~$350 MXN).
- WhatsApp Business API: $500–3,000 MXN/mes (según volumen de conversaciones; estimá $2k para 2,000 conversaciones/mes).
- WhatHub (conector oficial HubSpot-WhatsApp): $1,500–3,000 MXN/mes.
- Make (para setup adicional, tracking links, etc): $18 USD/mes (~$300 MXN) (opcional si WhatHub es suficiente).
Total mensual: $2,500–4,000 MXN. (Si usas WhatHub como conector. Si usas Make en lugar de WhatHub, baja a $2,500–3,000 MXN, pero con menos features integradas.)
ROI típico: Con carrito abandonado recuperando 15–20% de abandonautos, tasa de conversión de promo 2–3%, y ticket promedio $300–800 MXN, recuperas la inversión en 30–60 días.
Comparar con alternativa manual: Una persona de tiempo completo responsable de responder WhatsApp (sin automation) cuesta $25,000–35,000 MXN/mes + fallará en 40% de los casos (se pierde mensaje, se duerme, etc). Este stack cuesta menos, es 24/7, y hace 3 cosas a la vez que esa persona no puede.
Siguientes pasos después de activar
- Semana 1–2: Solo carrito abandonado está activo. Mide tasa de recuperación diaria.
- Semana 3: Activa "Notificación de pedido" (cuando cliente compra, le llega el WhatsApp).
- Semana 4–5: Activa "Respuestas automáticas" (cliente escribe, crea ticket automático).
- Semana 6+: Activa "Reactivación de dormidos", "Upsell post-compra", "Reviews automáticas".
No activar todo de golpe. Activar uno por una. Medir. Ajustar. Expandir. Es la forma de no arruinarlo.
¿Quieres aplicar esto en tu empresa?
Te hacemos un diagnóstico gratuito de 30 minutos. Si no tiene sentido aplicarlo, te lo decimos.
Agendar diagnóstico →