Cómo agregar Analytics de Comercio Electrónico en Magento

Google proporciona varias herramientas gratuitas para que webmasters, gestores, y publicitarios puedan sacar el máximo provecho de todo lo que sucede en Internet.

Imagine que usted anuncie sus productos usando los enlaces patrocinados de google adwords. ¿Cómo saber qué clics están generando ventas? ¿Qué producto convierte más? ¿Cuál es el más lucrativo?

Todo esto puede ser medido usando el google analytics, siempre que habilite el sistema – como se muestra a continuación.

Seguimiento de Ecommerce

Una vez que tenga una cuenta en el google analytics y habilitado su módulo en Magento , vuelva a su cuenta analytics y haga clic en el menú “Administrador“, luego haga clic en “Ver configuración“.

Habilitar el seguimiento

Sólo tienes que seleccionar el valor monetario predeterminado de tu sistema, y luego marcar la opción “Activado” en seguimiento de comercio y en el futuro.

Con esto ya será posible acompañar sus ventas por el google analytics. Para saber qué anuncios de adwords se están convirtiendo en ventas es necesario asociar su cuenta de usuario analytics con la cuenta del adwords.

Asociar Analytics a Adwords

Usted encuentra esta configuración justo debajo del seguimiento de comercio electrónico.

Cambios en el Magento

Una vez que haya habilitado el seguimiento de comercio electrónico en el google analytics, ¿Lo que es necesito cambiar en el código del Magento?

NADA

En absoluto, el Magento ya está listo para cumplir con las configuraciones avanzadas del google analytics en la captura de los datos (pedidos y productos).

Por lo tanto, si su sistema no está enviando los datos de conversión de ventas a analytics es muy probable que la página de “solicitud exitosa” haya sido alterada por algún módulo de pago o incluso su tema personalizado haya retirado el código de seguimiento.

Si es necesario, o si usted tiene curiosidad, veamos abajo cómo el sistema se preparó para enviar estos datos.

3 en 1

Tenemos 3 (tres) archivos en Magento que reproducen este resultado – eso a partir de la versión 1.7.x. El primero de ellos es el googleanalytics.xml:

app > design > frontend > base > default > layout > googleanalytics.xml

Este es el archivo que construye el layout de la página, entonces ese es el XML que apunta qué archivos serán usados, vea en template=”googleanalytics/ga.phtml”. Este archivo se encuentra en:

app > design > frontend > base > default > template > googleanalytics > ga.phtml

Al analizar el código se encuentra la siguiente llamada:

_getOrdersTrackingCode() ?>

Por lo tanto, este método que se define en el block type=”googleanalytics/ga” debe ejecutarse cada vez que se realiza una solicitud.

app > code > core > Mage > GoogleAnalytics > Block > Ga.php

Y finalmente, dentro de esta clase encontramos el método informado allí en el phtml:

protected function _getOrdersTrackingCode() {
    $orderIds = $this->getOrderIds();
    if (empty($orderIds) || !is_array($orderIds)) {
        return;
    }
    $collection = Mage::getResourceModel('sales/order_collection')->addFieldToFilter('entity_id', array('in' => $orderIds));
    $result = array();
    foreach ($collection as $order) {
        if ($order->getIsVirtual()) {
            $address = $order->getBillingAddress();
        } else {
            $address = $order->getShippingAddress();
        }
        $result[] = sprintf("_gaq.push(['_addTrans', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']);",
        $order->getIncrementId(),
        $this->jsQuoteEscape(Mage::app()->getStore()->getFrontendName()),
        $order->getBaseGrandTotal(),
        $order->getBaseTaxAmount(),
        $order->getBaseShippingAmount(),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCity())),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getRegion())),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCountry()))
        );
    foreach ($order->getAllVisibleItems() as $item) {
        $result[] = sprintf("_gaq.push(['_addItem', '%s', '%s', '%s', '%s', '%s', '%s']);",
        $order->getIncrementId(),
        $this->jsQuoteEscape($item->getSku()), $this->jsQuoteEscape($item->getName()),
        null, // there is no "category" defined for the order item
        $item->getBasePrice(), $item->getQtyOrdered()
        );
        }
        $result[] = "_gaq.push(['_trackTrans']);";
    }
    return implode("\n", $result);
}

Para entender lo que el código anterior está haciendo, lea el procedimiento indicado en la página oficial del google analytics: http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEcommerce.html#_gat.GA_Tracker_._addTrans

Acompañamientos

Si aún no tiene el google analytics habilitado en su sistema, lea el post: Google Analytics en el Magento, donde es posible monitorear el movimiento de su tienda virtual.

También lee el post: Event Tracking no Magento, que son configuraciones avanzadas para monitorear las acciones que ocurren en la navegación (sin submit).

Una explicación de Google sobre el seguimiento del comercio electrónico:

Y nunca más tome decisiones en la oscuridad.

¡Éxito!

Hasta que surja la oportunidad de mudarme a España, sigo ayudando desde la distancia.