Midiendo conversiones que ocurren fuera de nuestro sitio

Seguramente, muchas veces han querido contabilizar conversiones que ocurren fuera de nuestro sitio como por ejemplo, en una web de generación de lead donde la venta ocurre por teléfono y no en el propio sitio.

Hace poco, trabajando para un cliente, me encontré precisamente en esta situación y quiero contarles en este post cómo lo resolví por si les puede ayudar o servir de ejemplo.

No significa por supuesto que sea la única manera de hacerlo, pero los resultados han quedado bastante bien y escribir un post siempre sirve para que otras personas aporten ideas de mejora o diferentes puntos de vista.

El sitio

Llamaré de manera ficticia a mi cliente como ACME FX. Esta empresa ofrece a sus clientes realizar pagos a empresas en el extranjero que impliquen cambio de moneda con unas comisiones sensiblemente inferiores a las que ofrecen los bancos o brokers.

Para convertirse en cliente de ACME FX, una persona debe pasar una serie de “pasos” , el primero de estos es dejar sus datos a través de la web y posteriormente responder a un cuestionario que lo clasifica como Qualified para seguir en el proceso de “conversión” a cliente o no.

 

El reto

Era precisamente este objetivo el que ACME FX quería tener en Analytics es decir, las conversiones serían cuántos de los usuarios que llegan al sitio y envían un contacto, acaban siendo marcados como Qualified. El reto de este proyecto por tanto, era el de conseguir que una acción que ocurre fuera de la sesión del usuario (un check en una casilla por parte del evaluador) acabase en Analytics como una conversión de objetivo asignado al usuario.

Y por si esto fuese poco, queríamos también que las conversiones se asignase al origen, medio y campañas de la sesión online.

 

El proceso para medir las conversiones

En esencia, los pasos que necesitamos seguir para poder realizar este proyecto o cualquier otro que requiera medir conversiones offline/online pero fuera de la sesión del usuario es:

  1. Necesitamos capturar el client id del usuario, el client id es un identificador único que le da Google Analytics a cada usuario que entra en el sitio y recomendamos recogerlo y guardarlo en una custom dimensión (aunque para este caso, guardarlo en una custom dimension no es estrictamente necesario)
  2. Una vez capturado, necesitamos enviar ese client id junto con los datos que envía el usuario en el formulario
  3. Una vez enviado, necesitamos almacenarlo, normalmente en nuestro CRM (o BBDD)
  4. Cuando el usuario realiza la conversión, enviamos un hit de evento mediante el measurement protocol indicando la acción de conversión, en ese hit incluiremos el client id que teníamos almacenado para que pueda ser asignado a ese usuario concreto.
  5. En Google Analytics, damos de alta un objetivo que se cumpla cuando llega un evento del tipo definido en el punto 4.

Eso es todo ;), realmente es tan fácil como parece.  Vamos a ver en detalle cada punto tal y como lo apliqué con mi cliente.

Punto 1

Dado que mi cliente tenía Google Tag Manager instalado, capturar su client id fue realmente sencillo, basta con definir una variable como “custom javascript” (podemos llamarla UA client ID por ejemplo) con el siguiente código:

Realmente lo interesante es el JavaScript, esta función devolverá el valor del client id almacenado en la cookie de Google Analytics (el mérito es de Simo Ahava y su excelente post sobre 4 custom dimensión que debes capturar para mejorar tu implementación)

Una vez lo tengas, lo puedes almacenar en una variable para mandarlo junto a los datos del usuario. Adicionalmente nosotros solemos guardarlo en una custom dimension. Hacerlo en  GTM es tan sencillo como modificar la etiqueta de seguimiento de página para que la variable sea enviada como custom dimension.

custom-dimension-userid

Envío del client id como custom dimension

 

Punto 2 y 3:

Una vez capturado el client ID, lo siguiente es mandarlo a la herramienta que gestiona nuestros leads junto con los datos del cliente, dado que hay muchas formas de mandarlo,  me centraré en mi cliente. En su caso su CRM es SalesForce y lo que hicimos fue enviar el client id como campo oculto en el formulario de contacto (o cuando se pedía una demo del producto o se dejaban los datos para solicitar un informe)

Realmente enviar el client id como campo oculto es la manera más común de mandar el dato para almacenarlo.

En SalesForce (o nuestro CRM o BBDD), creamos un campo para guardar el client id y almacenamos este valor junto con el resto de información del usuario.

proceso de guardado

Proceso de guardado del cliend ID en SalesForce

Punto 4:

Ahora viene la parte entretenida. Cuando un usuario ha enviado sus datos, interviene un evaluador que decide si este usuario pasa de Lead a Lead Qualified. Es en este punto cuando queremos considerar en Analytics una conversión . Hasta hace poco, solo podíamos mandar información a Google Analytics si nos encontrábamos en una página web. Esto ha cambiado con el measurement protocol. Este protocolo, nos ofrece una vía para mandar información a Google Analytics desde cualquier dispositivo que disponga conexión a internet, en este caso nuestro CRM.

Cuando el evaluador marca la casilla de Lead Qualified lanzamos un “hit” de Google Analytics de tipo evento, en nuestro caso este hit tiene la siguiente forma:

La explicación de los parámetros sería la siguiente:

 

Parámetro Valor Descripción
v 1 Versión de measurement protocol
t event Tipo de hit
tid <cuenta> Cuenta a la que se manda los datos
cid <Client ID> Client ID, permite relacionar los datos del CRM con los de Google Analytics
dp /salesForce Página asociada al evento, permite que filtrando la página salesForce se eliminen todos los eventos
ec Offline interaction Categoría del evento que se manda
ea Lead Status En el event action indicaremos la acción que se realiza sobre el usuario en sales force.
el Qualified Indica que el lead tiene el status de Qualified (objetivo)
ni 1 Se pone a 1 para indicar que el evento es siempre “no interactivo” con lo cual no generamos sesión con los hits del measurement protocol y no engordamos las estadísticas (dado además que los usuarios son existentes porque uso el client ID, no creo tampoco usuarios nuevos)
cd3 <Client ID> Almacena el client ID como custom dimensión

Un detalle importante es que no debemos indicar nunca ni el source ni el medium (parámetros cs y cm) en el hit de evento.

Al no indicarlos, este hit se considerará como tráfico directo con lo cual, a efectos de la conversión, aplicará el funcionamiento normal de Google Analytics que es el de tomar como fuente y medio aquellos que tenía el usuario en su última sesión online (es decir, la sesión en la que el usuario envió el lead) .

Un problema que puede aparecer es que el usuario entre de nuevo al sitio en el intervalo de tiempo que pasa desde que manda el formulario y se le clasifica como Lead Qualified, en ese caso, la fuente/medio que se asignaría a la conversión sería esta última (siempre que no sea directa) y no aquella que generó el envío del contacto.

Punto 5:

Lo que nos queda ahora es dar de alta en Analytics un nuevo objetivo, este objetivo se “disparará” cuando en Analytics se reciba un hit con el evento definido para clasificación de lead.

Objetivo

Definición del objetivo de generación de lead válido

Resultado

El resultado de todo este proceso es el que pueden ver a continuación.

Fuente y medios que generan la conversión

Informe de resultado de conversiones en Sales Force

Como podemos ver, se contabilizan las conversiones del objetivo y estas se asigna a la fuente y medio de la sesión previa online que es lo que queríamos.

Espero que el post es haya resultado útil y se animen a medir todo aquello que el usuario hace “fuera” de la sesión online.

Si tienen cualquier duda o sugerencia no duden en plantearla en los comentarios

Fernando

Autor:

Consultor de analítica web y optimización web en la consultora Metriplica. Mi pasión es mejorar el rendimiento de los websites, especialmente el de tiendas online.

2 Comments

  1. Jose Ramon

    Buenas estoy muy interesado en poder realizar este procedimiento en varias de mis webs pero al seguir el pequeño manual que tenéis en el primer punto me quedo atascado, ya que al configurar dentro de GTM la variable personalizada Javascript me tira un error diciendo “Se ha encontrado la variable desconocida ga cookie en otra variable. Edite la variable y retire la referencia a la variable desconocida.” literal sacado de GTM y he buscado y buscado esa variable dentro de mi GTM y no la encuentro, vosotros que tenéis mas experiencia ¿sabríais por que puede ser? Muchas Gracias

  2. Hola Jose Ramon,

    Ciertamente no está muy claro en el post. El error te lo da porque previamente tienes que crear una variable que se llame ga cookie que almacene el valor de la cookie de Google Analytics.

    Osea creas una variable que se llame ga cookie, indicas que es de tipo 1st party cookie y le pones como nombre de la cookie _ga

    Con esto te debería funcionar sin problemas.

    Un saludo

Leave Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.