web-dev-qa-db-fra.com

Uncaught ReferenceError: ga n'est pas défini

Je veux savoir combien de fois les gens ont cliqué sur un bouton particulier (cela devrait être très simple avec Google Analytics) . Cependant, j'ai eu une erreur "Uncaught ReferenceError: ga n'est pas défini" dans la console Google et je ne trouve pas comment répare le. 

J'ai ajouté ceci dans la tête: 

     <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','ga');

      ga('create', 'UA-XXXXXXXX-X', 'auto') ; 

      ga('send', 'pageview');

    </script>

Et ajoutez un événement onclick sur le bouton en générant le code avec cet outil http://gaconfig.com/google-analytics-event-tracking/contact-form/ :

onclick="ga('send', 'event', { eventCategory: 'Book button', eventAction: 'Click', eventLabel: 'enquiry home page'});"

Ensuite, j'ai défini les objectifs dans Google Analytics, mais cette erreur persiste dans la console. 

Alors j'ai essayé d'ajouter:

var gaq = gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.Push(['_trackPageview']);

Avant de déclarer la fonction Google Analytics, mais comme elle génère une seconde erreur, je viens de la supprimer.

Est-ce que quelqu'un sait si le problème vient du script que j'utilise? Ou s'il provient du code d'événement onclick?

12
meij57

J'ai créé un code HTML simple avec le même gestionnaire de clics et de fichiers JS et l'ai exécuté sur mon serveur Apache local. Cela fonctionne parfaitement. Ne voyez aucune erreur de référence. 

Assurez-vous de ne pas avoir AdBlocker ou un autre logiciel empêchant le suivi qui pourrait bloquer GoogleAnalytics `

 <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','ga');

    ga('create', 'UA-XXXXXXXX-X', 'auto') ; 

    ga('send', 'pageview');

  </script>

<input type= "button" value ="Click Me" onclick="ga('send', 'event', { eventCategory: 'Book button', eventAction: 'Click', eventLabel: 'enquiry home page'});"/>
17
kiran

Le même problème se produisait sur mon site Web Wordpress ... j'avais un code supplémentaire de suivi des événements dans mon formulaire de contact 7, mais après avoir installé le plug-in Monster Insights, j'ai dû supprimer le code dans les Options de thème. Oubliant le code dans mes formulaires de contact, j'ai aussi reçu ce message.

Supprimez donc tout le code de suivi si vous commencez à utiliser ce plugin . J'espère que quelqu'un trouvera cette information utile .. 

4
user7305940

Vous avez déjà réglé cette question mais je voulais juste ajouter: 

Assurez-vous que votre navigateur permet aux sites de vous suivre. Si vous n'autorisez pas le suivi, le fichier Google Analytics JS ne se chargera pas et vous risquez d'obtenir cette erreur.

3
jordy

Ouvrez une nouvelle fenêtre de navigation privée. Si vous êtes connecté, le code d'analyse ne sera pas exécuté. De plus, au lieu de "ga", vous devez utiliser "__gaTracker" pour une raison quelconque Monster Insights n'utilise pas "ga" mais le change en "__gaTracker".

1
Mav2287