Код 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 снова работать, а веб-оптимизатор перестал работать полностью.

Как правильно это сделать?

Author: Ben Hoffman, 2010-11-22

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 -->

Сделайте то же самое со своими /тестовыми сценариями.

Мне было трудно проверить это, потому что для получения хороших результатов потребовалось так много дней, но, похоже, это работает.

 1
Author: Ben Hoffman, 2011-01-20 22:24:31

Задавали ли вы вопросы в формах Google supoprt или отправляли по электронной почте самим Google?

 0
Author: Piers Karsenbarg, 2010-12-21 17:21:31
<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>
 0
Author: Simon Hayter, 2013-02-25 18:27:35