Cómo integrar con OpenCart
Qué aprenderás
Aprende a integrar OpenCart con Klaviyo. Después de completar estos pasos, podrás personalizar y dirigir los emails en función de la compra y la actividad en el sitio web de cada cliente. La integración de OpenCart se sincroniza cada hora.
Antes de empezar
Ten en cuenta que Klaviyo no sincroniza tu catálogo desde OpenCart.
Añade la integración de OpenCart
El proceso para añadir la integración de OpenCart con Klaviyo consta de varios pasos y requiere realizar acciones tanto en OpenCart como en Klaviyo.
Para empezar, actualmente Klaviyo es compatible con OpenCart 1.4.x y 1.5.x. Descarga el módulo de Klaviyo para OpenCart aquí: https://www.klaviyo.com/media/downloads/OpenCartKlaviyo-1.1.0.tgz.
- Extrae el archivo en la carpeta raíz de la instalación de OpenCart.
- Inicia sesión en la sección de administrador de OpenCart y ve a la página Extensiones > Módulos.
- Instala el módulo de Klaviyo y, a continuación, haz clic en Editar para el módulo de Klaviyo.
- Copia y pega el siguiente código PHP al final de
upload/index.php, justo antes de la línea$response->getOutput();:
// [Klaviyo] Save customer cart if it exists.
if ($registry->get('cart')->hasProducts()) {
$registry->get('load')->model('module/klaviyo');
if ($registry->get('customer')->isLogged()) {
$registry->get('model_module_klaviyo')->saveCustomerCart(
session_id(),
$registry->get('customer')->getId(),
$session->data['cart']
);
} else if (array_key_exists('guest', $session->data)) {
$registry->get('model_module_klaviyo')->saveGuestCart(
session_id(),
$session->data['guest'],
$session->data['cart']
);
}
}- En Klaviyo, selecciona la pestaña Integraciones.
- Haz clic en Explorar aplicaciones y busca OpenCart; a continuación, haz clic en la tarjeta. A continuación, haz clic en Instalar.
- Introduce la URL de tu sitio de OpenCart en URL de la tienda y, a continuación, haz clic en Conectar a OpenCart.

- En la página siguiente, copia la clave de API que aparece debajo de módulo OpenCart de Klaviyo y pégala en los ajustes del módulo Klaviyo en OpenCart. Guarda los ajustes del módulo Klaviyo en el administrador de OpenCart. Guarda una copia de esta clave de forma segura antes de completar la configuración; Klaviyo no la volverá a mostrar después.

- En Klaviyo, selecciona Añadir nuevos clientes de OpenCart a una lista de Klaviyo y elige una lista si quieres añadir a los clientes que dieron su consentimiento para recibir el boletín de OpenCart cuando se sincronicen los datos de su pedido. Esta configuración no los suscribirá a mensajes de marketing en Klaviyo. Si no quieres añadir clientes a una lista, desmarca la casilla.
- En Klaviyo, haz clic en Completar configuración para empezar a sincronizar datos.
Instala el seguimiento en el sitio de Klaviyo
Para realizar el seguimiento de la actividad en el sitio en OpenCart, primero encuentra tu clave de API pública de Klaviyo haciendo clic en el nombre de tu cuenta en la esquina inferior izquierda y yendo a Configuración > Claves de API. Copia la clave en Clave de API pública/ID del sitio. Tu clave pública tiene 6 caracteres y es distinta de la clave del módulo de OpenCart que se utilizó arriba. Hay 2 tipos de seguimiento en el sitio que puedes instalar:
- Activo en el sitio
Se hace un seguimiento de esta métrica cada vez que un navegador identificable visita tu sitio web - Producto visto
Esta métrica se registra cada vez que un navegador identificable visualiza una página de producto en tu sitio web
Añadir seguimiento de "Active on Site"
Esta métrica se registra cada vez que un navegador identificable visita tu sitio web. Para empezar a hacer seguimiento de la actividad de Activo en el sitio:
- Añade el siguiente fragmento de código a la plantilla principal de tu tienda para incluirlo en todas las páginas. Debes colocar este fragmento junto con otros scripts de analítica que uses o justo antes de la etiqueta </body> de cierre:
<script type="text/javascript" async="" src="https://static.klaviyo.com/onsite/js/PUBLIC_API_KEY/klaviyo.js"></script>
<script type="text/javascript">
//Initialize Klaviyo object on page load
!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}(); </script>- Asegúrate de sustituir
PUBLIC_API_KEYpor la clave de API pública de tu cuenta de Klaviyo. - Si los visitantes o clientes pueden crear cuentas para tu tienda, adapta el siguiente ejemplo al lenguaje de plantilla de OpenCart y luego añádelo directamente debajo del primer fragmento de código. Sustituye los campos de cliente de ejemplo por los datos del cliente que haya iniciado sesión en tu tienda antes de publicar:
<script type="text/javascript">
var klaviyo = window.klaviyo || [];
{% if user.is_logged_in %}
klaviyo.identify({
$email: '{{ user.email }}',
$first_name: '{{ user.first_name }}',
$last_name: '{{ user.last_name }}'
});
{% endif %}
</script>- En función de los tipos de plantillas que uses para tu sitio web, la sintaxis de {% if user.is_logged_in %} y {{ user.email }} probablemente sea diferente. Con el lenguaje de plantillas disponible, querrás comprobar si la persona que está viendo la página actual ha iniciado sesión. Si es así, deberías mostrar su email y su nombre, si están disponibles. Si no tienes información del nombre, elimina esas dos líneas y la coma final después de la línea de email $email. Escapa los valores de email y nombre para JavaScript para que las comillas no rompan el fragmento de código.
Añadir el seguimiento de «Producto Visto»
Si quieres configurar un flujo de abandono de navegación o crear segmentos basados en datos de navegación de productos, te convendrá añadir el seguimiento de eventos de JavaScript para una métrica «Producto visto».
- En la plantilla de la página de producto, añade el siguiente ejemplo después del fragmento principal de seguimiento en el sitio y su código de inicialización. Adapta los marcadores de posición al lenguaje de la plantilla de OpenCart antes de publicarla:
<script type="text/javascript">
var klaviyo = window.klaviyo || [];
klaviyo.track("Viewed Product", {
Title: '{{ product.title }}',
ItemId: {{ product.id }},
Categories: {{ category in product.categories|json }}, // The list of categories is an array of strings.
ImageUrl: '{{ product.image_url }}',
Url: '{{ product.url }}',
Metadata: {
Brand: '{{ product.brand }}',
Price: {{ product.price }},
CompareAtPrice: {{ product.compare_at_price }} // If you have a compare at price. You could also include this for a sale or special price.
}
});
</script>- El fragmento anterior utiliza marcadores de posición
{{ }}de ejemplo. Sustitúyelos por valores renderizados dinámicamente para el producto que se está viendo, usando el lenguaje de plantilla de OpenCart. Representa las categorías como una matriz de cadenas y los precios como números, y escapa los valores de texto para JavaScript para que los nombres que contengan comillas no rompan el fragmento. Elimina el campo de precio de comparación si la tienda no lo usa. - Después de configurar el seguimiento de Viewed Product para tu sitio, los datos de Viewed Product deberían empezar a aparecer en tu cuenta de Klaviyo a medida que los visitantes conocidos naveguen por las páginas de tus productos.
Cómo funciona el seguimiento en el sitio
Klaviyo asocia la actividad en el sitio con un perfil una vez que se identifica el navegador del visitante. No se requiere una visita previa. La tienda puede identificar a un visitante de las siguientes maneras:
- Cuando una persona, en un momento determinado, hace clic en un enlace dentro de un Klaviyo Email con dirección a tu sitio web
- Cuando una persona, en un momento determinado, se suscribe o registra mediante un formulario de Klaviyo
- Si alguien inicia sesión en la tienda y el fragmento de identificación anterior envía su información de cliente a Klaviyo
Si la recarga anónima está habilitada, Klaviyo puede almacenar la actividad en el sitio en el navegador del visitante antes de que se identifique y añadirla a su perfil después. Obtén más información sobre el relleno de actividad de visitantes anónimos.
Supervisa la sincronización de Klaviyo
El tiempo que se tarda en sincronizar los datos históricos de clientes y pedidos de la tienda OpenCart depende del tamaño de la tienda. Para comprobar el progreso, abre integraciones y selecciona OpenCart; después, abre la pestaña Datos. La sección histórico de datos muestra el progreso de sincronización y confirma cuándo se completa la sincronización histórica.
Para comprobar tus integraciones:
- Ve a Analytics > Métricas y filtra por OpenCart. Abre Placed Order y selecciona la pestaña Activity feed. Si tu integración ha comenzado a sincronizar datos, empezarás a ver cómo los eventos de Placed Order se rellenan aquí.
- Klaviyo importa automáticamente los pedidos históricos con direcciones de email de clientes válidas y los estados de pedido que se indican a continuación. Cuando finalice la sincronización histórica, compara la cantidad de eventos Placed Order en un día determinado con los pedidos correspondientes en OpenCart.
- Por ejemplo, abre la pestaña Gráfico para Pedido realizado, elige Diario y Total, y selecciona un intervalo de fechas que incluya ayer. Pasa el cursor por encima del punto de datos de ayer o consulta la tabla debajo del gráfico para ver cuántos pedidos se han notificado.
- Compara ese recuento con los pedidos de OpenCart del mismo día que cumplan los requisitos de email y de estado anteriores. Si los recuentos difieren, comprueba que la sincronización haya finalizado y que ambas vistas usen la misma zona horaria.
- Para comprobar o actualizar la zona horaria de tu cuenta, sigue estos pasos:
- Haz clic en el nombre de tu cuenta en la esquina inferior izquierda.
- Selecciona Ajustes.
- Ve a la pestaña Account y busca Time zone.
- Si es necesario, selecciona la zona horaria correcta y haz clic en Guardar.
Datos sincronizados desde OpenCart
- Datos de ventas y pedidos
Qué productos se compraron, incluidos los detalles del producto y las imágenes. - Información del cliente
Dirección de Email, nombre, apellidos, número de teléfono, grupo de clientes, tienda de OpenCart e información de suscripción al boletín informativo. - Datos de inicio de pago
Se utiliza para activar emails de carrito abandonado. Esto requiere el fragmento de código PHP que añadiste al integrarlo y un carrito asociado a un cliente con sesión iniciada o los detalles de pago como invitado que contengan una dirección de email válida. - Datos de pedidos completados
Se usa para hacer un seguimiento de cuándo se envían los pedidos. - Seguimiento en el sitio
Actividad de sitio activo y producto visto recopilada por los fragmentos de JavaScript que instalas por separado. Estos eventos son independientes de la sincronización de pedidos y del proceso de pago de OpenCart.
Para ver las métricas de OpenCart, ve a Analítica > Métricas en Klaviyo, donde puedes filtrar por OpenCart.

De forma predeterminada, Klaviyo sincroniza los siguientes estados para las métricas Placed Order y Fulfilled Order:
- Pedido realizado: Pendiente, Tramitado, En proceso, Enviado, Completado
- Pedido gestionado: Enviado, completado
Recursos adicionales
- Con qué frecuencia se sincronizan las integraciones: referencia
Descubre qué datos se sincronizan desde una integración de Klaviyo concreta y con qué frecuencia se ejecuta la sincronización. Hemos organizado estas integraciones por plataformas de comercio electrónico, ESP y otras integraciones de datos.
- Klaviyo's Agency Partners