Inicio / Guías / Cómo integrar Shopify con Klaviyo: configuración y flujos imprescindibles

Cómo integrar Shopify con Klaviyo: app, eventos clave y flujos esenciales

4,6 · 17 valoraciones
· Actualizado el 30 de julio de 2025

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.

Cómo integrar Shopify con Klaviyo: configuración y flujos imprescindibles

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.com o similar).
  • Registros DNS preparados: configurar SPF, firma DKIM y política DMARC en p=none como mínimo.

Instalación de la app oficial

  1. Desde el panel de Shopify, ve a Apps → Buscar en la Shopify App Store → “Klaviyo”.
  2. Instala la app Klaviyo: Email Marketing & SMS.
  3. Acepta los permisos requeridos: lectura de clientes, pedidos, productos, eventos del checkout, scripts del storefront y descuentos.
  4. Klaviyo creará automáticamente la cuenta o te pedirá iniciar sesión si ya existe.
  5. 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

Crea las listas básicas:

  • Newsletter Shopify con doble opt-in obligatorio.
  • Customers Shopify (poblada automáticamente por la sync, no para opt-in marketing salvo que lo declaren).
  • SMS Shopify si 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 KlaviyoOrigen Shopify
Active on SiteWeb pixel
Viewed ProductWeb pixel + endpoint server-side
Added to CartWeb pixel
Started CheckoutWebhook checkouts/create
Placed OrderWebhook orders/create (estado paid o pending)
Ordered ProductPor línea de pedido
Fulfilled OrderWebhook orders/fulfilled
Cancelled OrderWebhook orders/cancelled
Refunded OrderWebhook refunds/create
Subscribed to Back in StockApp 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:

  1. Welcome Series. Trigger: nuevo perfil suscrito a Newsletter Shopify. 3 emails: bienvenida con cupón, marca/historia, top productos.
  2. Abandoned Cart. Trigger: Started Checkout sin Placed Order en 1h. Filtros: precio mínimo del carrito, no incluir clientes con compra reciente. 3 emails: 1h, 24h, 72h.
  3. Browse Abandonment. Trigger: Viewed Product repetido sin add to cart. Un único email con producto y similares.
  4. 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).
  5. Winback. Trigger: Date of Last Order mayor 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:

  1. 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 Order y los items correctos.
  2. Catálogo. Klaviyo → Catalogs → Products debe mostrar el mismo número de productos que Shopify (publicados).
  3. 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_origin y muéstralo en bloques con un script intermediario.
  • Para clientes B2B, mete pricing_tier como 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:

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.

Preguntas frecuentes

¿Cuánto tarda la sincronización inicial entre Shopify y Klaviyo?
Para tiendas con histórico medio, entre 30 minutos y varias horas. Klaviyo importa primero clientes y pedidos y luego los eventos de comportamiento si hay snippet.
¿Se puede usar Klaviyo sin pixel en el theme?
Funcionalmente sí, pero pierdes Active on Site, Viewed Product y Browse Abandonment. La app instala el snippet automáticamente, pero conviene verificarlo en el theme code.
¿Klaviyo sustituye a las transaccionales de Shopify?
Solo si decides moverlas. Por defecto Shopify mantiene las transaccionales (orden, envío) en su infraestructura y Klaviyo las puede sustituir migrando templates con cuidado.
¿Por qué algunos perfiles aparecen como anónimos?
Cuando un visitante navega sin haber identificado su email, Klaviyo crea un perfil anónimo. Al completar formulario o checkout se fusiona con el perfil identificado.
¿Cómo autentico el dominio en Klaviyo desde Shopify?
El proceso es independiente de Shopify. En Klaviyo > Account > Domains and Hosting publica los CNAMEs DKIM y Return-Path en el DNS de tu dominio y verifica.
¿Klaviyo soporta Shopify Markets multi-divisa?
Sí, los eventos llevan moneda y precio en la divisa del checkout. Configura formatos por país en los flujos para evitar mostrar precios en USD a clientes europeos.
¿Puedo conectar varias tiendas Shopify a una cuenta Klaviyo?
Klaviyo recomienda una cuenta por tienda. Compartir cuenta entre tiendas distintas mezcla métricas y dificulta segmentación. Si son tiendas hermanas, usa una cuenta padre con acceso para todas.