Note 5

Estoy instalando Google Analytics en mi web. He puesto todo el código en un archivo analytics.js y quiero que cumpla algunos requisitos:

  • Que se cargue de forma asíncrona
  • Que no se cargue en local
  • Que en producción pueda desactivar el trackeo tanto yo como cualquier usuario que lo desee.

De momento se deshabilita el trackeo ejecutando en la consola del navegador la función respectMyPrivacy(). Puede que termine añadiendo un botón en la web para hacerlo. 🤔

Acepto sugerencias de mejoras.

// Disable Google Analytics tracking
function respectMyPrivacy() {
localStorage.setItem('privacy', true);
console.log('I will not track you.');
}

window.respectMyPrivacy = respectMyPrivacy;



// Load Google Analytics if the user not disable it and is not localhost (gtag.js)
if (window.location.hostname != 'localhost' && ! localStorage.getItem('privacy')) {
(function() {
const gaScript = document.createElement('script');
gaScript.type = 'text/javascript';
gaScript.async = true;
gaScript.src = 'https://www.googletagmanager.com/gtag/js?id=UA-00000000-0';
document.head.appendChild(gaScript);
})();

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-00000000-0');
}