Aunque ahora la moda está en implementar todas las herramientas y tags mediante Google Tag Manager, hace unos años no era así, y los que empezamos hace años a medir nuestras webs tenemos el código implementado directamente en la página, sin pasar por un TMS.
Llega un momento en el que nos decidimos a hacer la migración a un tagmanager, como por ejemplo Google Tag Manager o Qubit Opentag, pero, ¿cómo podemos hacer el cambio sin perder datos?
El proceso variará en función de la complejidad de la implementación de Google Analytics que tengas en tu web.
Instalación de Google Tag Manager en tu web
Este paso es el mismo independientemente de la complejidad de la implementación. Tienes que ir a tagmanager.google.com y crear una cuenta y un contenedor para tu web. No me entretendré en este proceso porque realmente es muy sencillo.
Una vez tengas el contenedor creado, deberás añadir el código que te muestran en todas las paginas de tu web, justo después del <body>.
Felicidades, acabas de instalar GTM en tu web! 🙂 Ahora ya puedes empezar la migración de GA a GTM 😉
Migración del código básico de Google Analytics
Si tu web se mide con el tag básico que te ofrece Google (sin ninguna configuración extra), seguramente estarás desaprovechando el potencial de la herramienta, pero a cambio te será mucho más fácil hacer la migración.
Crear un tag nuevo en GTM
Cuando añades un nuevo tag en GTM, nos da la opción de seleccionar uno de los que ya hay predefinidos o poner un código de javascript. En tu caso debes seleccionar el de Google Analytics, en concreto Universal Analytics.
Una vez seleccionado, deberemos proceder a la configuración de Google Analytics en el que deberemos informar cual es Tracking ID
de tu cuenta (el código con el formato UA-123456-1
). El tipo de medición que haremos en este tag es la que ya aparece por defecto: página vista.
Aunque puedes informar directamente el ID en la cajita correspondiente, mi recomendación es que crees una variable que informe este valor, así te será más fácil de gestionar si quieres añadir nuevos tags de GA en el tag manager.
Para crear la variable, tienes que hacer click en el botón con una pieza de lego e ir hasta el final del listado, donde te dan la opción de añadir una variable nueva.
Esta variable debe ser una constante y debe tener un nombre que puedas reconocer a posteriori. Yo normalmente la informo como gaid
, pero esto ya va a gustos. El contenido debe ser el Tracking ID de Google Analytics.
Ahora que ya hemos informado el UA toca decidir en que página aparecerá el código de Google Anaytics. En este caso es fácil, debe aparecer en todas las páginas de la web, por lo que simplemente debes seleccionar “todas las páginas” y ya está 😉
Después de guardar, ya tendrás el tag de Google Analytics configurado y listo para ser publicado.
Es importante dejar claro que, hasta que no se publiquen los cambios, todo lo que hagas no se reflejará en la web. Simplemente es un borrador.
Validar los cambios
Ya tienes GTM configurado, ahora ha llegado el momento de publicar el nuevo tag a la web. Pero antes, es recomendable validar los para asegurarse que todo funciona correctamente.
El procedimiento es muy simple, tienes que hacer click en la flecha que hay al lado del botón publicar para seleccionar la vista previa y, después, ir a la web para validar que el tag se dispara en todas las páginas (no es necesario validarlas todas, todas a no ser que pongas el tag de GTM en todas las páginas de forma manual).
Es recomendable que uses algún plugin de chrome para validar que se esté enviando la información correctamente.
Si te fijas, verás que ahora mismo se están enviando los datos 2 veces a Google. Esto es debido a que el código de GA está tanto en la web como en GTM. Ahora es el momento de eliminarlo de la web.
Publicar el contenedor
Si la validación ha sido correcta, es el momento de publicar el contenedor del GTM. En este momento, debes eliminar el código de tu web y publicar el contenedor, para asegurarse de que no está el código 2 veces en la web. Es posible que durante el cambio tengas datos duplicados durante unos minutos o te quedes sin datos durante este tiempo, depende de lo que tarden en aparecer los cambios, pero no será nada grave.
Ahora ya puedes relajarte y ver como, por fin, has podido migrar GA a GTM 😉
Si tu web tiene una implementación de Google Analytics más compleja, te recomiendo que sigas leyendo.
Migrar una implementación avanzada de Google Analytics a Google Tag Manager
Si lo que quieres migrar ya tiene una configuración más avanzada, te recomiendo que lo planifiques bien y no vayas con prisas, ya que la migración puede ser bastante más compleja.
Para hacer correctamente una migración de este estilo, vas a tener que usar el dataLayer, aunque si tienes pensado usar GTM lo más seguro es que ya lo estés haciendo (sino, deberías)
He organizado la migración por distintas funcionalidades que es posible que estés usando. Puede que estés usando alguna más, pero lo más seguro es que será muy similar a las que comento.
Crear de una nueva cuenta de Google Analytics
Antes de empezar, es muy recomendable hacer toda la migración sobre una cuenta alternativa de Google Analytics. Esto te permitirá hacer la migración sin prisas, validando que todo sea correcto y asegurándote que no pierdes datos.
Una vez hayas validado que todo se está midiendo bien, podrás modificar el código UA que informas en GTM para que vuelva a ser la cuenta en la que tienes todo el histórico.
Creación de un dataLayer
El dataLayer es una variable en formato JSON
en la que pones toda la información que vayas a necesitar. Esto te permitirá recoger toda esta información para tenerla a disposición para cualquier herramienta que uses desde GTM.
No solo debes poner datos que quieres registrar en GA, sino información que luego te pueda servir para gestionar más fácilmente donde se dispararán los tags que pongas, por ejemplo, la categoría del producto, si hay stock o no o el idioma de la página.

El formato del dataLayer es libre, puedes informar lo que quieras y como quieras, aunque si sigues algunas directrices marcadas por Google te será mucho más fácil implementar el ecommerce mejorado de Google Analytics.
Si no sabes por donde empezar para definir tu dataLayer, te recomiendo que empieces por mirarte el Customer Experience Digital Data Layer que definió la W3C hará un par de años (y que no ha tocado más) y luego lo adaptes a tus necesidades, ya que sino te quedará un dataLayer demasiado grande y difícil de gestionar. Es mejor empezar con un dataLayer pequeñito e ir haciéndolo crecer poco a poco.
Una vez tengas creado el dataLayer, deberás crear variables en GTM para cada una de las variables definidas en el dataLayer. Es mejor si usas el mismo nombre tanto en el dataLayer como en GTM, así te será más fácil saber lo que se está informando en cada momento.
Debes tener en cuenta que la implementación de este dataLayer puede ser muy costoso a nivel de desarrollo, sobretodo si pides mucha información.
Si quieres más información sobre el dataLayer, te recomiendo que leas la introducción al dataLayer que hizo David Vallejo hace un tiempo.
Migración de dimensiones y agrupaciones de contenido
Seguramente ésta es de la parte más fácil de migrar. Si ya tienes definidas las variables en el dataLayer, lo único que debes hacer es configurar el tag de GA para definir que variable del dataLayer se informa en cada dimensión.
Es mejor si los IDs de las dimensiones también están definidas como variables en GTM, ya que así te será mucho más fácil modificarlo si alguna vez necesitas hacer algún cambio.

Ten en cuenta que si tienes mas de un tag de Google Analytics configurado, deberás definirlo en todos. Lo mejor es crear primero un tag con toda la configuración necesario y luego lo duplicas y editas para que se adapte a cada uno, así será más fácil de gestionar y tendrás menos errores.
Nombre de página personalizado
En pocas ocasiones se usa esta técnica pero, cuando se usa, es extremadamente útil para poder identificar correctamente las páginas que se están visualizando.
Para modificar el nombre de página con GTM, lo único que tendrás que hacer es informar el nombre que quieres en (¿lo adivinas?) el dataLayer.
Esta variable será la que tendrás que informar la zona destinada a informar el nombre de página personalizado del tag. Como los señores de Google están en todo, si esta variable está vacía se informará el nombre de página que registra por defecto GA, por lo que no deberás crear ningún tag extra para que esto funcione bien.
Migración de eventos
Si en tu web mides muchos eventos, es posible que esta parte sea un poco más complicada, ya que lo tendrás todo repartido por la página y puede que sea complicado detectar todos los puntos en los que lanzas un evento.
Mi recomendación es que, primero de todo, modifiques la implementación de todas las llamadas a eventos para que llamen una única función. En esta función, se hará la llamada al dataLayer y al evento de Google Analytics hasta que no finalices la migración. Como esto puede ser complicado de entender si no eres técnico, aquí tienes una muestra de como debería ser el código:
analyticsEvent = function(category, action, opt_label, opt_value, opt_noninteractive) {
dataLayer.push({
'event': 'analyticsEvent',
'eventCategory': category,
'eventAction': action,
'eventLabel': opt_label,
'eventValue': opt_value,
'eventNonInt': opt_noninteractive
});
ga('send', 'event', category, action, opt_label, opt_value, {'nonInteraction': opt_noninteractive});
}
Una vez hayas sustituido todas las llamadas de eventos por la función analyticsEvent
, tu implementación de GA seguirá funcionando igual pero, además, se empezará a enviar todos los eventos a GTM.
Después de crear las respectivas variables en el dataLayer, deberás crear un nuevo tag de GA (haz una copia del principal, con toda la configuración hecha) pero indicando que lo que se cargará será un evento, en lugar de una página vista.
En los parámetros que te dará la opción de configurar, deberás informar las distintas variables definidas en el dataLayer.
Este tag no debe aparecer en todas las páginas, solo se debe disparar cuando se ejecute un evento llamada analyticsEvent
. Así, siempre que se llame la función de evento se registrará un evento en GA mediante GTM.
Cuando acabes con la migración, deberás modificar la función para que deje de llamar a ga()
y solo se envíe el evento mediante GTM.
Migración de ecommerce
La migración del ecommerce, desde que hay el ecommerce mejorado, es la parte más fácil de configurar en GTM (simplemente es marcar un checkbox), pero de las más difíciles de desarrollar, ya que hay un montón de información necesaria para poderlo medir todo.
Para que sea fácil configurar GTM, deberás informar todas las variables del dataLayer con los nombres especificados en la documentación de GTM & Enhanced Ecommerce.
Si implementas siguiendo las directrices marcadas en el documento, marcando un checkbox en los tags de GA dentro del GTM tendrás suficiente para tener hecha la integración.
Te recomiendo que empieces por lo básico, midiendo las ventas, pero que, por poco que puedas, añadas información sobre impresiones y clicks sobre productos en listados y fichas. La información que obtendrás de allí no tiene precio y te llevarás muchas sorpresas! 😉
Piensa que si estás migrando a ecommerce mejorado, tienes que activarlo en la configuración de la cuenta, sino no aparecerán los datos!
Finalizar la migración
Si todo esto lo has hecho con una nueva cuenta, tal y como comentaba al principio, lo ideal es validar que los datos coinciden para asegurarse que no te has dejado nada.
Si es así, ahora solo te falta eliminar todo el código de GA de la página y modificar el contenido de la variable gaid
e informar el UA con todos los datos históricos.
A partir de este momento, ya has migrado tu implementación de Google Analytics a GTM. ¡Felicidades! 🎉
Actualización: Para complementar todos estos pasos, te recomiendo que te crees esta macro propuesta por David Vallejo para no perder ningún hit en el proceso de transición.
Aprender más sobre GTM
Si quieres aprender más a usar GTM, te recomiendo que te apuntes al curso oficial de GTM y que te suscribas mi newsletter para seguir estando actualizado.
La foto de la cabecera se titula Container Docks
Muy útil el post, muchas gracias.
Me queda una duda, que pasa si una vez configurado el GTM no eliminamos el código de GA?
Muchas gracia
Laura
Gran post y el post de plugins también. 🙂
Gràcies! 🙂