Код Google Analytics и веб-оптимизатора, создающий двойные посещения сайта
На моем веб-сайте в настоящее время есть код асинхронного отслеживания Google в верхней части каждой страницы, а на домашней странице запущен A/B-тест. Это приводит к тому, что GA добавляет 2 посещения на каждые 1 на домашнюю страницу.
Я использовал веб-оптимизатор Google для A/B тестирования домашней страницы по сравнению с 2 другими версиями (все 3 имеют код нижнего колонтитула). Существует также одна страница цели с кодом нижнего колонтитула.
Все коды приведены ниже, удалена только идентификационная информация. Моя проблема в том, что каждый человек, который посещает мою домашнюю страницу (www.example.com) засчитывается как 2 посещения. Это явно неверно, но я не уверен, как это исправить. Я уже пробовал несколько различных вариантов, описанных ниже, но ни один из них не увенчался полным успехом.
Это мой код отслеживания GA:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
_gaq.push(['_setDomainName', '.example.com']);
_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>
Это код веб-оптимизатора под кодом отслеживания GA на www.example.com :
<script>
function utmx_section(){}function utmx(){}
(function(){var k='YYYYYYYYYY',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script><script>utmx("url",'A/B');</script>
Моя домашняя страница и 2 страницы вариантов имеют это в нижнем колонтитуле:
<script type="text/javascript">
if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/ga.js"></sc'+'ript>')</script>
<script type="text/javascript">
try {
var gwoTracker=_gat._getTracker("UA-XXXXXXXXX-37");
gwoTracker._trackPageview("/YYYYYYYYYY/test");
}catch(err){}</script>
На моей странице целей есть это:
<script type="text/javascript">
if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/ga.js"></sc'+'ript>')</script>
<script type="text/javascript">
try {
var gwoTracker=_gat._getTracker("UA-XXXXXXXXX-37");
gwoTracker._trackPageview("/YYYYYYYYYY/goal");
}catch(err){}</script>
Вот мои неудачные исправления до сих пор:
- Измените UA-XXXXXXXXX-37 на UA-XXXXXXXXX-1. Это просто увеличивает мой показатель отказов для этих страниц до 100%
- Переместите код GA перед кодом веб-оптимизатора. Это не исправило проблемы, но я оставил его, потому что считаю, что это правильно.
- Добавлено
gwoTracker=_gaq._setDomainName('.example.com');
между ._gettracker и ._trackPageview из 3 нижних колонтитулов. Это заставило GA снова работать, а веб-оптимизатор перестал работать полностью.
Как правильно это сделать?
3 answers
Я смог решить эту проблему.
Сначала вам нужно переместить код GA перед кодом веб-оптимизатора.
Затем установите свой код следующим образом:
<!-- Google Website Optimizer Conversion Script -->
<script type="text/javascript">
if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/ga.js"></sc'+'ript>')</script>
<script type="text/javascript">
try {
var gwoTracker=_gat._getTracker("UA-XXXXXXX-37");
gwoTracker._setDomainName(".example.com");
gwoTracker._trackPageview("/YYYYYYYYYY/goal");
}catch(err){}</script>
<!-- End of Google Website Optimizer Conversion Script -->
Сделайте то же самое со своими /тестовыми сценариями.
Мне было трудно проверить это, потому что для получения хороших результатов потребовалось так много дней, но, похоже, это работает.
Задавали ли вы вопросы в формах Google supoprt или отправляли по электронной почте самим Google?
<script type="text/javascript">
if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
(document.location.protocol=='https:'?'s://ssl':'://www')+
'.google-analytics.com/ga.js"></sc'+'ript>')
</script>
<script type="text/javascript">
try {
var gwoTracker=_gat._getTracker("UA-XXXXXXXXX-37");
gwoTracker._setDomainName(".example.com");
gwoTracker._setAllowLinker(true);
gwoTracker._setAllowHash(false);
gwoTracker._trackPageview("/YYYYYYYYYY/test");
}catch(err){}
</script>