He abordado el problema más generalizado de las etiquetas que no se activan en Administrador de etiquetas de Google En mi artículo sobre el Estado “Aún en ejecución”Sin embargo, existe un problema adicional al que podría enfrentarse con Google analitico:etiquetas que muestran el estado Fallidoy que se niegan a enviar datos a Google Analytics.
Hay un par de posibles razones para esto y las exploraremos en este artículo.
Tenga en cuenta que cualquier El tipo de etiqueta en Google Tag Supervisor puede indicar Fallido. Con el advenimiento de Plantillas personalizadascada vez hay más plantillas hacerlo bienlo que significa que provocan una respuesta explícita. Fallido Estado cuando la etiqueta presenta problemas. Este no es el caso de muchas plantillas nativas: simplemente absorben los errores y se niegan a indicar que algo salió mal.
X
El boletín informativo de Simmer
Suscríbete a la Boletín informativo de Simmer ¡Para recibir las últimas noticias y contenidos de Simo Ahava en tu bandeja de entrada de correo electrónico!
Hay dos razones (que se me ocurren) que manifiestan este comportamiento.
Razón 1: La biblioteca analytics.js está bloqueada
Si su navegador es bloqueo la biblioteca analytics.js, lo que significa que el cliente no puede cargarla desde https://www.google-analytics.com/analytics.js
la etiqueta señalará la Fallido estado.
Esto puede deberse a extensiones del navegador como Fantasma o Origen de uBlocko podría ser una configuración de firewall en su pink. Incluso podría ser el El propio navegador (Firefox en una ventana privadaPor ejemplo).
La forma más fácil de comprobar si este es el motivo es abrir el Crimson pestaña de su navegador herramientas de desarrolloy buscar analytics.js
Si está bloqueado, no debería aparecer en absoluto o debería aparecer con un indicador claro. En algunos navegadores, verás mensajes sobre el bloqueo de recursos en la consola del navegador.
La imagen de arriba es de Firefox.
¡Nota! Si la biblioteca analytics.js logra cargarse, pero la extensión o el navegador suprimen las llamadas a la
www.google-analytics.com/accumulate
punto last, la etiqueta será no Señalar la Fallido estado.
Razón 2: El espacio de nombres está ocupado
Cuando se carga la biblioteca de Google Analytics, intenta crear una método international llamado ga
(por defecto). Este nombre de método se puede cambiar en el Fragmento de analytics.js así como con Google Tag Supervisor (ver más abajo).
Sin embargo, si esta variable international ya está en uso, Google Analytics no puede inicializarse y el estado de la etiqueta se establece en Fallido.
Una forma sencilla de comprobarlo es ejecutar el siguiente comando en la consola de JavaScript:
console.log(window(window('GoogleAnalyticsObject')));
La respuesta debería Se parecería a algo como esto:
Sin embargo, está minimizado y podría cambiar, por lo que no es una forma segura de comprobarlo. En su lugar, también puedes probar esto:
console.log(window(window('GoogleAnalyticsObject')).loaded);
Si lo consigues undefined
significa que Google Analytics tiene no cargado y algo más está ocupando el espacio de nombres.
Es muy difícil depurar esto si otro JavaScript está sobrescribiendo el espacio de nombres de GA. Puedes intentar buscarlo en el fuentes de las herramientas de desarrollo de su navegador, o puede intentar bloqueo de scripts uno por uno hasta encontrar el que causa el conflicto.
A veces no lo es JavaScript Sin embargo, esto sobrescribe el objeto. Los navegadores tienen una forma peculiar de asignar Elementos HTML Al international window
variable también, siempre que tengan una id
atributo.
En otras palabras, si la página tiene un elemento HTML cuyo ID es el mismo que el nombre del objeto de Google Analytics (ga
De forma predeterminada, la etiqueta también indicará Fallido ¡Estado! Una forma sencilla de comprobarlo es ejecutar el siguiente código en la consola de JavaScript:
console.log(doc.querySelector('#' + window.GoogleAnalyticsObject));
Si esto devuelve un elemento HTML, significa que tienes precisamente este problema.
¡Arreglalo!
Entonces, ¿cuál es la solución?
Bueno, puedes recorrer el sitio y buscar el JavaScript que está causando problemas, o simplemente puedes Cambiar el nombre del método international mediante Google Tag SupervisorAl cambiar el nombre del método, estás protegiendo la variable de futuros conflictos.
Solo necesitas hacer esto una vezasí que no importa si está en el Variable de configuración de Google Analytics o en la configuración de una etiqueta particular person. hacer Quiero asegurarme de que el cambio se realice primero etiqueta que se activa en la página, por lo que realizar el cambio en todo Sus etiquetas son una buena precaución.
Puede encontrar la configuración expandiendo el Configuración avanzada de sus etiquetas de Common Analytics (o la variable de configuración de Google Analytics).
Escriba un nuevo valor en el Nombre de la función international campo, y asegúrese este La variable no está reservada (por ejemplo, al ejecutarse) console.log(window('yourNewVariableName'))
en la consola de JavaScript). Normalmente elijo algo como _ga
o __ga
.
Una vez que realice ese cambio, sus etiquetas deberían comenzar a funcionar bien.
Resumen
Es un caso extremo, pero cuando te afecta, puede ser muy difícil de depurar.
Los scripts que toman management de las variables globales son una de las principales razones por las que deberías Evite siempre contaminar el espacio de nombres international al escribir JavaScript.
Sin embargo, cuando hay es En caso de conflicto, normalmente te quedan dos opciones:
-
Encuentre el script o elemento HTML conflictivo y corríjalo.
-
Acepte la derrota y edite la configuración de la etiqueta de Common Analytics que se activa en la página.
Ambos tienen sus inconvenientes. A veces, no poder Cambie el script conflictivo, ya que el script no tiene la capacidad de admitir cambios en el espacio de nombres international. Y, a veces, cambiar el nombre del método en las etiquetas puede generar problemas al intentar averiguar por qué los scripts propios y de terceros que dependen del nombre del método predeterminado (ga
) de repente dejó de funcionar.
Lo importante es saber cómo depurar y clasificar el problema. Esperamos que este artículo haya brindado algunas pautas sobre cómo hacerlo.