Как отслеживать несколько учетных записей с помощью NEW analytics.js?
Мне нужно отслеживать просмотр страниц для двух учетных записей на одной странице с помощью Google new analytics.js. Существует множество учебных пособий и примеров, как это сделать с более старыми ga.js. Но все, что я нашел, это страница документации Google 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-3', 'domain.com');
ga('create', 'UA-ZZZZZZZZ-1', {'name':'b'});
ga('send', 'pageview');
ga('b.send', 'pageview');
</script>
Кто-нибудь знает, что не так с моим кодом? Выглядит хорошо, согласно примеру Google.
Ответы
Ответ 1
Ваш код для отслеживания нескольких учетных записей с помощью analytics.js верен, я успешно протестировал аналогичный код на своем сайте. Поэтому для любой возможной ошибки необходимо проверить следующее:
1, Подтвердите отправку данных отслеживания. Например, в chrome используйте плагин отладчика GA для хром, а затем в консоли javascript, посмотрите, получаете ли вы данные ниже для ваших идентификаторов отслеживания
adSenseId (&a) 425734287
apiVersion (&v) 1
clientId (&cid) xx.xx
encoding (&de) UTF-8
flashVersion (&fl) 11.8
hitType (&t) pageview
javaEnabled (&je) 1
language (&ul) en-us
location (&dl) domain.com
referrer (&dr)
screenColors (&sd) 24-bit
screenResolution (&sr) 1366x768
title (&dt) yourdomaintitle
trackingId (&tid) UA-XXXXXXXX-3
viewportSize (&vp) 1364x361
В идеале вы должны увидеть это, так как ваш код правильный, и это означает, что ваш сайт правильно отправляет 2 сигнала отслеживания.
2. Для вашего второго идентификатора отслеживания убедитесь, что идентификатор отслеживания точно такой же, как в своем веб-ресурсе GA
3, убедитесь, что вы не применяли фильтры к соответствующему представлению внутри вашего веб-ресурса, который может отфильтровывать трафик. Если вы используете какие-то фильтры, сделайте нефильтрованное представление и посмотрите, видите ли вы обзор в реальном времени.
Ответ 2
Работа с несколькими объектами отслеживания
Чтобы решить эту проблему, вы должны создать объект отслеживания для каждого веб-ресурса, которому вы хотите отправить данные:
ga('create', 'UA-12345-1', 'auto');
ga('create', 'UA-12345-6', 'auto', {'name': 'newTracker'}); // New tracker.
После запуска будут созданы два объекта трекера. Первый трекер будет объектом отслеживания по умолчанию и не будет иметь имени. Второй трекер будет иметь имя newTracker.
Чтобы отправить просмотр страницы с помощью обоих трекеров, вы добавляете имя трекера в начало команды, а затем точку. Так, например:
ga('send', 'pageview');
ga('newTracker.send', 'pageview'); // Send page view for new tracker
Ответ 3
https://developers.google.com/analytics/devguides/collection/analyticsjs/creating-trackers#working_with_multiple_trackers
С тех пор это упрощено, используя четвертый аргумент - обновленный Google от 15 декабря 2015 года.
ga('create', 'UA-XXXXX-Y', 'auto');
ga('create', 'UA-XXXXX-Z', 'auto', 'clientTracker');
ga('send', 'pageview');
ga('clientTracker.send', 'pageview');
Ответ 4
В соответствии с примером в странице документации Google Analytics, вы не должны делать:
ga('create', 'UA-XXXXXXXX-3', 'auto');
ga('create', 'UA-ZZZZZZZZ-1', 'auto', {'name':'b'});
// note this last argument ^^^^^^^^^^^^
Ответ 5
Я знаю, что это старый ответ, но поскольку я не видел, чтобы кто-нибудь упоминал об этом решении для одновременного нажатия на оба аккаунта, я думал, что поделюсь им...
Использование нескольких трекеров - путь, но если вы хотите всегда вставлять обе учетные записи, переопределите функцию ga
следующим образом:
ga('create', 'UA-XXXXXXXX-1', {
'name': 'myCustomTracker',
'cookieDomain': 'auto'
});
ga('create', 'UA-XXXXXXXX-2', 'auto');
ga(function () { //Wait for Analytics to be fully loaded
var oldGa = ga;
ga = function () { //Override ga function to call both trackers
if (arguments && arguments.length > 0) {
oldGa.apply(null, arguments);
arguments[0] = "myCustomTracker." + arguments[0]; //Edit first argument to call second tracker.
oldGa.apply(null, arguments);
}
};
ga('send', 'pageview'); //Perform page view on both trackers at once.
});
Подобным образом вы сможете называть функции ga
, как раньше, одновременно нажимать данные на оба трекера!