Este documento describe varias formas de potenciar el uso de Google Tag Manager (GTM) para hacerlo más ágil y versátil. Presenta nuevas funcionalidades de GTM como variables personalizadas, activadores de visibilidad y tablas de expresiones regulares que permiten modelar y transformar datos. También describe cómo el contenedor base de Iñaki Huerta aprovecha estas funcionalidades para tareas como deduplicar transacciones, manipular URLs, y emular etiquetas de campaña de Google Analytics.
2. Iñaki Huerta - @ikhuerta#UWAMAD
¡Hola!
Soy Iñaki Huerta
Ikaue.com
@ikhuerta
hola@ikaue.com
3. Evolución de la analítica (copiar diseño presupuestos)
Iñaki Huerta- @ikhuerta#UWAMAD
4. Nos marcamos como metas…
Iñaki Huerta- @ikhuerta#UWAMAD
Mejorar en cada proyecto nuestra metodología y procesos de
trabajo
Esto nos lleva a innovar en muchos terrenos del SEO y de la
analítica digital
5. Adoramos Google Tag Manager
Iñaki Huerta- @ikhuerta#UWAMAD
• Por su versatilidad
• Por simplificar en gran medida los procesos
• Por permitirnos “Crear” datos nuevos en los negocios
6. Google Tag Manager
Un “Simple” gestor de etiquetas javascript
Iñaki Huerta- @ikhuerta#UWAMAD
GTM
Etiquetas de GTM
Genera
Que son
capaces de
generar
muchas otras
etiquetas Google Adwords
Google Analytics
DobleClick
ComScore
ClickTale
Y casi cualquier
Herramienta…
Las etiquetas de GTM
recogen mucha información
de tu web
Y con esta
información
1. Se decide qué
etiquetas lanzar
2. Se decide con qué
parámetros
8. #UWAMAD Iñaki Huerta- @ikhuerta
Variables
Activadores
A partir de las variables
y de eventos en la página
son capaces de lanzar Etiquetas
Recogen valores de tu web o de
donde sea
9. #UWAMAD Iñaki Huerta- @ikhuerta
Etiquetas
Variables
Activadores
A partir de las variables
y de eventos en la página
son capaces de lanzar Etiquetas
Recogen valores de tu web o de
donde sea
Usan también las variables
para saber que datos
enviar a distintas plataformas
10. #UWAMAD Iñaki Huerta- @ikhuerta
El día que descubres Google Tag Manager
Tag de GTM
DataLayer
URLs – Cookies
DataLayer – Variables JS
Eventos automáticos
JS personalizado
Páginas vistas
- agrupaciones contenido
- dimensiones personalizadas
- url manipulada
Eventos
- Clicks
- Scrolls
- Tiempo
- Formularios
- Etc…
Datos de producto
- Impresiones
- Clicks
- Carrito y Checkout
- Transacciones
- Etc…
Operaciones
automáticas que GTM
hace sobre tu web
11. GTM está evolucionando a un ritmo vertiginoso
Iñaki Huerta- @ikhuerta#UWAMAD
La meta es
deshacerse del
Javascript
complejo
15. #UWAMAD Iñaki Huerta- @ikhuerta
- Lo lee
- Lo cambia
- Le asigna eventos- Gestiona cookies
- URLs
- Históricos
- Referrals
- Ajax
Etc….
16. #UWAMAD Iñaki Huerta- @ikhuerta
GTM está hecho sobre Javascript
- Lo lee
- Lo cambia
- Le asigna eventos- Gestiona cookies
- URLs
- Históricos
- Referrals
- Ajax
Etc….
17. #UWAMAD Iñaki Huerta- @ikhuerta
Pero para muchas acciones simplifica el código javascript transformándolo en simples formularios
var boton =
document.getElementById('botón-compra);
boton.click = function() {
ga('send', 'event',
'clicks', 'boton compra');
}
18. Los últimos añadidos de GTM
Iñaki Huerta- @ikhuerta#UWAMAD
- Variables custom task
- Variables de configuración de GA
- Variables de tablas RegEx
- Activadores de visibilidad: Scroll y elementos visibles
19. #UWAMAD Iñaki Huerta- @ikhuerta
Las variables custom task
Permiten manipular la configuración del objeto GA como si de código en la página se
tratase.
Lo usamos para configurar de golpe y para varios tags parte de la configuración y
tags de GA.
Etiqueta GA Custom Task
Reconfiguración de la etiqueta
de GA con código JS
20. #UWAMAD Iñaki Huerta- @ikhuerta
Las variables custom task
Config dimensiones
Config Agruaciones
Codigo JS para calcular
variables
… lo que se te ocurra
21. #UWAMAD Iñaki Huerta- @ikhuerta
Las variables custom task
https://www.simoahava.com/gt
m-tips/use-customtask-access-
tracker-values-google-tag-
manager/
22. #UWAMAD Iñaki Huerta- @ikhuerta
La variable de configuración de GA
Permiten crear personalizaciones de las etiquetas de GA y usarlas en cualquier Tag.
Así toda la definición de variables personalizadas y demás cambios solo los realizamos
una vez por cada tipo de configuración (normalmente una sola vez por cuenta)
Etiqueta GA
Config GA
Etiqueta GA
Etiqueta GA
Etiqueta GA
23.
24. UA de la cuenta
Gestion de Cookies
Dimensiones genéricas
Otras variables a configurar
26. #UWAMAD Iñaki Huerta- @ikhuerta
Las variables de tablas de Regex
Permiten transformar y modelar muchos datos con Regex (como los filtros de GA)
Lo usamos para asociaciones complejas que requerirían de scripts Javasciprt
Variable
Original
Tabla
Regex
URL Tipología
URL Niveles de Profundidad
URL Idioma
Evento Tipo de Hit
Click Tipo de enlace
27. Vamos definiendo los posibles valores de
la variable detectando coincidencias con
Expresiones regulares.
28. #UWAMAD Iñaki Huerta- @ikhuerta
Las activadores de visibilidad de la página
Permiten saber cuadno se hace hace scroll o cuando un elemento se vuelve visible
Lo usamos para lanzar eventos o etiquetas cuando queremos saber si los usuarios
perciben cierta información de la página
Contenido
Visible
Scroll
al 50%
Pagina VIrtual
Conversión
Adwords
Evento
NoBounce
29.
30. L Life
I Isn't
F Fucking
E Easy
Pero haga lo que
haga GTM la vida
es vida…
31. #UWAMAD Iñaki Huerta- @ikhuerta
Os presentamos nuestro contenedor Base
Un contenedor que nos prepara para una configuración profesional de
GTM con muchos añadidos ya definidos y a nuestro alcance.
32. #UWAMAD Iñaki Huerta- @ikhuerta
Nuestra propuesta…
Cargar
Eliminar
innecesarios
Configurar
a medida
33.
34. #UWAMAD Iñaki Huerta- @ikhuerta
Cosas básicas (y conocidas) que contiene
- Un sistema de nomenclatura claro
- Las variables más comunes ya configuradas y/o activadas
- Variable de configuración de GA ya configurada con los básicos
- Medición de outbound links
- Anulación del rebote definiendo los segundos en una variable
35. #UWAMAD Iñaki Huerta- @ikhuerta
La dimensión “data source” (Fuente de datos)
Nos informa sobre que sistema ha introducido los datos.
Por defecto coge el valor “web” siempre que se usa ga() o GTM.
Usamos un custom Task a medida que nos informa en cada dato de Analytics de :
- El Contenedor de GTM que envió el dato
- La versión del mismo
- Y si se lanzaron los datos en modo debug o no
36.
37. Dato directo de web, sin GTM
Versiones 6 y 7, publicaciones de
configuraciones de GTM distintas
Trafico de prueba en modo preview
38. #UWAMAD Iñaki Huerta- @ikhuerta
Configuración para sites multidominio
Definimos en una
tabla que UA usará
cada dominio
distinto
39. #UWAMAD Iñaki Huerta- @ikhuerta
Definir un valor de dimensión para cuando este no
nos llega en datalayer
Cuando no enviamos un valor
de dimensión GA no nos
muestra este dato de “vacios” (lo
filtra automáticamente) en los
informes.
De esta forma siempre podemos
ver todos los datos
40. Si no enviásemos el dato por defecto analytics no nos mostraría
nunca estos datos cruzados.
41. Líbrate del SPAM REFERRAL
Tus Datos de GA
Un dato Clave que añadimos
Filtro que solo permite pasar
a datos con la clave
46. #UWAMAD Iñaki Huerta- @ikhuerta
Evitando el Spam Referral por contraseña
Definimos directamente la clave como constante en GTM para que sea
fácilmente identificable y se pueda configurar como se desee.
Indicamos la clave en GTM Y la misma clave en GA
47. #UWAMAD Iñaki Huerta- @ikhuerta
Client ID directamente como dimensión
personalizada
Conocerlo nos permite hacer debug
en ciertos casos y enviar datos
desde servidores externos a esos
usuarios
48. #UWAMAD Iñaki Huerta- @ikhuerta
Trabajando el UserID de tres formas distintas
DataLayer
con UserId
&uid
Dimension User Id
Dimensión User Id
Persistente
Nos permite crear vistas de UserId
con las cuales comprobar el
comportamiento multidispositivo y
acercarnos más a los usuarios reales
Lo almacenamos como dimensión para
poder extraer informes de ID's de
usuario y asi cruzarlos con el CRM
Cuando un usuario cierra sesión
seguimos capturando su UserId
igualmetne (aunque la web lo borre)
49. #UWAMAD Iñaki Huerta- @ikhuerta
Capturando las versiones responsive de una forma
más eficiente
Manipulamos la dimensión “Screen Colors” que no usa nadie para guardar
los tipos de pantallas de los usuarios.
50. #UWAMAD Iñaki Huerta- @ikhuerta
Manipulamos las URLs
- Eliminando datos ilegales (emails, tarjetas)
- Permitiendo eliminar variables de las URLs que nos molestan
- Permitiendo manipularlas (con un poco de JS) en todos los datos a la vez
- Añadiendo el ID de transacción en las URLs que tengan venta para poder
identificarlas
- Cambiando automáticamente el valor de las URLs cuando se lanzan
como URLs virtuales
52. Activador
virtual-step
En un paso virtual en “/checkout”
Se envía:
dataLayer.push({
'event': 'virtual-step',
'addToUrl' : 'paso-1'
});
Variable
addToUrl
53. Activador
virtual-step
Pagina VIrtual
URL = Url Real + addToUrl
La url de la página virtual será:
/checkout/paso-1
En un paso virtual en “/checkout”
Se envía:
dataLayer.push({
'event': 'virtual-step',
'addToUrl' : 'paso-1'
});
Variable
addToUrl
54. Activador
virtual-step
Pagina VIrtual
URL = Url Real + addToUrl
La url de la página virtual será:
/checkout/paso-1
En un paso virtual en “/checkout”
Se envía:
dataLayer.push({
'event': 'virtual-step',
'addToUrl' : 'paso-1'
});
Variable
addToUrl
Con una sola etiqueta de página vista lo configuramos todo
55. #UWAMAD Iñaki Huerta- @ikhuerta
Deduplicando Transacciones
Analytics no deduplica el
mismo ID de transacción
entre sesiones
Esto con navegadores
abiertos y especialmente
con Chrome para móviles
supone tener siempre
transacciones duplicadas.
56. #UWAMAD Iñaki Huerta- @ikhuerta
Deduplicando Transacciones
Nueva Transacción
No la enviamos
¿Tiene alguna
Cookie con
este ID de
transacción?
Sí
???
57. #UWAMAD Iñaki Huerta- @ikhuerta
Deduplicando Transacciones
Nueva Transacción
No la enviamos
¿Tiene alguna
Cookie con
este ID de
transacción?
Sí
Generamos la cookie
No
58. #UWAMAD Iñaki Huerta- @ikhuerta
Deduplicando Transacciones
Nueva Transacción
No la enviamos
¿Tiene alguna
Cookie con
este ID de
transacción?
Sí
No
Y la enviamos a GA
Generamos la cookie
59. #UWAMAD Iñaki Huerta- @ikhuerta
Antiguamente (GA Classic) siempre sabíamos las campañas de las visitas
La cookie _utmz contiene
utm_medium
utm_source
utm_campaign
etc…
60. #UWAMAD Iñaki Huerta- @ikhuerta
Pero con universal analytics perdimos esta información
¿Y nuestras
campañas?
utm_medium
utm_source
utm_campaign
etc…
61. #UWAMAD Iñaki Huerta- @ikhuerta
Sabemos como funcionan las
campañas…
… por qué no emularlas?
Proceso
Automático
¿Tenemos
Referral?
¿es un
Buscador?
¿UTM's
en la
URL?
Proceso
Manual
medium = referral
source = {dominio}
campaign = (not set)
keyword = (not set)
content = (not set)
medium = organic
source = {buscador}
campaign = (not set)
keyword = {keyword}
content = (not set)
medium = (none)
source = (not set)
campaign = (not set)
keyword = (not set)
content = (not set)
medium = utm_medium
source = utm_source
campaign = utm_campaign
keyword = utm_term
content = utm_content
Para cada visita…
No
Sí
Sí
Sí
No
No
Se leen las etiquetas utm…
62. #UWAMAD Iñaki Huerta- @ikhuerta
Desarrollamos un código javascript que se comporte igual que lo
hace Google y genere nuestras cookies de campaña...
Variables
Etiqueta - Javascript que genera las cookies de campaña
- Utm medium
- Utm source
- Utm campaign
- Utm content
- Utm term
- Landing page
- Referal page
65. #UWAMAD Iñaki Huerta- @ikhuerta
Usos de disponer de la campaña en variablesGTM o cookies
1. Cualificación de la base de datos de conversiones
2.Deduplicación de pixeles de proveedores
3.Adaptación gráfica a campañas
67. #UWAMAD Iñaki Huerta- @ikhuerta
Se genera
la
campaña
Navegación con la campaña identificada
Se genera
la
conversión
Podemos guardar la
campaña en BBDD interna
68. #UWAMAD Iñaki Huerta- @ikhuerta
Plataforma de Campañas
Nuestro Site
Publicidad
Landing Form Agradecimiento
Con “Pixel”
Click Conversión
Herramienta Control
y Reporting
Funcionamiento de un pixel de conversión
69. #UWAMAD Iñaki Huerta- @ikhuerta
Plataforma de Campañas
Nuestro Site
Publicidad
Landing Form Agradecimiento
Con “Pixel”
Click Conversión
Herramienta Control
y Reporting
Funcionamiento de un pixel de conversión
El problema:
El pixel no controla si antes de convertir
llega una nueva campaña
70. #UWAMAD Iñaki Huerta- @ikhuerta
Pixeles con deduplicación:
Etiqueta
Activador - Que tiene en cuenta la campaña
- Que lanza el pixel de nuestro proveedor
72. #UWAMAD Iñaki Huerta- @ikhuerta
La continuidad del mesaje es una herramienta genial de
conversión para algunos canales
¡El mejor precio
del mercado!
Contrata nuestros
servicios
Baja conversión
73. #UWAMAD Iñaki Huerta- @ikhuerta
La continuidad del mesaje es una herramienta genial de
conversión para algunos canales
¡El mejor precio
del mercado!
Con el mejor precio
del mercado
¡Mucho mejor! ☺
utm_content=precio
74. #UWAMAD Iñaki Huerta- @ikhuerta
Pixeles con deduplicación:
Etiqueta
Activador - Que tiene en cuenta la campaña
- Que lanza cambios en el DOM de la web
75. #UWAMAD Iñaki Huerta- @ikhuerta
¿Cómo podemos
medir la publicidad
interna de la web?
76. #UWAMAD Iñaki Huerta- @ikhuerta
Usar UTM's no es la solución pues rompen la
campaña original…
medium=email
source=clients
medium=internal
source=slider
CAMPAÑA 1 CAMPAÑA 2
La venta se queda
con la última
campaña
Campaña Campaña interna
77. #UWAMAD Iñaki Huerta- @ikhuerta
ic_medium
ic_source
ic_campaign
ic_content
ic_term
Nuestro Sistema:
1 - Creamos variables de campaña exactamente iguales a las de GA, pero internas
/colchones.e?ic_source=portal&ic_medium
=home&ic_content=carrusel&ic_campaign
=colchones_20160226
/colchones.e
78. #UWAMAD Iñaki Huerta- @ikhuerta
Nuestro Sistema:
2 – Creamos como dimensines personalizadas estas variables en Google Analytics
79. #UWAMAD Iñaki Huerta- @ikhuerta
Variables
Etiqueta - Javascript que detecta las URLs y genera las cookies
- Internal campaign medium
- Internal campaign source
- Internal campaign campaign
- Internal campaign content
- Internal campaign term
- Internal campaign page
- Internal campaign page
Etiqueta - De página vista con dimensiones personalizadas con
los datos de campaña
1 – Gestionamos con GTM que llege esa información a esas variables
81. #UWAMAD Iñaki Huerta- @ikhuerta
Y algunas cosas más…
- Variables para medir tiempos desde carga de página ya configuradas
- Funciones para creación de cookies o emular la sesión de GA
- Variable “undefined” para hacer que un campo no se envíe
- Anulación del rebote definiendo los segundos en una variable
84. #UWAMAD Iñaki Huerta- @ikhuerta
Importar un contenedor es tan sencillo como cargar el archivo JSON
Hay que escoger si
deseamos
Sobreescribir: “resetear”
toda nuestra configuración.
O Combinar: Sumarla a lo
que ya temnemos.