Enlace a facebook.
digitalDot diseño webLogo Diseño Web digitalDot

Google Analytics para OpenCart

Google Analytics para Opencart. digitalDot
Escrito por Digitaldot
14 de noviembre de 2017
Tiempo de lectura 6 min

En digitalDot nos encargamos del SEO y posicionamiento de Ecommerce en Prestashop, Magento, Woocomerce u OpenCart y podemos aseguraros que las ventajas de Google Analytics y la información que aporta sobre una tienda online son innumerables y necesitaríamos varios artículos para poder contarlas y detallarlas visualmente todas ellas.

La mayoría de las plataformas ya cuentan con el módulo de Google Analytics en versión universal que permite incluir las ventas y los orígenes de sus conversiones.
Sin duda, recopilar estos datos, es de vital importancia porque nos permitirá conocer qué campañas de SEM son de mayor rentabilidad o qué tipo de público se interesa más por nuestros productos, o incluso qué red social tiene más beneficios para poder centrar los esfuerzos en ella, como veréis es de gran potencial para tomar decisiones importantes.

Por ello, pongámonos manos a la obra para configurar correctamente Google Analytics en nuestra tienda online con OpenCart, para permitir hacer Tracking de pedidos.

Configuración de Google Analytics en OpenCart

Para poner el código de Google Analytics tendremos que acceder dentro del panel de configuración a la sección Sistema > Configuración y dentro de este apartado de configuración accedemos a la pestaña Google donde nos aparece la sección Google Analytics, en esa caja de texto añadimos el código proporcionado por Google y ponemos estado Activo.

google analitycs opencart

Una vez añadido nuestro código de Analytics ya podremos ver informes en tiempo real de nuestras visitas. Para comprobar que está correctamente asignado podemos instalar en Chrome la extensión de Google Tag Assistant.

google analytics opencart

Una vez instalada y activa podemos ver como al navegar por nuestra web nos mostrará en verde si el código de Analytics está correctamente colocado.

google analytics opencart

Una vez comprobado que está correctamente instalado pasamos al código de tracking de pedidos sobre nuestro Ecommerce.

Debemos modificar el archivo\catalog\model\checkout\order.php y añadimos el siguiente código justo antes de la declaración de la función getOrder($order_id)

public function getOrderTax($order_id){

                               $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_total WHERE code = 'tax' AND order_id = '" . (int)$order_id . "' LIMIT 1");

                               return $query->row;    

               }

              

               public function getOrderShipping($order_id){

                               $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_total WHERE code = 'shipping' AND order_id = '" . (int)$order_id . "' LIMIT 1");

                               return $query->row;    

               }

public function getOrderProducts($order_id){

                               $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'");

                               if($query->num_rows){

                                                              return $query->rows;

                               } else {

                                                              return false;     

                               }

               }

google analytics opencart

Guardamos order.php y lo subimos a nuestra web en producción

Ahora debemos guardar nuestra confirmación de proceso de compra, para ello abrimos el fichero\catalog\controller\checkout\success.php y añadimos el siguiente código antes de “$this->cart->clear() de la función index()

//NOC get Order-id               $order_id = $this->session->data['order_id'];

              

               //NOC get Order-details

               if(isset($order_id))

               {

                               //LOAD MODEL

                               $this->load->model('checkout/order');

                              

                               //GET ORDER DETAILS

                               $order_info = $this->model_checkout_order->getOrder($order_id);

                              

                               //NEW MODEL TO COLLECT TAX

                               $get_order_tax = $this->model_checkout_order->getOrderTax($order_id);

                              

                               if($get_order_tax){

                                                              //ASSIGN TAX TO NEW VARIABLE

                                                              $order_tax = $get_order_tax['value'];

                               } else {

                                                              //THERE WAS NO TAX COLLECTED

                                                              $order_tax = 0;

                               }

                              

                               //NEW MODEL TO COLLECT SHIPPING

                               $get_order_shipping = $this->model_checkout_order->getOrderShipping($order_id);

                              

                               if($get_order_shipping){

                                                              //ASSIGN SHIPPING TO NEW VARIABLE

                                                              $order_shipping = $get_order_shipping['value'];

                               } else {

                                                              //THERE WAS NO SHIPPING COLLECTED

                                                              $order_shipping = 0;

                               }

                              

                               //NEW MODEL TO COLLECT ALL PRODUCTS ASSOCIATED WITH ORDER

                               $get_order_products = $this->model_checkout_order->getOrderProducts($order_id);

                              

                               //CREATE ARRAY TO HOLD PRODUCTS

                               $order_products = array();

                              

                               foreach($get_order_products as $prod){                                                         

                              

                                                              $order_products[] = array(

                                                                                              'order_id'  => $order_id,

                                                                                              'model'     => $prod['model'],

                                                                                              'name'      => $prod['name'],

                                                                                              'category'  => '',

                                                                                              'price'     => number_format($prod['price'], 2, '.', ','),

                                                                                              'quantity'  => $prod['quantity']

                                                              );

                              

                               }

                              

                               //NEW ORDER ARRAY

                               $order_tracker = array(

                                                              'order_id'    => $order_id,

                                                              'store_name'  => $order_info['store_name'],

                                                              'total'       => $order_info['total'],

                                                              'tax'         => $order_tax,

                                                              'shipping'    => $order_shipping,

                                                              'city'        => $order_info['payment_city'],

                                                              'state'       => $order_info['payment_zone'],

                                                              'country'     => $order_info['payment_country'],

                                                              'currency'    => $order_info['currency_code'],

                                                              'products'    => $order_products

                               );  

                               $data['order_tracker'] = $order_tracker;

               }

google analytics opencart

Ahora guardamos nuestro fichero de confirmación de compra en OpenCart “success.php

Y debemos modificar la parte de la vista de nuestro tema para mostrar la etiqueta correctamente.

Para ello vamos al fichero \catalog\view\theme\nombre_del_tema\template \common\ success.tpl y añadimos el siguiente código antes de <?php echo $footer; ?>

<?php/* NOC Ecommerce Tracking Code in success.tpl file */

if(isset($order_tracker)){

$tracking_info = '<script type="text/javascript">'.PHP_EOL;

$tracking_info .= "ga('require', 'ecommerce', 'ecommerce.js');".PHP_EOL;

//ADD TOP LEVEL TRACKING INFO

$tracking_info .= "ga('ecommerce:addTransaction', {

id: '" . $order_tracker['order_id'] . "',

affiliation: '" . $order_tracker['store_name'] . "',

revenue: " . $order_tracker['total'] . ",

shipping: " . $order_tracker['shipping'] . " ,

tax: " . $order_tracker['tax'] . "

}); ".PHP_EOL;

//ADD INFO FOR EACH PRODUCT

foreach($order_tracker['products'] as $product){

$tracking_info .= "ga('ecommerce:addItem', {

id: '" . $order_tracker['order_id'] . "',

sku: '" . $product['model'] . "',

name: '" . $product['name'] . "',

category: '',

price: " . $product['price'] . ",

quantity: " . $product['quantity'] ."

});".PHP_EOL;

}

$tracking_info .= "ga('ecommerce:send');".PHP_EOL;

$tracking_info .= '</script>'.PHP_EOL;

echo $tracking_info;

}

?>

google analytics opencart

Guardamos y subimos el diseño al ftp de nuestra tienda en producción.

Finalmente para comprobar que hemos añadido el código correctamente al realizar un pedido podremos ver que se ha añadido el código tanto en la extensión de Google Chrome como en el propio código de la página mirando el código fuente.

google analytics opencart

google analytics opencart

Al realizar ahora un pedido podremos observar que en nuestra cuenta de Google Analytics ha quedado registrado correctamente el pago.

google analytics opencart

Para esta implantación o cualquier necesidad con OpenCart podéis contactar directamente con el equipo de desarrollo web de digitalDot, estaremos a vuestra entera disposición para optimizar y poner vuestra tienda online a punto.

Noticias relacionadas sobre Actualidad web

Vulnerabilidades encontradas en Prestashop

Vulnerabilidades de seguridad detectadas en el módulo PrestaShop "gsnippetsreviews"

A comienzos de enero de 2026, nuestro equipo de seguridad web de digitalDot identificó dos vulnerabilidades relevantes en el módulo gsnippetsreviews para PrestaShop, un módulo verificado y ampliamente utilizado en tiendas online basadas en esta plataforma. La detección se produjo a raíz de una incidencia real en un cliente nuestro,…

digitalDot Partner de Klaviyo

Klaviyo: Plataforma para automatización de marketing digital

Si tienes una tienda online, seguro que te suena esta película: inviertes en tráfico, la gente entra, mira, añade al carrito… y desaparece. O compra una vez y no vuelve. Y mientras tanto, tú mandas algún newsletter suelto de vez en cuando, con un cupón y “a ver si cuela”.…

Google Core Update: todas las novedades de SEO

Google Core Update 2025: Todas las novedades en SEO en detalle

Google ha vuelto a poner en marcha su maquinaria de actualizaciones de algoritmo, y la comunidad SEO está atenta a los cambios que esto implica. En el año 2023, Google ha lanzado cuatro actualizaciones de núcleo, en marzo, agosto, octubre y noviembre. Aunque Google no proporciona detalles específicos sobre los…

Iconos sobre el nuevo reglamento de Inteligencia Artificial para empresas

Nuevo reglamento de Inteligencia Artificial para empresas

La Unión Europea ha aprobado el Reglamento de Inteligencia Artificial (AI Act), la primera normativa integral del mundo diseñada para regular el diseño, desarrollo, uso y comercialización de sistemas de IA en la UE. Además si no lo cumples, puedes pagar una multa de hasta 35 millones de euros.El objetivo…

Novedades de PrestaShop Developer Conference

Novedades de Prestashop Developer Conference: mejoras en rendimiento, seguridad e integración de IA

La Prestashop Developer Conference de noviembre de 2025 ha sido un evento clave para la comunidad de desarrolladores, agencias y tiendas online que trabajan con la plataforma Prestashop. Durante la conferencia, se anunciaron novedades de Prestashop, nuevas funcionalidades y mejoras significativas que cambiarán la forma en que interactuamos con la…

Novedades de Canva World Tour 2025

Novedades de Canva 2025: Evolución del diseño y el marketing

Canva ha vuelto a revolucionar el mundo del diseño con su Canva World Tour 2025, presentando una oleada de novedades que combinan inteligencia artificial, automatización y creatividad sin límites. Lo que antes era una herramienta para hacer posts bonitos, ahora es un ecosistema completo de diseño, marketing y análisis que…

Pujar por la competencia en Google Ads y Microsoft Ads

Pujar por la competencia en Google Ads: riesgos, estrategias y claves para mejorar tu SEM

Competir por las palabras clave de la competencia en Google Ads es una práctica cada vez más común entre las marcas que buscan ganar visibilidad y captar clientes potenciales. Tanto Google como Microsoft Ads permiten pujar por el nombre de un competidor, pero hacerlo sin una estrategia sólida puede resultar…

Normativa legal en españa para ecommerce

Cómo preparar tu Ecommerce para cumplir con la normativa legal en España

Tener una tienda online no se trata únicamente de vender productos. También implica cumplir con una normativa y serie de obligaciones legales que garantizan la transparencia, la protección de datos y los derechos de los consumidores. En digitalDot, como agencia de marketing digital, diseño y desarrollo web, ayudamos a ecommerce…

Server-Side Tagging está revolucionando las campañas de SEM

Cómo el Server-Side Tagging está revolucionando las campañas de SEM para nuestros clientes

En un entorno digital cada vez más enfocado en la privacidad, la capacidad de medir con precisión el rendimiento de las campañas se ha convertido en un desafío crítico. Las restricciones de los navegadores y el bloqueo de anuncios limitan la visibilidad sobre el comportamiento del usuario, afectando directamente a…

1 2 3 20
crossmenuchevron-down