Cómo integrar Shopify con Klaviyo: app, eventos clave y flujos esenciales
Guía paso a paso para conectar Shopify con Klaviyo: instalación de la app, sincronización de eventos, flujos de bienvenida y abandono, errores comunes y verificación SPF/DKIM.
Klaviyo nació como herramienta para Shopify y la integración entre ambos es la más madura del ecosistema. Conectarlas es cuestión de minutos, pero exprimir bien la sincronización requiere entender qué eventos se mapean automáticamente, qué campos se pierden si no se configuran y cómo evitar los problemas típicos que aparecen cuando la tienda crece. Esta guía cubre el flujo completo desde la app store hasta la verificación de entregabilidad.
Para qué sirve la integración Shopify ↔ Klaviyo
Una vez conectadas, Klaviyo dispone de:
- Histórico completo de pedidos, clientes y productos de los últimos 12 meses (o más si lo configuras manualmente).
- Tracking en tiempo real de visitas, vistas de producto, adiciones al carrito y checkouts vía web pixel y webhooks.
- Catálogo sincronizado para usar imágenes y precios actualizados en bloques de producto dinámicos.
- Identificación cross-device mediante el cookie de Klaviyo y la información del checkout.
Esto habilita flujos de carrito abandonado, navegación abandonada, post-compra, winback y campañas segmentadas por valor de cliente, frecuencia y categoría.
Requisitos previos
- Tienda Shopify activa en cualquier plan (incluido Basic).
- Cuenta de Klaviyo. El plan gratuito permite hasta 250 contactos.
- Permisos de propietario o staff con acceso a Apps en Shopify.
- Dominio de envío propio configurado en Klaviyo (
mail.tutienda.como similar). - Registros DNS preparados: configurar SPF, firma DKIM y política DMARC en
p=nonecomo mínimo.
Instalación de la app oficial
- Desde el panel de Shopify, ve a Apps → Buscar en la Shopify App Store → “Klaviyo”.
- Instala la app Klaviyo: Email Marketing & SMS.
- Acepta los permisos requeridos: lectura de clientes, pedidos, productos, eventos del checkout, scripts del storefront y descuentos.
- Klaviyo creará automáticamente la cuenta o te pedirá iniciar sesión si ya existe.
- Selecciona la opción de importar histórico (recomendado: 12 meses).
Tras la instalación, Klaviyo lanza dos procesos:
- Sync inicial de clientes, pedidos y productos. Tiempo: 30 min - varias horas.
- Inyección del web pixel en el storefront. Inmediato si usas Online Store 2.0.
Verificación del web pixel
Visita la home de la tienda con DevTools abierto. En la pestaña Network filtra por klaviyo. Deberías ver peticiones a static-tracking.klaviyo.com y, al hacer scroll por una ficha de producto, una llamada con el evento Viewed Product.
Si no aparece, ve a Klaviyo → Settings → Other → Web Tracking y reactiva manualmente la opción Active on Site for Shopify.
Configuración mínima recomendada
Listas y consent
Crea las listas básicas:
Newsletter Shopifycon doble opt-in obligatorio.Customers Shopify(poblada automáticamente por la sync, no para opt-in marketing salvo que lo declaren).SMS Shopifysi vas a usar el canal.
En Shopify, ve a Settings → Customer accounts → Marketing y revisa que la casilla “Email subscription” del checkout es opt-in (sin marcar por defecto). RGPD lo exige.
Mapeo de identificadores
Klaviyo utiliza email como clave principal y, para perfiles anónimos, su cookie __kla_id. Cuando un visitante introduce su email en el checkout, Klaviyo une el perfil anónimo con el identificado. Para que ese match funcione bien:
- Asegúrate de que
Klaviyo.identify()se llame al introducir el email en cualquier formulario, no solo en el checkout. - Si usas un theme custom, añade en
theme.liquid:
{% if customer %}
<script>
window._learnq = window._learnq || [];
_learnq.push(['identify', {
'$email': '{{ customer.email }}',
'$first_name': '{{ customer.first_name }}',
'$last_name': '{{ customer.last_name }}'
}]);
</script>
{% endif %}
Idioma y zona horaria
En Klaviyo, ajusta el idioma de la cuenta a Spanish y la zona horaria a Europe/Madrid (o la que aplique). Los flujos respetan la zona horaria del perfil cuando existe; si no, usa la de la cuenta.
Eventos típicos a sincronizar
Por defecto, la integración mapea:
| Evento Klaviyo | Origen Shopify |
|---|---|
Active on Site | Web pixel |
Viewed Product | Web pixel + endpoint server-side |
Added to Cart | Web pixel |
Started Checkout | Webhook checkouts/create |
Placed Order | Webhook orders/create (estado paid o pending) |
Ordered Product | Por línea de pedido |
Fulfilled Order | Webhook orders/fulfilled |
Cancelled Order | Webhook orders/cancelled |
Refunded Order | Webhook refunds/create |
Subscribed to Back in Stock | App de Klaviyo de avisos |
Para eventos personalizados (suscripción a un quiz, registro a un evento offline, descarga de PDF) usa la API o _learnq desde el frontend:
window._learnq = window._learnq || [];
_learnq.push(['track', 'Solicitó Cita', {
TipoServicio: 'Asesoría',
Valor: 0,
}]);
Flujos esenciales que activar
Antes de cualquier campaña masiva, monta como mínimo estos cinco flujos:
- Welcome Series. Trigger: nuevo perfil suscrito a
Newsletter Shopify. 3 emails: bienvenida con cupón, marca/historia, top productos. - Abandoned Cart. Trigger:
Started CheckoutsinPlaced Orderen 1h. Filtros: precio mínimo del carrito, no incluir clientes con compra reciente. 3 emails: 1h, 24h, 72h. - Browse Abandonment. Trigger:
Viewed Productrepetido sin add to cart. Un único email con producto y similares. - Post-purchase. Trigger:
Placed Order. Email 1 inmediato (gracias + instrucciones), email 2 a los 7 días (cross-sell), email 3 a los 21 días (review request). - Winback. Trigger:
Date of Last Ordermayor a 90 días. Cupón gradual: 10 % primero, 15 % en segundo email si no compra.
Para tiendas con suscripción o reposición (cosmética, suplementos), añade un sexto: Replenishment, calculado a partir del tipo de producto y la fecha media de reorden.
Cupones únicos
Klaviyo puede emitir códigos únicos llamando a la API de Shopify:
{% coupon_code 'WELCOME10' %}
Crea primero el price rule en Shopify y vincúlalo en Klaviyo → Coupons → Add coupon code → Shopify. Esto evita que un mismo cupón circule en redes sociales.
Errores comunes y soluciones
”El web pixel no carga en mi theme”
Algunos themes vintage (Online Store 1.0) no soportan inyección automática. Solución: añade manualmente el snippet klaviyo.js en theme.liquid antes de </head>:
<script async type="text/javascript"
src="https://static.klaviyo.com/onsite/js/{{ 'PUBLIC_API_KEY' }}/klaviyo.js?company_id=PUBLIC_API_KEY"></script>
“El histórico de pedidos no llega completo”
Por defecto, la integración importa solo los últimos 12 meses. Para más histórico, contacta con soporte de Klaviyo o exporta CSV desde Shopify e importa por API. No importes con CSV emails que no opt-in: contaminarías las métricas.
”Eventos duplicados de Placed Order”
Si tienes una app paralela (Recart, Privy) que también dispara webhooks, puedes acabar con eventos duplicados. Auditoría: Shopify → Settings → Notifications → Webhooks. Solo Klaviyo debería estar enviando orders/create a su endpoint.
”Customer match falla con clientes guest”
Shopify guarda los pedidos guest sin enlazarlos a un Customer ID. Klaviyo une por email, pero si el guest usa un email distinto en cada compra, generas perfiles distintos. No hay solución limpia: documéntalo y educa al equipo de atención al cliente para hacer merge manual cuando detecten duplicados.
”Imágenes rotas en bloques de producto”
Causas:
- El producto está como Draft en Shopify; Klaviyo lo lista pero la imagen no es pública.
- Has movido el CDN o cambiado el dominio principal y las URLs en caché de Klaviyo siguen apuntando al antiguo. Solución: Klaviyo → Catalogs → Sync now.
Verificación: ¿todo está conectado?
Pasos de smoke test:
- Compra de prueba. Haz un pedido con tu email. En Klaviyo → Profiles, debería existir tu perfil con eventos
Active on Site,Started Checkout,Placed Ordery los items correctos. - Catálogo. Klaviyo → Catalogs → Products debe mostrar el mismo número de productos que Shopify (publicados).
- Email de prueba. Envía una campaña a un segmento de prueba que solo te incluya a ti. Cabeceras esperadas:
Authentication-Results: mx.google.com;
dkim=pass [email protected] header.s=klaviyo
spf=pass smtp.mailfrom=bounce.tutienda.com
dmarc=pass header.from=tutienda.com
Si DKIM no aparece o falla, el dominio no está autenticado correctamente. Klaviyo → Settings → Domains → Verify domain.
Implicaciones de entregabilidad
Shopify+Klaviyo es uno de los pares mejor afinados, pero no exime de buenas prácticas:
- Configura un subdominio de envío (
mail.tutienda.com) y autentícalo. No envíes desde el dominio raíz para no contaminar la reputación del correo corporativo. - Si arrancas con base nueva, warming progresivo: empieza con engagement segments (compradores recientes), evita campañas masivas a listas viejas en las primeras dos semanas.
- Activa List-Unsubscribe one-click; Klaviyo lo añade por defecto si el dominio está bien configurado.
- Monitoriza bounces SMTP en Klaviyo → Analytics → Deliverability. Bounce rate sostenido > 3 % es señal de lista sucia.
- Si tu tienda envía mucho a Gmail, revisa la guía sobre evitar spam en Gmail y vigila la tasa de quejas en Postmaster Tools.
Personalización avanzada con metafields
Shopify permite definir metafields a productos, clientes y pedidos. Klaviyo no los importa automáticamente, pero puedes empujarlos:
- En el producto, añade un metafield
country_of_originy muéstralo en bloques con un script intermediario. - Para clientes B2B, mete
pricing_tiercomo metafield y úsalo como filtro de segmentación vía API:
curl -X POST https://a.klaviyo.com/api/profile-import/ \
-H "Authorization: Klaviyo-API-Key pk_xxxxx" \
-H "Content-Type: application/json" \
-H "revision: 2024-10-15" \
-d '{
"data": {
"type": "profile",
"attributes": {
"email": "[email protected]",
"properties": { "pricing_tier": "wholesale" }
}
}
}'
Cuándo Klaviyo no es la respuesta
Klaviyo es excelente para retail con SKUs estandarizados. Plantéate alternativas si:
- Tu modelo es B2B con cuentas y aprobaciones (HubSpot encaja mejor; ver integrar WooCommerce con HubSpot).
- Necesitas integración fuerte con CRM corporativo y forecasting (Salesforce Marketing Cloud, Marketo).
- Tienes presupuesto cero a cero y baja escala: Brevo o Mailchimp resuelven más barato (ver integrar Shopify con Brevo).
Recursos relacionados
Si quieres profundizar, prueba estas herramientas gratuitas: Domain Health, mail tester, validador SPF y validador DMARC.
¿Necesitas que alguien lleve tu canal de email entero? Abalola Mail es la agencia de email marketing para ecommerce de Abalola para ecommerce: estrategia, producción y operación del stack sobre Klaviyo, Mailchimp o Brevo.