2010-08-09 6 views
3

Je suis relativement nouveau sur Google Analytics. Je cherche un moyen d'ajouter GA à mon site ASP.Net (C#), mais gardez les numéros pour différents environnements de se mélanger. Je voudrais simplement configurer le script sur mon gabarit une seule fois, puis utiliser l'URL complète de la demande ou un paramètre web.config pour placer chaque environnement dans un chier de rapport séparé.Comment configurer Google Analytics pour séparer les sites de développement/test et de production?

- Edition -

J'ai tenté d'utiliser la suggestion de aj_whiz, mais a couru dans un problème lors de l'ouverture d'une page avec un contrôle Toolkit AJAXControl sur elle. Voici le code que j'essayais d'utiliser.

<% @ Maître Language = "C#" AutoEventWireup = "true" % CodeBehind = "de MasterPage2.master.cs" Inherits = "TruckMo.MasterPage2"> <% @ Register = Src "LinkMenu.ascx" TagName = "Linkmenų" TagPrefix = "UC1" %> TRAC Connect

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', '<%=ConfigurationManager.AppSettings["GoogleAnalyticsCode"]%>']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script>  

L'erreur que j'obtiens est "La collection Controls ne peut pas être modifiée car le contrôle contient des blocs de code (c.-à-d. . <% ...%>) » L'emplacement est AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences (...) La ligne est header.Controls.Add (lien);

Répondre

1
Code

Googly Analytics ressemble

<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 = _gat._getTracker('<%=ConfigurationManager.AppSettings["GoogleAnalyticsCode"]%>'); 
      pageTracker._initData(); 
      pageTracker._trackPageview(); 
      </script> 

vous pouvez mettre le code ci-dessus je n page maître et le code Google Analytics dans le fichier web.config avis de la ligne

('< fonction _gat._getTracker% = ConfigurationManager.AppSettings [ "GoogleAnalyticsCode"]%>');

où le code anatytics sera ramassé de web.config

+0

Cela ne fonctionne pas si AJAX Control Toolkit est utilisé sur une page. Il génère une erreur indiquant que <% and %> ne sont pas autorisés dans un contrôle. –

+0

pouvez-vous poster la source aspx? –

+1

En déplaçant le script à la fin de la section du corps, presque tout fonctionne. Google ne regarde que dans la section head lors de la vérification pour voir si le site contient le code de suivi. Maintenant que je vois mes données entrer, j'ai beaucoup de preuves. J'ai déployé le code hier soir et je peux déjà voir les rapports de trafic. –

1

La meilleure façon est de créer et Dev profils Prod. les profils sont une fonctionnalité qui vous permet de créer une vue de vos données Google Analytics qui montre que le trafic où l'URL correspond à une expression régulière. Consultez la documentation here.

3

Un commentaire rapide, Google a changé le code de suivi il y a quelques mois pour soutenir les mises à jour asycn.

Le nouveau code est dans l'en-tête, le code OLD au bas de la page. La discussion ci-dessus est une confusion entre les deux (le bloc supérieur est le nouveau et le bloc inférieur l'ancien).

1

Merci beaucoup, cela a fonctionné pour moi dans les pages aspx en donnant le même exemple. En vertu de web.config, <appSettings> ...</appSettings> ajouter:

xx-xxxxxxxx-x est le code d'analyse de Google, obtenir au cours de domaine plus

Dans les pages maîtres ASPX seulement, copiez le code ci-dessous juste avant la balise corps </>:

<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 = _gat._getTracker('<%=ConfigurationManager.AppSettings["GoogleAnalyticsCode"]%>'); 
    pageTracker._initData(); 
pageTracker._trackPageview(); 
</script>