Esto es lo que finalmente hice (no me gustó la idea de incrustar código .Net dentro de javascript):
- Configuré dos cuentas de Google Analytics, una para desarrollo / prueba y otra para producción
- Cree una página que devuelva el ID de la cuenta de Google Analytics (de web.config) como su cuerpo.
- En $ (document) .ready, realice una llamada ajax a la página
- En Ajax completo, llame al script de google analytics con la respuesta (que contiene el ID de la cuenta)
Entonces, dependiendo del entorno en el que implemente, uso cualquiera de las versiones del archivo web.config que contiene la identificación de cuenta correcta.
Es un poco más complicado, pero no implica generar javascript desde .NET, y ha sido muy simple con jQuery.
Aquí está el código final:
var setupGoogleAnalytics = function (clientNumber) {
var gaq = gaq || [];
gaq.push(['_setAccount', clientNumber]);
gaq.push(['_setDomainName', 'none']);
gaq.push(['_trackPageview']);
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);
}
$(document).ready(function(){
$.ajax({
url: "GetGAClientNumber.aspx",
success: function(data) {
setupGoogleAnalytics(data);
}
});
});
¡Y funciona perfectamente!