Как и в большинстве веб-приложений, у меня есть 3 разных среды - Dev, QA и Production.
У меня есть 3 идентификатора профиля Google Analytics.
Я хотел бы понять, насколько эффективнейший способ использования приложения в том, в какой среде он находится, и использование соответствующего идентификатора без необходимости обновлять "UA-XXXXX-X" во время каждой акции.
Каждая среда имеет свой собственный поддомен, например:
Производство: www.MyWebsite.com QA: www.qa.MyWebsite.com Dev: www.dev.MyWebsite.com
Я думал использовать jQuery для захвата имени хоста и использовать соответствующий идентификатор. Мое приложение создано с использованием HTML5, jQuery и CSS.
Например:
var hostname = window.location.hostname;
var profileId;
If hostname=qa.MyWebsite.com
{
profileId = ‘123qaId
}
Elseif hostname=dev.MyWebsite.com
{
profileId = ‘123devId
}
Мысли?
var envKey = {
'dev.mydomain.com': 'XX-XXXXXXXX-X',
'qa.mydomain.com': 'YY-YYYYYYYY-Y',
'mydomain.com': 'ZZ-ZZZZZZZZ-Z'
};
var hostname = window.location.hostname;
var _gaq = _gaq || [];
_gaq.push(['_setAccount', envKey[hostname]]);
_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);
})();
var envKey = {
'mydomain.com/product1': 'XX-XXXXXXXX-X',
'mydomain.com/product2': 'YY-YYYYYYYY-Y',
'mydomain.com/product2': 'ZZ-ZZZZZZZZ-Z'
};
var hostname = window.location.hostname + window.location.pathname.replace(/(\/[^\/]+)\/.*/, "$1");
var _gaq = _gaq || [];
_gaq.push(['_setAccount', envKey[hostname]]);
_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);
})();