2009-11-14 7 views
0

Je rencontre des problèmes avec Google Analytics et _trackEvent. L'utilisation semble simple dans la documentation, mais je ne peux obtenir cet exemple simple pour fonctionner. L'appel à _trackEvent échoue avec 'TypeError: o est indéfini'Problèmes Google Analytics _trackEvent

L'appel à _trackPageview aboutit et je peux le voir mis à jour dans le tableau de bord d'analyse.

J'ai essayé de jeter un coup d'œil à ga.js pour comprendre ce qui se passe - il suffit d'avoir un mal de tête à montrer pour cela!

Ceci est ma première incursion dans GA - en particulier avec des événements personnalisés. Le compte est nouveau. Tout semblait être correctement configuré - mais je ne saurais probablement pas si ce n'était pas le cas!

Cela semble si simple - mais il me manque quelque chose. Toute aide pour enlever mes banderoles est très appréciée!

-VS

Exemple HTML - seulement besoin d'un code de suivi.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-XXXXXX-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     console.log(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      console.log('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

Répondre

0

erreur de noob avec le bloc de code! voici la version complète.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-xxxxxxx-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     console.log(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      console.log('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 
0

Il s'avère qu'il faut appeler _initData() avant l'appel de _trackEvent. Je ne sais pas pourquoi c'est le cas, mais cela semble fonctionner maintenant. J'espère que ça aide quelqu'un d'autre. L'échantillon modifié ..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script type="text/javascript"> 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
    </script> 
    <script type="text/javascript"> 
     var pageTracker; 
     try { 
     pageTracker = _gat._getTracker("UA-xxxxx-1"); 
     pageTracker._trackPageview();   
     } catch(err) { 
     alert(err.toString()); 
     } 
     $(document).ready(function() { 
      try { 
      pageTracker._initData(); // <<--- The addition. 
      pageTracker._trackEvent('my_category', 'my_action', 'my_optional_label', 42); 
      } catch(err) { 
      alert('trackEvent ' + err.toString()); 
      } 
     }); 
     </script> 
    </head> 
    <body> 
    </body> 
</html>