Cambia el nombre del objeto GA

En algunos casos, deseas agregar analytics.js a tu página, pero la variable ga ya se usa para otro propósito. Para solucionarlo, analytics.js proporciona un mecanismo que permite cambiar el nombre del objeto ga global.

Cambia el nombre del objeto global

La etiqueta de Google Analytics te permite cambiar el nombre del objeto ga global cambiando el parámetro final que se pasa a la función reducida. También deberás actualizar todas las invocaciones de la cola de comandos de ga() al nombre que elijas.

Por ejemplo, si quisieras cambiar el nombre del objeto ga a analytics, podrías cambiar la etiqueta de la siguiente manera:

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).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,document,'script','//www.google-analytics.com/analytics.js','analytics');

analytics('create', 'UA-XXXXX-Y', 'auto');
analytics('send', 'pageview');
</script>
<!-- End Google Analytics -->

Cambiar el nombre del objeto global de forma manual

Cambiar el nombre del objeto global funciona porque analytics.js, cuando se carga, busca una string almacenada en una variable global llamada GoogleAnalyticsObject. Si la encuentra, utiliza el nombre de la string como nuevo nombre para la cola de comandos global.

Por ejemplo, si usas el método $.getScript de jQuery para cargar analytics.js, podrías cambiar el nombre del objeto global con el siguiente código:

<script>
// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Use jQuery to load analytics.js.
$.getScript('//www.google-analytics.com/analytics.js', function() {

  // Creates a tracker and sends a pageview using the renamed command queue.
  analytics('create', 'UA-12345-1', 'auto');
  analytics('send', 'pageview');
});
</script>

Etiqueta asíncrona alternativa

A diferencia de la etiqueta estándar de Google Analytics, la etiqueta asíncrona alternativa no ofrece compatibilidad predeterminada para cambiar el nombre del objeto ga global.

Sin embargo, con la técnica descrita anteriormente, puedes cambiar el nombre del objeto ga global y seguir obteniendo todos los beneficios de precarga de la etiqueta asíncrona alternativa.

La siguiente versión modificada de la etiqueta asíncrona alternativa establece la variable GoogleAnalyticsObject en analytics y también cambia el nombre de todas las instancias de ga a analytics:

<!-- Google Analytics -->
<script>

// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Creates an initial analytics() function.
// The queued commands will be executed once analytics.js loads.
window.analytics = window.analytics || function() {
  (analytics.q = analytics.q || []).push(arguments)
};

// Sets the time (as an integer) this tag was executed.
// Used for timing hits.
analytics.l = +new Date;

// Creates a default analytics object with automatic cookie domain configuration.
analytics('create', 'UA-12345-1', 'auto');

// Sends a pageview hit from the analytics object just created.
analytics('send', 'pageview');
</script>

<!-- Sets the `async` attribute to load the script asynchronously. -->
<script async src='//www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->