Si lees mi publicación anterior al ir a buscar el ID de cliente desde el objeto de seguimiento de Common Analytics con Administrador de etiquetas de Googlees posible que hayas estado de acuerdo conmigo en que es una mierda que no puedas acceder a la interfaz del objeto de seguimiento en tiempo actual mediante Google Tag Supervisor. Esto se debe a que todos los set
Los comandos que agrega a una plantilla de etiqueta de Common Analytics tienen lugar antes de la análisis.js se carga y el objeto de seguimiento se crea correctamente.
El otro problema con la plantilla de etiqueta es que de todos modos no hay una forma establecida de acceder al objeto de seguimiento. Quiero decir, puedes usar el set
comando, claro, pero realmente no puedes usarlo get
o, de hecho, utilice cualquier otro método de interfaz que desee, como complementos (más sobre ellos en esta publicación).
Entonces, en esta publicación quiero mostrar un método que puede usar para extraer el objeto de seguimiento para obtener cualquier información que desee y, al mismo tiempo, garantizar que los datos se puedan utilizar en el momento en que se lively la importante etiqueta de vista de página. Esta es una mejora notable con respecto al método del que hablé en la publicación anterior, que consistía básicamente en utilizar un disparador cargado en ventana para activar una etiqueta de evento no interactiva con el ID del cliente.
Este artículo fue inspirado e intelectualmente impulsado por el asombroso Carmen Mardiros (siguela: @carmenmardiros).
incógnita
El boletín a fuego lento
Suscríbete al Boletín a fuego lento para recibir las últimas noticias y contenido de Simo Ahava en su bandeja de entrada de correo electrónico.
El método
Tendrás que usar HTML personalizado para esto. ¡Lo sé, lo sé! Es un gran paso atrás respecto del increíble mundo modelado al que estás acostumbrado. El uso de una etiqueta HTML personalizada es necesario precisamente por las razones que mencioné al principio. Hasta que la plantilla de etiquetas admita la adición de código JavaScript arbitrario entre las create
y ship
comandos en la plantilla, tendrá que utilizar una solución alternativa.
La ventaja es que todo lo que necesita el código HTML personalizado es configurar el objeto de seguimiento y luego enviar un evento de inicialización a dataLayer
que posteriormente activará su etiqueta de vista de página actual. Por lo tanto, terminará con una etiqueta adicional y un retraso muy leve en su etiqueta de vista de página, pero el retraso es tan mínimo que realmente no hace una diferencia.
Esto es lo que sucederá:
-
Se crea el objeto rastreador para su código UA
-
El ID de cliente se extrae del objeto de seguimiento tan pronto como esté disponible
-
Cuando se ha extraído el ID del cliente, se inserta en
dataLayer
junto con el evento de inicialización -
Este evento activa su etiqueta de vista de página y puede usar una variable de capa de datos regular para recuperar la ID del cliente.
La etiqueta HTML personalizada
Entonces, comience creando un nuevo Etiqueta HTML personalizaday asegúrese de que se lively con el activador más temprano posible, generalmente el activador de todas las páginas.
En cuanto al código que contiene, lo obtendrá de su administrador de Google Analytics, en Configuración de propiedades -> Información de seguimiento -> Código de seguimiento.
Copie y pegue eso en su etiqueta HTML personalizada. Ahora, procede a eliminar la línea que cube ga('ship', 'pageview');
. Eliminaremos esto porque todavía queremos usar la plantilla de etiqueta actual para enviar la visita a la página vista.
Ahora, si necesita realizar alguna modificación, como agregar rastreadores adicionales, puede configurarla aquí. Esta guía ha sido escrita teniendo en mente una configuración bastante básica.
¡NOTA! Cualquier modificación en el rastreador, como allowLinker : true
configuraciones de cookies personalizadas, and so forth., deben configurarse en este rastreador HTML personalizado, de modo que el ID de cliente que obtendrá de este rastreador personalizado coincida con el utilizado por su etiqueta de vista de página principal.
La siguiente parte es importante. El análisis.js la biblioteca está cargada asincrónicamentelo que significa que en realidad no sabes cuándo se creó el objeto de seguimiento y su get
Se puede invocar el método. Entonces, la biblioteca le permite pasar una función de devolución de llamada al ga
objeto, que se ejecutará una vez que la biblioteca se haya cargado y se haya creado el rastreador. Como menciono al principio: esta característica no está disponible en la plantilla de etiqueta predeterminadapor eso necesitamos esta solución.
Para agregar la devolución de llamada, agregue las siguientes filas de código después de la ga('create', ...);
expresión:
ga(perform(tracker) {
...any strategies which want the tracker object
});
Cualquier código dentro de la función de devolución de llamada se ejecutará solo una vez que se haya cargado la biblioteca, se haya creado el rastreador y el objeto del rastreador responda a los métodos de la interfaz. En esta función de devolución de llamada, primero buscaremos el ID del cliente y luego lo insertaremos en dataLayer
junto con un evento de inicialización:
ga(perform(tracker) {
window.dataLayer.push({
'occasion' : 'trackerReady',
'cid' : tracker.get('clientId')
});
});
Como puedes ver, estoy invocando el get
comando del objeto rastreador y solicita recuperar la ID del cliente del rastreador. Esto no sería posible sin el ga(perform(tracker) {})
llamar.
Mi ejemplo private y terminado para la etiqueta HTML personalizada se ve así. Recuerde, cualquier personalización que necesite para el objeto de seguimiento también debe ir aquí, así que asegúrese de leer sobre cómo configurarlo. configuraciones avanzadas para su código de seguimiento de Common Analytics.
<script>
(perform(i,s,o,g,r,a,m)perform()()).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,doc,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{GA Monitoring Code}}', 'auto', {'allowLinker' : 'true'});
ga('require', 'simoPlugin'); // Any plugins you wish to load would go right here
ga(perform(tracker) {
window.dataLayer.push({
'occasion' : 'trackerReady',
'cid' : tracker.get('clientId')
});
});
script>
Sólo algunos comentarios sobre las personalizaciones:
-
{{Código de seguimiento de GA}} es un Variable de la tabla de búsqueda que devuelve el ID de la propiedad dependiendo de algunas condiciones.
-
ga('require', 'simoPlugin');
es donde cargará los complementos que desee utilizar con sus etiquetas. Esto falta en las plantillas de etiquetas y realmente espero que pronto tengamos la oportunidad de cargar complementos.
Eso es todo por la etiqueta HTML personalizada. El resto son cosas muy simples.
Variable de capa de datos y activador de eventos personalizados
Las otras dos cosas que necesitarás son un Variable de capa de datos para el ID del cliente y un Activador de evento personalizado para el trackerReady
evento.
No hay nada complicado en esto. El Set off también es muy easy:
Una vez que haya configurado estas dos, todo lo que necesita hacer es modificar su etiqueta de vista de página existente para adaptarse a estos cambios.
Mi etiqueta, por ejemplo, ahora tiene el ID del cliente como dimensión personalizada y está configurada para activarse con el Evento – rastreadorListo Activador que acabamos de crear.
Resumen
Este es uno de esos artículos que espero quede obsoleto pronto. Las plantillas de etiquetas actuales de Common Analytics no le permiten ejecutar JavaScript arbitrario (por ejemplo, cargar complementos) ni acceder al objeto de seguimiento una vez creado, pero antes se envía el hit de ‘página vista’.
Es por eso que necesita esta solución. Por otro lado, esto no es exactamente algo muy complejo de hacer, ya que solo está creando una etiqueta adicional para configurar el rastreador y canalizar todas las etiquetas posteriores para que no se activen hasta que se haya ejecutado la función de devolución de llamada del objeto del rastreador.
El tiempo dirá cuándo la plantilla de etiquetas de Common Analytics admitirá estas funciones. Personalmente espero que sea pronto. Google Tag Supervisor ya es el de facto mecanismo de implementación para Common Analytics, pero si no admite la configuración avanzada del objeto de seguimiento, las organizaciones más grandes, especialmente, podrían verse disuadidas de migrar hasta que dichas funciones sean compatibles de forma inmediata.