Google Analytics - отслеживание исходящих ссылок для двух аккаунтов

Я успешно отслеживаю страницы на своем сайте для отправки отчетов в две учетные записи Google Analytics, однако я не могу получить отслеживание исходящих ссылок для отслеживания событий в учетных записях Google Analytics (это тоже не отслеживается). Есть идеи, почему функция исходящей ссылки записи не работает? Ниже мой код:

<script type="text/javascript">

  var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-1xxxxxx-x']); 
_gaq.push(['_setDomainName', 'mysite.com']); 
_gaq.push(['_setAllowLinker', true]); 
_gaq.push(['_trackPageview']); 


_gaq.push(['b._setAccount', 'UA-2xxxxxx-x']);
_gaq.push(['b._setDomainName', 'mysite.com']);
_gaq.push(['b._setAllowLinker', true]);
_gaq.push(['b._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);
  })();

function recordOutboundLink(link, category, action) { 
try { 
var onePageTracker = _gat._getTracker("UA-1xxxxxx-x"); 
var twoPageTracker = _gat._getTracker("UA-2xxxxxx-x");
onePageTracker._trackEvent(category, action); 
twoPageTracker._trackEvent(category, action);
setTimeout('document.location = "' + link.href + '"', 100) 
} catch (err) { } 
} 
</script> 

person user2297535    schedule 19.04.2013    source источник


Ответы (2)


Похоже, вы используете код на основе старого примера отслеживания исходящих ссылок Google, в котором было несколько ошибок.

Попробуйте следующее, в котором вместо этого используется _gaq.push:

function recordOutboundLink(link, category, action) { 
  try{
    _gaq.push(['_trackEvent', category,  action]);
    _gaq.push(['b._trackEvent', category,  action]);
  } catch(ignore){};
  setTimeout(function(){document.location.href = link.href;}, 100);
} 
person mike    schedule 19.04.2013

Вы можете немного сократить это ... например, вам не нужно переопределять объекты отслеживания, тем более, что вы их называете (вы назвали только один, b).

Для фактического отслеживания событий вы используете тот же _gaq.push, что и для просмотра страницы (см. Ниже).

Кроме того, не уверен на 100%, но у вас может возникнуть коллизия, если вы попытаетесь установить 2 трекера на одно и то же доменное имя ... Кажется, я припоминаю, что в этом сценарии возникали проблемы с отслеживанием по нескольким поддоменам, и мне пришлось установить префикс 1 с помощью точка.

<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['a._setAccount', 'UA-1xxxxxx-x'],
              ['a._setDomainName', 'mysite.com'],
              ['a._setAllowLinker', true],
              ['a._trackPageview'],
              ['b._setAccount', 'UA-2xxxxxx-x'],
              ['b._setDomainName', '.mysite.com'],
              ['b._setAllowLinker', true],
              ['b._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);
      })();

    function recordOutboundLink(link, category, action) { 
        try { 
            _gaq.push(['a._trackEvent', category, action, link],
                      ['b._trackEvent', category, action, link]); 
            setTimeout('document.location = "' + link.href + '"', 100); 
        } catch (err) { } 
    } 
</script> 
person vly    schedule 19.04.2013