Междоменное отслеживание Universal Analytics с несколькими трекерами

Итак, у меня есть код Universal Analytics с несколькими трекерами:

<script>
  (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-xxxxxxxx-x', 'auto');
  ga('create', 'UA-yyyyyyyy-y', 'auto', {'name': 'second'});
  ga('send', 'pageview');
  ga('second.send', 'pageview');
</script>

Как создать междоменное отслеживание, поскольку профиль UA-yyyyyyyy-y используется для сбора информации с двух отдельных доменов. С одним трекером это довольно просто:

<script>
  (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-yyyyyyyy-y', 'auto', {'allowLinker': true});
  ga('linker:autoLink', ['other-domain.com'] );
  ga('send', 'pageview');
</script>

Но что мне делать, если у меня 2 трекера, как настроить междоменное отслеживание для этого профиля Universal Analytics: UA-yyyyyyyy-y? Если вы ответите на мой вопрос, вы также ответите на часть этого вопроса:

http://stackoverflow.com/questions/20126897/google-analytics-cross-domain-tracking-with-multiple-trackers

person Dreadlord    schedule 24.09.2014    source источник


Ответы (1)


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

Несмотря на это, в analytics.js вы можете вызывать любой метод на любом трекере, просто добавляя к имени метода префикс имени трекера. Вы заметите, что ваш первый пример уже делает это в строке ga('second.send', 'pageview').

Итак, чтобы реализовать автоматическую привязку на обоих трекерах, вы должны сделать что-то вроде этого:

ga('create', 'UA-yyyyyyyy-y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['other-domain.com'] );
ga('send', 'pageview');

ga('create', 'UA-yyyyyyyy-y', 'auto', {name: 'second', allowLinker: true});
ga('second.require', 'linker');
ga('second.linker:autoLink', ['other-domain.com'] );
ga('second.send', 'pageview');

Обратите внимание на префикс second. во всех вызовах методов во втором блоке, который соответствует имени «второй», которое я дал трекеру.

Дополнительные сведения о подключаемом модуле автоматической компоновки см. на этом ресурсе:
https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain#autolink

А для получения дополнительной информации о различных методах и сигнатурах методов см. руководство:
https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference

person Philip Walton    schedule 25.09.2014
comment
Спасибо за помощь. Я думаю, что в этой строке есть одна синтаксическая ошибка: ga('create', 'UA-yyyyyyyy-y', 'auto', {name: 'second', allowLinker': true}); Не хватает одного апострофа - person Dreadlord; 25.09.2014