Cómo obtener la fuente en Universal Analytics sin cookie utmz

Publicado el 19 de agosto del, 2014

Hace ya "bastante" que salió a la luz Universal Analytics y ya nos ha dado tiempo a descubrir sus pros y sus contras con respecto a la anterior versión de Google Analytics. Y sí, también tiene contras, bastantes además, y es sobre uno de estos puntos sobre el que vamos a hablar hoy.

Si bien es cierto que Universal Analytics presenta grandes mejoras frente al viejo código, como pueden ser tener 20 dimensiones personalizadas en vez de 5, agrupación de contenido, importación de datos offline, seguimiento de usuarios en distintos dispositivos, Measurement Protocol (para mi es lo más divertido y funcional), etc, también es muy cierto que tiene sus contras, y casi todos los puntos negativos que veo en Universal Analytics tienen que ver con la información sobre la fuente de los usuarios y sus datos relacionados.

Ya sabemos desde hace mucho que las Keywords están desapareciendo de nuestros sistemas de métricas, Google argumenta que por la privacidad, pero no sólo es por eso si no ¿por qué los muestra en los informes de AdWords? el usuario es el mismo, y su privacidad es la misma, pero claro, detrás de esto hay otros intereses, perdón!, otro interés, el de siempre.. el dinero.

¿Quién es el más beneficiado de que no sepamos las KWs por las que llegan nuestros usuarios? seguro que sin pensar y por inercia ya lo has adivinado... Google. Y es que aunque no nos la de a nosotros, Google sí la utiliza para sus intereses, como puede ser ofrecer visibilidad sobre estas KWs SÓLO a sus clientes de AdWords. Que me cuenten lo que quieran, pero mientras los clientes de AdWords sigan viendo esas KWs en sus informes la privacidad de los usuarios es una hipocresía, realmente usa ese argumento para justificarse y seguir quedando bien.

Una de las costumbres que yo tenía (y tengo) en mis proyectos es trackear yo mismo las  KWs por las que llegan los usuarios, aunque como hemos dicho, algún día llegarán a desaparecer, por lo que debemos asumirlo y resignarnos. Y otro dato que siempre me ha gustado trackear de manera interna es la fuente por la que llegan los usuarios, para así almacenarlo en una cookie y poder luego saber cuál fue la fuente por la que llegó el usuario que luego realizó una acción como una venta o una petición de formulario..

Antes esto era muy sencillo, ya que si tenías Google Analytics, con una simple consulta a la cookie utmz podías obtener la fuente por la que había llegado, y anotarlo en tu base de datos o donde quisieras una vez que el usuario realizara el objetivo que tú quieres sin necesidad de programarte nada más, pero esto con Universal Analytics se acabó. Ahora sólo puedes acceder al clientID de Universal Analytics, un identificador de usuario, y nada más. Está claro que Google guarda los datos que antes guardaba en la cookie, pero ahora lo guarda en su sistema y esto conlleva muchos dolores de cabeza para hacer cosas que antes nos parecía de lo más útil y sencillo.

Pongamos un ejemplo, un usuario llega a un site y rellena un formulario de contacto y lo envia para pedir información, días después un comercial le llama y le convence para que compre nuestro producto, el comercial anota y realiza el pedido a través del CRM y se lo manda sin que el usuario tenga que volver a entrar en la web. ¿Cómo podemos saber con Universal Analytics la fuente de cada venta realizada por los comerciales? Pues como dirían algunos, hay que liarla parda en la empresa para hacerlo....

Y es que una de las nuevas funcioalidades de Universal Analytics es que pudes importar datos de las ventas offline en Analytics y así poder tener estos datos de ventas offline en tus informes, pero claro, para esto posiblemente tengas que cambiar muchas cosas  en tu CRM para adaptarlo a Universal Analytics. Sí... hasta esto hemos llegado, a modifcar nuestro CRM tal y como Google nos lo dice para obtener un dato que antes podríamos trackear fácilmente mirando la cookie _utmz, y enviándola al comercial o al CRM para que quede grabado y así saber la fuente de cada venta offline, aunque es verdad que estos datos no podías integrarlos en Analytics al menos sí podías, por lo menos, saberlo en tu sistema.

Universal Analytics sólo nos ofrece un Id de usuario, que se genera aleatoriamente y no podemos consultar desde javascript la fuente u otros datos que recolecta analytics.

Es lo que nos pasa en el ejemplo del envio de los formularios de contacto que hemos comentado antes, ya no podemos saber la fuente, ni la KW para guardar en nuestro CRM estos datos y conocer para cada venta que hizo un comercial llamando por teléfono que fuente originó el contacto, y es un dato muy importante.

Para solucionar esto tenemos varias opciones, unas más complejas y que conllevan otros muchos desarrollos como es la carga de datos offline, o la propia generación de los datos a enviar a Analytics por medio de  Measurement Protocol, y otras más sencillas que aunque no ideales, deberían funcionar igual de bien.


Método mediante dimensiones personalizadas en Google Analytics


  1. Creando una dimensión personalizada, donde meteremos el clientID que analytics nos proporciona al cargarlo, a esta dimensión la llamaremos “cid”, pongamos que es la tercera que creamos en nuestra configuración.


    La función para obtener este id es
    <script language="javascript">
    ga(function(tracker) {
    var clientId = tracker.get('clientId');
    });
    </script>    

    Y cuando el usuario haga el envio se añadirá también al envio de Analytics el valor para la dimensión 3
    ga('set', {
    Así que podemos o usar Google   dimension1: 'VALOR_RECOGIDO_DEL_FORM_CAMPO_clientID'
    }
  2. En elCRM  deberemos de tener registro de este envio de formularios, donde uno de los campos será este clientId obtenido de Analytics.
  3. El comercial algún día consultará en el CRM a quién llamar, y hará una llamada al usuario que realizó la petición de información, y si completa la transacción, en el envio a Analytics de los datos de esta transacción, le pondremos como  parámetro "cid" el que abremos obtenido en nuestro CRM porque ya había sido almacenado cuando aquel usuario envió el formulario de contacto. Así atribuimos a aquel usuario esta nueva transacción y por lo tanto a esta transacción tendrá como fuente la misma que el usuario que hizo la petición de información.

 

Método trackeo interno mediante JavaScript y cookies.

Para tener un mínimo tracking interno de la fuente por la que llegan los usuarios podemos usar javascript y cookies de manera que sepamos la fuente cuando este usuario haga alguna acción que queramos medir, por ejemplo el envio de un formulario y su posterior transacción por parte del comercial.

Para ello he cogido una función que analiza cuando el usuario tiene referer y es de Google analizamos el parámetro ved para saber que tipo de resultado es.


Además ya aprovechamos para introducir unas variables personalizadas para saber otros datos que nos pudieran parecer interesantes.




La teoría del proceso

  • Cuando llega un usuario se comprueba si tiene dos cookies

    MiReferencia: Esta coockie alamacenará la url de referencia por la que llegó, así podemos analizar y comprobar la url exacta de referencia

    trackInterno: Esta cookie la usaremos para obtener la fuente y medio en base la la ruta de referencia por la que llegó el usuario la primera vez, y le asignaeremos uno de estos valores

     'Google: normal (universal) search result',
    'Google: normal result thumbnail (e.g. for an application, recipe, etc.)',
    'Google: normal result thumbnail (e.g. for an application, recipe, etc.)',
    'Google: sitelink',
    'Google: one-line sitelink',
    'Google: breadcrumb',
    'Google: “Jump to” link',
    'Google: more results link (listed mainly for Q&A websites)',
    'Google: local search result',
    'Google: local search result marker pin icon',
    'Google: dictionary definition link',
    'Google: blog search result',
    'Google: book search result',
    'Google: book search result thumbnail',
    'Google: book search result author link',
    'Google: image search result in basic image search / universal search',
    'Google: image search result [probably not in use any more]',
    'Google: image search result (thumbnail)',
    'Google: image search result preview title link',
    'Google: image search result preview grey website link underneath title',
    'Google: image search result preview thumbnail',
    'Google: image search result preview “View image” link',
    'Google: image search result preview “Visit page” link',
    'Google: in-depth article result',
    'Google: in-depth article result thumbnail',
    'Google: map search result',
    'Google: map search result website link',
    'Google: map search result thumbnail',

    'Google: news result',
    'Google: news result thumbnail',
    'Google: news result video thumbnail',
    'Google: news sub-result (i.e. the same story from a different site)',
    'Google: patent result',
    'Google: patent result thumbnail',
    'Google: patent result “Overview” / “Related” / “Discuss” link',
    'Google: shopping search result',
    'Google: video result',
    'Google: video result thumbnail',
    'Google: authorship thumbnail link',
    'Google: authorship “by [author]” link',
    'Google: knowledge graph link',
    'Google: knowledge graph main image',
    'Google: knowledge graph repeated sub-link (e.g. album track listing)',
    'Google: adword (i.e. sponsored search result)',
    'Google: adword sitelink',
    'Google: adword one-line sitelink',
    'Google: sponsored shopping result (main column of universal search)',
    'Google: sponsored shopping result thumbnail (main column of universal search)',
    'Google: sponsored shopping result (right column of universal search)',
    'Google: sponsored shopping result thumbnail (right column of universal search)'


    Si viene desde Google identificaremos además en que tipo de resultado hizo click en las serps. Esto se obtiene a partir del parámetro “ved” que muchas veces pasa Google. Es un parámetro codificado en base64 y que ha sido completamente destripado :)

    Estas cookies tendrán una duración de 2 meses, al igual que tengo yo configuración de Analytics.

  • Creamos dos dimensiones personalizadas, una para cada cookie, en mi caso para las dos cookies antes explicadas las he llamado trackInternoy MiReferenciay tienen en el administrador de analytics  los índices 7 y 8 respectivamente.



Los valores que se ponen en estas cookies son en base a la url de referencia que pasa el navegador.  Al analizar esta url de referencia comprobamos si viene de alguno de los buscadores identificados por Google como “organic” (me he basado en la misma lista), si no pertenece a ese grupo pero lleva otro referer lo marcaré como tráfico de referencia y si no lleva nada será “Direct”.

También identifico si tiene el parámetro gcliden la url para saber si viene de AdWords, aunque aun no lo enlazo para saber los datos de esa campaña, ser podría hacer, y si no lleva ese parámetro me fijo si en el referer tiene el parámetro adck que también es el usado por Google para enlazar los anuncios.



Cómo hacer esto en 5 pasos

 

  1. Descarga el archivo ver_analytics.js, botón derecho del ratón y darle a "Guardar enlace como".
  2. Súbelo a tu servidor.
  3. Crea desde el administrador de Analytics las dos dimensiones personalizadas y llámalas trackInterno y MiReferencia


    Dimensiones personalizadas


  4. Fíajte en el número de la columna índice, y los sustiyes luego en el código donde pone "dimension7: readCookie('MiReferencia')," y "dimension8: readCookie('trackInterno')"

    dimensiones

  5. Copia este código y sustituye el texto en rojo por los datos de tu dominio y cuenta de analytics.
     *Para los que tengáis tuneados y sepáis un poco cómo va todo esto, os marco en verde las líneas a añadir a vuestro código.

 

<script type="text/javascript" src="midominio.com/ved_analytics.js"></script>

<script language="javascript">

    compruebaCookie();

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    ga('create', 'XX-XXXXX-X', {
       'cookieDomain': 'midominio.com'
    });
   
    ga('set', {           
        dimension7: readCookie('MiReferencia'),
        dimension8: readCookie('trackInterno')
        });
  
  ga('send', 'pageview');   

</script>



Con esto obtendremos en Analytics informes de este tipo

 

trackInterno 
Universal analytics track sources

 

 


MiReferencia 

 

¿Cómo obtener este valor para usarlo en un formulario?

Si queremos enviar estos datos en el envio de un formulario sólo tendrás que crear el campo en tu formulario y cargar el valor llamando a las funciones readCookie('trackInterno')readCookie('MiReferencia') desde javascript y listo :)

Ahora cuando guardemos los datos de contacto del formulario en nuestro CRM también guardaremos la fuente que devuelve la función readCookie('trackInterno') y  el tipo de resultado readCookie('MiReferencia')  por la que ha llegado ese usuario. Cuando el comercial realice la transacción ya tendremos esta fuente por la que entró el "ya cliente" y exactamene con que url lo hizo (si nos lo ofrece el navegador).



¿Y si queremos ver en Analyticsla fuente de la venta que hizo el comercial por teléfono?

Si también queremos verlo representado en Analytics tendremos que realizar también el paso 1, para asociar el usuario real a esta venta, aunque eso por la nueva política de cookies es ilegal ya que no se puede asociar ese clientID a datos personales, cosa que sí harás si guardas su mail o su teléfono.

Si lo quieres hacer totalmente legal no tedrás más remedio que usar la importación de datos de Universal Analytics... pero ese ya es otro post,  recomiendo leer este artículo de Iñaki Huerta que lo explica muy bien :)

 

PD: Creo que todo está correcto, quizás me haya confundido en algo crear el post, pero si no os funcionase decídmelo :)

 

 

 




Posts anteriores en Google Analytics


yy Medir cuántos usuarios hacen click para ampliar la imagen en Google Imágenes, aunque no entren en nuestra web
Publicado por Lino Uruñuela el 20 de febrero del 2018 El otro da Google hizo un cambio importante del inteface en su buscador de imágenes, eliminando el botón de ver imagen y respondiendo así a la demanda antimonopolio que Getty Images realizó ante la Unión

Seguir leyendo
yy Cómo añadir el valor del meta Robots a Google Analytics via Google Tag Manager
Publicado el 24 de mayo del 2017, by Lino Uruñuela Muchas veces los SEOs usamos determinados protocolos y/o directivas para dar determinadas señales a los Bots de los buscadores y otros servicios. Así por ejemplo, podemos usar un meta para indicarles en qué fecha

Seguir leyendo
hhh
  • Lunes 13 de Abril del 2015
yy Monotorizar GoogleBot con Google Analytics
Publicado el 13 de abril del 2015 por Lino Uruñuela Hace tiempo ya comentamos que podemos saber cómo y cuándo acceden los robots de los buscadores a cada url de nuestro site por medio de los logs. Es muy importante tener visibilidad sobre qué y cómo crawlean

Seguir leyendo
yy Benchmarking en Google Analytics y divagaciones sobre el marketing a cañonazos
Publicado el jueves 11 de septiembre por Lino Uruñuela Hoy voy a cambiar un poco de tema para variar, pero no me desviaré mucho. Si hay algo que me ha quedado claro en más de 10 años que llevo trabajando entorno a los negocios online , y que se viene cumpliendo co

Seguir leyendo
yy El tráfico de Internet Explorer vuelve a ser orgánico
Publicado por Lino Uruñuela (Errioxa) el 30 de junio del 2014 Hoy me he llevado una sorpresa cuando me he puesto a analizar el tráfico directo a raíz de que Rodrigo Hernandez me comentase su preocupación con el tráfico de un site , y es que normalmente suelo t

Seguir leyendo
yy Volcado de Google Analytics a tu Base de Datos
Publicado por Lino Uruñuela (Errioxa) el 23 de abril del 2014 Como dijimos el otro día, vamos a crear una serie de post sobre cómo utilizar determinadas APIs que Google nos ofrece, ya que en ocasi

Seguir leyendo
    gg
  • Lunes 30 de Noviembre del -0001

Publicado el lunes  7 de octubre del 2013, by Lino Uruñuela Hoy me siento optimista, no sé si será porque ya estoy casi recuperado de la operación de rodilla a la que me sometí hace un mes, pero estoy optimista. Hace poco Google anunci&oacu

Seguir leyendo
yy Google Analytics ahora cuenta las visitas desde Google Images como tráfico orgánico
Publicado el 27 de julio del 2011 Cualquier día la OMS va a declarar Google como posible factor de riesgo de infarto entre las personas que viven de internet. Y es que ahora desde el sábado Google no muestra las búsquedas desde Google Images como referencia y parece que lo ha

Seguir leyendo

Últimos posts

Últimos comentarios


javier

Buenas , esto del onclik ha cambiado actuamente en algunas web que tengo las lee y sigue enlaces
Post: ¿Cómo ejecuta, interpreta e indexa Google el contenido cargado mediante javascript?

David Girona

Antes de Nada muchas gracias por la aportación. Estoy probando de poner en marcha este procedimiento y me surgen un par de dudas. En
Post: Cómo añadir el valor del meta Robots a Google Analytics via Google Tag Manager

Javier Espinoza

Gracias por la informacion!! Este tipo de blogs me parecen muy importantes, esto lo estudio en la universidad. gracias por la informacion. h
Post: Atacados por los .cn .cz .pl

juan

Hola Lino Uruñuela, una duda ¿aun funciona? porque no lo logro. Mira, en un index.php tengo este codigo: Camuflados
Post: Ofuscando enlaces para mejorar Link Juice

DUQUEredes

Google pasa del canonical bastante :-(
Post: Comprobando comportamiento de Google con meta canonical

Marinette

Gracias por la información!
Post: Nuevo Google Search Console ¿qué información nos ofrecerá?

Adolfo

Parece que a todo el mundo le ha gustado este artículo sexista y lleno de situaciones de agresión sexual y violencia de género, ya tendr
Post: Tipos de marketing

FDM

Hola, Lino: Genial el post, como siempre. Es genial contar con personas tan curiosas y que investigan al detalle el funcionamiento de Goo
Post: La segunda ola de indexación y cómo saber qué renderiza Google

Lino Uruñuela

@Cesar saltarse alguna orden del código es un falta de respeto!, que para algo lo hice :D No se les da muy bien esperar, su tiempo es or
Post: La segunda ola de indexación y cómo saber qué renderiza Google

César Aparicio

Hola Lino, Nos conocemos de películas como: Los de Google son muy frikis o Pasodobles y SEO. Mi cuestión es la siguiente: entiendo
Post: La segunda ola de indexación y cómo saber qué renderiza Google

Contacta

Lánzate y pregunta!


He leído y acepto la política de privacidad

Mecagoenlos.com te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Lino Uruñuela. como responsable de esta web.

La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviar un correo con los datos que introduzcas, sin guardarse en ninguna base de datos.

Legitimación: Al marcar la casilla de aceptación, estás dando tu legítimo consentimiento para que tus datos sean tratados conforme a las finalidades de este formulario descritas en la política de privacidad.

Como usuario e interesado te informamos que los datos que nos facilitas estarán ubicados en los servidores de Linode.com (proveedor de hosting de Mecagoenlos.com) cumpliendo la ley de protección de datos. Ver política de privacidad de Linode.com.

Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@mecagoenlos.com, así como el derecho a presentar una reclamación ante una autoridad de control. Más información aquí.