En este post vamos a ver como depurar los datos enviados a través del protocolo de medición, pero antes veamos que es el protocolo de medición.
El Protocolo de medición es una metodología que utiliza Universal Analytics para recopilar datos de cualquier dispositivo o sistema y enviarlos a sus servidores sin necesidad de usar un código de javascript como el que se utiliza para hacer la medición web. Estos equipos / sistemas de los que podemos recoger datos pueden ser un smartphone, tablet PC, dispositivo digital, punto de venta, etc.
El envío de los datos
Para el envío correcto de los datos estos deben contener los siguientes parámetros:
- v – Se utiliza para indicar la versión del protocolo de medición. El valor de este parámetro debe ser 1.
Por ejemplo: v = 1
- tid – Se utiliza para indicar el ID de seguimiento. El valor de este parámetro debe ser el UA de la cuenta de analytics a la que van a enviar los datos. Por ejemplo: tid = UA-12345-6
- cid – Se utiliza para indicar el ID de cliente (ID que identifica de forma anónima un determinado usuario, dispositivo o navegador y es única para el visitante / usuario en particular). El valor de este parámetro debe ser un identificador único universal aleatorio (UUID) como se describe aquí https://www.ietf.org/rfc/rfc4122.txt
Por ejemplo: cid = 36009a59-2a05-49e7-b826-2b884d0f935b
- t – Se utiliza para indicar la tipología del hit. El valor de este parámetro debe ser cualquiera de los siguientes: ‘pageview’, ‘event’, ‘transaction’, ‘social’, ‘item’, ‘exception’, ‘appview’ o ‘time’
Por ejemplo: t=pageview o t=event …..
Hay muchísimos campos que pueden contener gran variedad de datos, como no podemos nombrarlos todos o el post no se acabaría nunca aquí podréis encontrar todos los campos que se pueden enviar:
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
Normalmente enviaremos los datos a https://www.google-analytics.com/collect?
Y la estructura seria la siguiente: https://www.google-analytics.com/collect?[datos a enviar]
Así que, por ejemplo, vamos a enviar un hit de pageview a nuestra web (www.miweb.com), y lo haríamos de la siguiente manera:
https://www.google-analytics.com/collect?v=1&tid=UA-12345-6&cid=35009a79-1a05-49d7-b876-2b884d0f825b&t=pageview&dp=/
O podemos enviar un evento:
https://www.google-analytics.com/collect?v=1&tid=UA-12345-6&cid=35009a79-1a05-49d7-b876-2b884d0f825b&t=event&ec=home&ea=download&el=guide
La depuración de los datos
Ya hemos hecho todo lo indicado anteriormente para enviar datos siguiendo el protocolo de medición, ¿pero como podemos verificar que se estamos enviando los datos correctamente?
Pues Google ha lanzado el Measurement Protocol Validation Server en una versión beta. Esta será una herramienta para depurar problemas con los hits que se generan sin una de nuestras bibliotecas de cliente. Se puede enviar hits a este servicio y esperar una respuesta en JSON con detalles si está todo correcto o si ha habido algún problema.
Por ejemplo al enviar un hit no válido como: https://www.google-analytics.com/debug/collect, la herramienta responderá lo siguiente:
{
"hit_parsing_result":[{
"valid":false,
"parser_message":[{
"message_type":3,
"description":"A value is required for parameter 'v'. Please see https://goo.gl/a8d4RP#v for details.",
"message_code":2,
"parameter":"v"
},
{
"message_type":3,
"description":"Tracking Id is a required field for this hit. Please
see https://goo.gl/a8d4RP#tid for details."
}],
"hit":"GET /debug/collect HTTP/1.1"
}]
}
Igualmente si enviamos una solicitud valida como la que creamos anteriormente:
https://www.google-analytics.com/collect?v=1&tid=UA-12345-6&cid=35009a79-1a05-49d7-b876-2b884d0f825b&t=pageview&dp=/
la herramienta responderá con:
{
"hit_parsing_result":[{
"valid": true,
"parser_message": [ ],
"hit": "GET /debug/collect?v=1\u0026tid=UA-12345- 6\u0026cid=35009a79-1a05-49d7-b876-2b884d0f825b\u0026t=pageview\u0026dp=/ HTTP/1.1"
}]
}
Y lo mismo para el evento que creamos anteriormente:
https://www.google-analytics.com/collect?v=1&tid=UA-12345-6&cid=35009a79-1a05-49d7-b876-2b884d0f825b&t=event&ec=home&ea=download&el=guide
la herramienta responderá con:
{
"hit_parsing_result": [{
"valid": true,
"parser_message": [ ],
"hit": "GET /debug/collect?v=1\u0026tid=UA-12345-6\u0026cid=35009a79-1a05-49d7-b876-2b884d0f825b\u0026t=event\u0026ec=home\u0026ea=download\u0026el=guide HTTP/1.1"
}]
}
Algunas cosas a tener en cuenta sobre esta herramienta:
- Simplemente se escribe el hit del protocolo de medición completo en la barra del navegador y envíalo a https://www.google-analytics.com/debug/collect
- La herramienta aún está en beta así que igual no funciona en el 100% de los casos.
- La herramienta solo hace este análisis, si hay algún problema con filtros, configuración de la cuenta de analytics, etc etc no será capaz de detectarlo.
- Los datos que se envíen a esta herramienta no se mostrarán en los informes, habrá que utilizar la versión que no es de depuración como se ha idicado https://www.google-analytics.com/collect