¿Alguna vez has hecho pruebas de compras en tu comercio electrónico y tus datos de Google Analytics se han visto contaminados con transacciones que has realizado tu? Bueno… esto es algo común y vamos a ver cómo usar el Protocolo de Medición de Google Analytics para descontar estas transacciones.
El Protocolo de Medición de Google Analytics proporciona una URL a la que hacer peticiones POST y una serie de parámetros que dicha URL interpreta y manda los datos a Analytics.
POST /collect HTTP/1.1 Host: www.google-analytics.com query_string
Estas llamadas a la URL https://www.google-analytics.com/collect podemos hacerlas de varias maneras:
- A través de cURL en línea de comandos.
- A través de la librería libcurl de PHP o de otro lenguaje de programación que tenga soporte.
- A través del Hit Builder de Google.
Ejemplos de PageView con el Protocolo de Medición
Por ejemplo, para lanzar una PageView desde la línea de comandos, en este caso de Windows y con cURL instalado, bastaría con lanzar el comando:
curl -d "v=1&tid=UA-XXXXXXXX-1&cid=666&t=pageview&dp=/hitvirtual2&dt=Virtual&dh=ingeniodigital.es" -X POST https://www.google-analytics.com/collect
Con esto, yendo a los informes de tiempo real podemos ver como efectivamente se lanza la vista de página.
Como comentábamos podemos hacer lo mismo con la librería libCURL de PHP, el mismo ejemplo podríamos hacerlo de la siguiente manera:
<?php // abrimos la sesión cURL $ch = curl_init(); // definimos la URL a la que hacemos la petición curl_setopt($ch, CURLOPT_URL,"https://www.google-analytics.com/collect"); curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405" ); // indicamos el tipo de petición: POST curl_setopt($ch, CURLOPT_POST, TRUE); // definimos cada uno de los parámetros curl_setopt($ch, CURLOPT_POSTFIELDS, "v=1&tid=UA-XXXXXXXX-1&cid=666&t=pageview&dp=/hitvirtualCURL&dt=Virtual&dh=ingeniodigital.es"); // recibimos la respuesta y la guardamos en una variable curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $remote_server_output = curl_exec ($ch); // cerramos la sesión cURL curl_close ($ch); // hacemos lo que queramos con los datos recibidos // por ejemplo, los mostramos print_r($remote_server_output);
Y la tercera opción, y seguramente la más accesible para las personas que no suelan tocar código, es la del Hit Builder de Google Analytics.
El Hit Builder
Nada más acceder al Hit Builder tendremos que autorizarlo para acceder a nuestras propiedades de Google Analytics, esto nos va a ser muy útil pues podremos seleccionar de una lista la propiedad sobre la que queremos actuar.
Con esto ya podríamos seleccionar la propiedad sobre la que queremos lanzar el hit e incorporar los parámetros que queremos lanzar. Recomiendo estos dos recursos pues tenemos la especificación de todos los parámetros y hits de ejemplo que podemos lanzar directamente en el Hit Builder.
Como el ejemplo del PageView estaba bastante claro vamos a lanzar un hit de tipo transacción para que lo registre Analytics bajo los informes de Comercio Electrónico.
Mirando los ejemplos de parámetros y hits podemos detectar un ejemplo de transacción que facilita bastante las cosas, aunque podríamos montar el hit desde cero con la documentación de los parámetros.
Este mismo ejemplo lo podemos probar en el hit builder con el enlace justo debajo de la información de los parámetros. Se nos abrirá con los parámetros cumplimentados y listo para probarlo, eso sí, recordad elegir la propiedad (UA de Analytics) sobre el que se lanzará el hit.
Si esperamos unos minutos podremos ver la transacción en el informe de Analytics.
Ejemplo de Devolución
Una cosa hay que tener clara:
Con la versión básica del seguimiento de comercio electrónico en Analytics no se puede usar la funcionalidad de Refund, por lo que hay que enviar otra transacción con los valores en negativo.
De esta manera, la línea en el informe de transacciones correspondiente a esta ID de transacción, desaparecerá.
Recalcar de nuevo, que no estamos usando el seguimiento de Comercio Electrónico Mejorado que sí permite usar el método Refund. Lo veremos en otro post.