Ecco cosa ho fatto alla fine (non mi piaceva l'idea di incorporare il codice .Net all'interno di javascript):
- Ho configurato due account Google Analytics, uno per lo sviluppo / test e uno per la produzione
- Crea una pagina che restituisce l'ID dell'account Google Analytics (dal web.config) come suo corpo.
- Su $ (documento) .ready, effettua una chiamata ajax alla pagina
- Su Ajax completato, chiama lo script google analytics con la risposta (che contiene l'ID account)
Quindi, a seconda dell'ambiente a cui mi rivolgo, io uso entrambe le versioni del file web.config che contiene l'ID account corretto.
È un po 'più complicato, ma non implica la generazione di javascript da .NET, ed è stato molto semplice con jQuery.
Ecco il codice finale:
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);
}
});
});
E funziona perfettamente!