Medir al usuario en multiples dispositivos.Cross device tracking 1

Con la llegada y aparición de Universal Analytics nos vendieron a todos la idea de que estábamos superando la era del «visitante único» para adentrarnos en un análisis centrado en el usuario, independientemente del dispositivo que estuviera utilizando. Vamos, que estábamos mas cerca de hablar de «personas» que de «visitas». Pero, claro, entre que los amigos de Google no son muy «de contarlo todo» y yo últimamente soy mas bien de leer poquito, pues mas o menos la idea que me quedaba en la cabeza es algo así como «vale, que bonito, pero eso sólo sirve para webs que obligan a sus usuarios a introducir un login y están identificados».
Ahí lo había dejado, para mi el asunto estaba zanjado, hasta que un día me encontré con un apartado nuevo en mi cuenta de aplicaciones móviles de Google Analytics. el apartado ha desaparecido a día de hoy pero ponía algo así como «Cross Device» con sus apartados y todo.. ni corto ni perezoso hice foto con el móvil ( si, es lo que tenia a mano) y lo tuiteé. (Yo no soy muy de llamar en plena noche a otros colegas y cosas de esas, lo suelto por twitter y quien quiera que lo pille). Tuit al que respondió @nikalitycs con un vídeo, que si bien no era exactamente lo que buscaba me dio la pista perfecta para llegar al lugar adecuado.
Aquí podéis ver la sucesión de tweets y la foto: https://twitter.com/analisisweb/status/337211564895637504
Veréis, para saber si un usuario es el mismo independientemente del dispositivo, tiene que existir un identificador en común que nos diga que el usuario es el mismo. Y ahí está la gracia del asunto. Si tu web es de las que piden login y password para poder usarla, no tiene misterio (bueno, un poco, pero menos) pero si no lo tienes la cosa está mas difícil. Lo único que te puede servir como pista es si el usuario está logado en Google. Pueden parecer pocos, pero, así, sin dar muchas vueltas me da que es un número con tendencia creciente. Por un lado tienes todos esos capullos del (not provided) y por otro todos los que tienen un telefonito androide. No son todos, pero una pista valiosa del comportamiento independientemente del dispositivo creo que si nos va a dar ¿no crees?

Bien, llegados a este punto si no tenéis un cacao potente os doy la enhorabuena, porque el post me esta saliendo enrevesado enrevesado. Resumiendo, ahora mismo tenemos o bien un montón de usuarios con un Id único cada uno pero de dos tipos:

  1. Aquellos que tenemos identificados porque usan nuestro login/password.(Fácil de conseguir su ID)
  2. Aquellos que tienen su cuenta Google Activada.(Difícil de conseguir su ID)

Yo en este punto me atasqué bastante,  

¿Cómo conseguir el ID de la cuenta de Google de un visitante? 

 Éste es el punto clave. Resulta que nuestros amigos de Analytics, en la llamada a Analytics utilizan una variable «UID» que es la que guarda el identificador de usuario. Ésta es diferente de la CID, o «client ID» que es la que nos da los «usuarios únicos» y cambia según el dispositivo. La variable UID la podemos establecer mediante código con la función «set» de forma que si una vez logado el usuario obtenemos su ID de nuestra base de datos y enviamos el dato a analytics de la siguiente forma:

«ga(‘set’,’&uid’,’IDUNICO‘);
ga(‘send’,’pageview’)»
 

Prestad atención a varias cosas, IDUNICO lo tenéis que sustituir por el ID que le asignéis al usuario. La llamada es siempre ANTES que la llamada de página vista.
Bueno, pues ya tenemos el asunto solucionado para los que usan login password, pero

¿Si nuestra única alternativa es la información de los logados en Google?
Si sois tan vagos como yo y no leéis con atención los blogs de los demás puede que os quedéis atascados en el mismo punto. El secreto del asunto está en conseguir el ID único de usuario de la cuenta de Google del usuario y conseguir asignarlo a la variable &uid que ya conocemos…
La segunda parte, la d asignar el UID, ya la hemos solucionado, pero la primera no, 
¿Cómo conseguimos el ID único de Google?
Puede que los que tengáis un perfil mas técnico que yo ( es decir, la gran mayoría) lo hayáis solucionado ya, pero  a mi me ha costado un pelín, ya que los amigos de Google son parcos en palabras y escuetos en explicaciones, pero a final, hurgando un poco, la solución llegó. Hay un par de funciones en la librería analytics.js que hacen el trabajo para nosotros. Por un lado, hay una función que detecta si el usuario está logado en Google:
«auth.user.isSignedIn()»
Para mas cachondeo y felicidad, además nos proporciona otra función que nos da el User ID único del usuario:
«auth.user.getId()»  
Con estas dos funciones podemos hacer lo que andaba buscando. Como el Id va a ser el mismo en cualquier dispositivo que use una cuenta Google podemos detectarlo y enviarlo a Analytics… de la siguiente forma:
If (auth.user.isSignedIn()) {
ga(‘set’,’&uid’,auth.user.getId());
}
ga(‘send’,’pageview’); 
Y ¡Voilá! Ahora tenderemos a todos nuestros usuarios únicos convertidos en únicos de verdad, independientemente de sus dispositivo. ero esto no queda aquí, si lo mezclamos con conversiones podremos ver algo parecido a los embudos multicanal, y saber en qué dispositivo se realizan las conversiones y qué dispositivos son los que ayudan, también podremos segmentar a nuestro gusto, qué ruta de dispositivos siguen o cuántos dispositivos tiene y usa cada usuario. La pena es que de momento parece que está en modo «prueba piloto».
Aquí no queda la cosa, todo eso permite que integremos las «conversiones offline», sólo basta con que tengamos alguna forma de identificar a los usuarios, con, por ejemplo, tarjetas de fidelidad o cualquier otra cosa que se nos ocurra, pero eso lo dejo para siguientes post, que si no este post va a quedar mas largo que los de @seomanontroppo.
Yo no se a vosotr@s, pero a mi todo esto me parece la polla…
Shares