tag para manager integrar implementar habilitar google eventos etiquetas etiqueta esta configuración con anulación agregar google-analytics google-tag-manager universal-analytics

google-analytics - manager - tags para google analytics



Eventos existentes de Google Analytics y Google Tag Manager (4)

He implementado Google Analytics (GA) en mi sitio y envío varios eventos personalizados a través de ga("send", "event", ...); Funciona y funciona bien.

Estoy experimentando con Google Tag Manager (GTM). He eliminado el fragmento de código original de GA, y ahora uso GTM para inyectar la etiqueta GA en mi sitio y se realiza un seguimiento correcto de las páginas vistas. Lo que no funciona bien son mis eventos personalizados enviados por la función ga ().

He notado que GA create tiene una variable de nombre de rastreador como

ga("create", "UA-12345678-1", {name: "gtm0123456789", allowLinker: false});

y la extensión del depurador de Google Analytics para informes de Google Chrome Command ignored. Unknown target: undefined Command ignored. Unknown target: undefined .

Descubrí que enviar llamada de evento debe incluir el nombre del rastreador, por lo que debe verse como ga("gtm0123456789.send", "event", ...); , pero no quiero cambiar todas mis llamadas de GA send event existentes.

Lo solucioné rápidamente configurando el nombre del rastreador en una cadena vacía en la configuración GTM ( Edit Tag -> More Settings -> Advanced Configuration -> ☑ Tracker Name , dejando el cuadro de texto en blanco) y ahora funciona, pero no creo que sea una solución tan buena .

¿Hay alguna otra opción para que mi GA send event actual GA send event llamadas de GA send event y use también el seguimiento de eventos a través de GTM?


Hay una forma: puede cambiar el nombre de la función ga en el administrador de etiquetas (configuración avanzada, nombre de la función global), por ejemplo, a "real_ga". Luego crea una función ga personalizada en su propia página que toma los parámetros de sus llamadas de seguimiento de eventos y los pasa a la función real_ga (por lo que necesita cambiar el nombre del rastreador solo en un lugar), o mejor los empuja a dataLayer (y luego puede usar los valores de dataLayer para el seguimiento de eventos en GTM).

Pero ¿por qué querrías hacer eso? Realmente no tiene un problema, simplemente se siente mal por su solución. La respuesta correcta a esto es que, mientras funcione, no se sienta mal.


La mejor manera es implementar todo el seguimiento utilizando GTM. Le dará más control sobre sus códigos de seguimiento y más flexibilidad en la implementación de nuevas etiquetas.


Tenía la configuración similar (etiqueta de Universal Analytics en el Administrador de etiquetas de Google) y quería activar eventos desde el botón al hacer clic.

Utilicé los comentarios de petriq para resolver mi problema y, por lo tanto, quiero agregar mis notas.

El código de evento normal de Universal Analytics está en este formato:

ga("send", "event", ...);

Puede activar eventos de Universal Analytics desde su código con el nombre del rastreador:

ga("gtmXXXXXXXXXX.send", "event", ...);

Sin embargo, el nombre del rastreador cambia en cada carga de gtm, así que cambié el código de esta manera:

var trackerName = ga.getAll()[0].get(''name''); ga(trackerName + ''.send'', ''event'', { eventCategory: ''category1'', eventAction: ''action1'', eventValue: 0 });

¡Espero eso ayude!