2013-10-27 4 views
0

Я продемонстрировал эту проблему: http://jsfiddle.net/8uC4Z/1/Настройка Google Analytics для отслеживания нескольких фрагментов?

Почему ga.getAll() имеет только один трекер вместо двух? Я следую инструкциям: https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced

/* https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced */ 

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

ga('create', 'UA-42441200-1', 'domain1'); 
ga('send', 'pageview'); // first one created is the default 

ga('create', 'UA-35320164-1 ', 'domain2'); 
ga('domain2.send', 'pageview'); 

ga(function() { 
    console.log("The following is the array of all trackers:"); 
    console.log(ga.getAll()); 
    console.log("Why is there only 1 in the array?"); 
}); // why only 1 snippet? 

ответ

2

Вслед за ответом @Steven V «s ...

Там может быть только один безымянный (по умолчанию) трекер. Когда третий параметр является строкой:

ga('create', 'UA-42441200-1', 'domain1'); 

Я предполагаю, что это ярлык для настройки трекера cookieDomain, а не имя трекера.

Вы можете использовать код быстрого доступа для первого трекера, но должны Явно назвать второй:

ga('create', 'UA-42441200-1', 'domain1'); 
ga('send', 'pageview'); // first one created is the default 
ga('create', 'UA-35320164-1', {'name': 't2'}); 
ga('t2.send', 'pageview'); 
+0

Строка версия была предложена самим Google. Это то, что вы получаете, когда отправляете копию своего фрагмента реализации. Я думаю, что вы правы, и что третий неизвестный параметр => домен cookie. Я рекомендую использовать объект для определения параметров с этого момента. – Geoff

1

Чтение documentation, правильный синтаксис:

ga('create', 'UA-12345-6', {'name': 'newTracker'}); 

где третий параметр является объектом, а не строка.

ga('create', 'UA-42441200-1', {'name': 'domain1'}); 
ga('create', 'UA-35320164-1 ', {'name': 'domain2'}); 

работает для меня с ga.getAll(), возвращая два объекта.

Смежные вопросы