Google Analytics no esta trackeando el 100% de tus ventas en Magento. Este es un problema común, mucho más común de lo que puedas imaginar. Tranquilo, porque tiene solución. Dejame que te cuente como trackear el 100% de tus ventas en Google Analytics (para Magento y/o otras plataformas)
El Problema. ¿Como trackea Google Analytics?
Como funcionaba Google Analytics y como sigue funcionando (hasta la aparición de Google Universal) es usando un pequeño truco: una imagen invisible de 1pixel x 1pixel que se carga o se pide a los servidores de google.
Esa imagen invisible esta metida a través de javascript en todas las páginas de tu Magento. Cuando carga la página se pide esa imagen a los servidores de Google Analytics y al pedirse esa imagen se añaden (esto es totalmente posible) una serie de parametros en la URL de la imagen.
Esos parametros son las variables que Google Analytics utiliza para trackear las ventas de tu Magento y que diferencian un usuario de otro. Asi podemos tener una URL más o menos larga (dependiendo los parametros y lo que se quiera trackear) que se pasan en la llamada a esa imagen. Esa URL sería similar a esta:
http://servidores.de.google/_utm.gif?cid=xxxxxxxx&tid=xxxxxx&[…….. n parametros separados por & …..]
Entre estos parametros, se pasa siempre un cid (customer id) que identifica a un usuario en una session. y además Google Analytics recibe la IP de la maquina desde la que se esta haciendo la petición (la maquina del usuario) y con eso Google Analytics identifica a un usuario y es capaz de trazar su recorrido en tu tienda Magento, establecer funnels, orígenes, canales, etc.
Esto ocurre de forma “invisible” para el usuario, pero ocurre siempre ejecutandose un javascript en el navegador del usuario. Este punto es importante, y es donde reside el problema. Esta llamada se ejecuta con JAVASCRIPT y en el NAVEGADOR del usuario y no en el servidor.
Ocurre que cuando un usuario va a PAYPAL (u otro proveedor similar) y se produce un pago, si el usuario no vuelve a nuestro sitio, el tracking no se produce. No se produce porque el código JAVASCRIPT que haría la llamada con el SUCCESS no se ejecuta.
La solución (FALLIDA)
La solución, o el intento de solución más bien, que se aborda erróneamente es “simular” esa llamada a la imagen de google desde el servidor.
Cuando el servidor recibe confirmación de Paypal por POST (IPN) de que una transacción se ha pagado, el servidor trata de “engañar” a Google Analytics, haciendo una llamada desde el servidor para cargar esa imagen invisible de google y añadiendo “a mano” los parametros que normalmente pasaría el javascript desde el navegador del usuario.
Sin embargo, al no ejecutarse javascript desde el ciente, sino “emularlo” desde el servidor y tratando de “engañar” a google analytics haciendole creer que la llamada viene de un usuario, conseguimos la mitad del objetivo. A Google Analytics le llega la transacción y la trackea. ¡Voila!, no se pierden transacciones…… pero, pero, y aquí esta el problema que la hace incompleta: la IP desde la que se hace la llamada es la IP del servidor y no la IP del usuario.
Siempre se hace esa llamada desde la IP del servidor, y esto hace que google no sea capaz de relacionar esa transacción con el usuario original, y toda la información de visita, funnel, etc. se pierde. Se pierde porque para google son dos usuarios o visitas diferentes.
De hecho para Google Analytics hay un montón de compras directas que hace un mismo usuario. Ese usuario es tu Servidor. Vale, tienes todas las transacciones, pero… ¿De donde vienen? ¿Cual es el canal que estan usando para convertir? ¿Que navegación tuvo el usuario antes de comprar?. Eso no puedes saberlo porque se pierde, con lo que tienes una información totalmente distorsionada. Y eso es lo que no quieres.
Este tipo de solución ineficaz es la que usa por ejemplo GA Conversion Track por poner un ejemplo. Mi consejo: no la compres que no funciona ni funcionará como tu quieres…¡Eso sí, la cajita y los palillos son bonitos!
LA SOLUCION (QUE FUNCIONA AL 100%)
Existe una solución que si trackea al 100% en Google Analytics todas las ventas de tu Magento. Google Analytics era consciente de este problema histórico, y de la necesidad de poder trackear el 100% de las ventas, incluso cuando el usuario no termina la transacción.
Para ello, lo primero que tienes que hacer es pasar tu cuenta de analytics a Google Universal que es la nueva forma de trackear que tiene Google. Con el Google Analytics tradicional no tendrás nunca una solución que funcione al 100%
Google Universal implementa un protocolo (algo desconocido aún, y esta en BETA pero funciona al 100% en los sitios que lo he probado empíricamente). Este protocolo se llama “Measurement Protocol”.
Este protocolo de Google Analytics permite poder hacer llamadas al sistema de tracking de google directamente desde un servidor, y no solo desde el navegador del usuario ejecutando javascript.
Ya no hay que engañar a google llamando a esa imagen invisible, sino que podemos directamente hacer una llamada a Google Analytics para que trackee algo desde el server, por ejemplo, cuando una orden es pagada en paypal, o cuando se emite una factura, indistintamente de que el usuario vuelva al site o no.
Es más, con este nuevo protocolo puedes trackear cosas que hasta ahora eran imposibles. Por ejemplo, en un Magento con onestepcheckout puedes trackear si un usuario ha rellenado la información de facturación, ha elegido el método de envio, ha elegido el método de pago, y cosas así que se producen por AJAX y que sin embargo, desde el server y con Measurement Protocol puedes trackear hacia Google Analytics.
Dicho todo esto, desde hace un par de semanas estoy empezando a instalar un módulo que esta preparado para usar este nuevo protocolo en Magento. Ya lo he instalado, configurado y puesto a funcionar (exitosamente) en varios sitios.
Deja un comentario