Cómo medir las ventas en nuestro e-commerce a través de Google Shopping

Use the right sidebar select to translate this post into your language

En esta ocasión vamos a ver cómo medir las compras que nos vienen desde Google Shopping a nuestro e-commerce.

Por defecto estas visitas llegan a nuestra web desde http://base.google.com cómo si se tratase de una visita desde el propio buscador de Google, por lo cual se nos mezclan con el resto de datos de búsquedas orgánicas.

Por suerte para nosotros hay una funcionalidad no documentada en Google Analytics, que nos permite, entre otras opciones, sobreescribir los parámetros de campaña antes de que se fijen con los valores calculados por defecto.

Se trata del método _set  . El cual mediante el parámetro campaignParams , nos permitirá cambiar los valores de la campaña antes de enviar los datos a los servidores de Google Analytics.


Entonces, mirando los logs del servidor, y los referrers de que llegan desde Google Shopping, podemos ver que siempre empiezan por /products/catalog , teniendo en cuenta ese valor podemos sobreescribir los parámetros de campaña para poder separar las visitas desde los motores de búsqueda usuales como: Google  Search, Google Images, etc, de los que vienen desde Google Shooping, y en base a ello, sobreescribir el parámetro de campaña para decirle a Google Analytics que es “shopping”. Lo que nos permitirá poder calcular las compras que llegan desde Google Shopping y del resto de fuentes y medios.

He creado un pequeño snippet en javascript que automatiza esta terea, extrayendo incluso la palabra clave de la búsqueda:

var ref = document.referrer;
if (ref.indexOf("/products/catalog") > 0 && ref.indexOf("google.")> 0)
{
   var matches = ref.match("[\\?&]q=([^&#]*)");
   if(matches==null)
   {
      var campaignParams = 'utm_campaign=shooping&utm_source=google&utm_medium=(organic)&utm_term=(not%20provided)';
   }else{
      var campaignParams = 'utm_campaign=shooping&utm_source=google&utm_medium=(organic)&utm_term='+matches[1];
   }
_gaq.push( ['_set', 'campaignParams', campaignParams]);
}

Este código debe ponerse SIEMPRE ANTES de la llamada al _trackPageview  si no, se enviarán los datos a Google antes de haber sobreescrito los parámetros de campaña.

El código completo sobre una implementación standard, quedaría de la siguiente manera:

<script type="text/javascript">
var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-1231231234-1']);
var ref = document.referrer;
if (ref.indexOf("/products/catalog") > 0 && ref.indexOf("google.")> 0)
{
var matches = ref.match("[\\?&]q=([^&#]*)");
if(matches==null)
{
var campaignParams = 'utm_campaign=shooping&utm_source=google&utm_medium=(organic)&utm_term=(not%20provided)';
}else{
var campaignParams = 'utm_campaign=shooping&utm_source=google&utm_medium=(organic)&utm_term='+matches[1];
}
_gaq.push( ['_set', 'campaignParams', campaignParams]);
}
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/u/ga_debug.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

Personalmente no dispongo de ninguna tienda bajo la que hacer las pruebas, si tienes tu una y lo pruebas, me gustaría oir tu feedback para poder mejorar el código y el artículo.

Comments

2 responses to “Cómo medir las ventas en nuestro e-commerce a través de Google Shopping”

  1. Brian Clifton Avatar

    Nice hack David – is it not possible to add campaign tracking params to the links used in Google Shopping? I ask as this puts the campaign tracking responsibility in the hands of the marketing team. I am not a user of G Shopping, so if this is not possible then your work around makes perfect sense 😉

  2. David Vallejo Avatar

    Yep Brian that’s always a right way to achieve this too , but converting the campaing parameters from Analytics implementation will keep out any tagging errors or untagged products links.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.