Отладка

В этом руководстве рассказывается, как пользоваться отладочной версией библиотеки analytics.js.

Отладочная версия analytics.js

Этот вариант библиотеки analytics.js при выполнении создает подробные записи в консоли JavaScript. Они содержат сведения об успешно выполненных командах, а также предупреждения и сообщения об ошибках в теге. Кроме того, с их помощью можно получить подробную информацию о каждом обращении, отправленном в Google Аналитику. Это позволит проверить, какие именно данные отслеживаются.

Чтобы включить отладочную версию analytics.js, измените URL в коде отслеживания JavaScript с https://www.google-analytics.com/analytics.js на https://www.google-analytics.com/analytics_debug.js:

(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','https://www.google-analytics.com/analytics_debug.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

Тестирование сайта без отправки обращений

Отладочная версия analytics.js отправляет данные в Google Аналитику точно так же, как и обычная. Это позволяет вам открывать сайт, на котором размещен код на базе analytics.js, и проверять его работу, не препятствуя отслеживанию данных.

Если вы не хотите, чтобы данные передавались в Google Аналитику (например, в среде разработки или тестирования), вы можете отключить задачу sendHitTask.

Если сайт работает на локальном хосте, то при использовании приведенного ниже кода в Google Аналитику не будет передаваться никаких данных об обращениях:

(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','https://www.google-analytics.com/analytics_debug.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');

if (location.hostname == 'localhost') {
  ga('set', 'sendHitTask', null);
}

ga('send', 'pageview');

Отладка с помощью трассировки

Эта функция позволяет получать более подробную информацию об ошибках.

Чтобы включить трассировку, загрузите отладочную версию analytics.js, как показано выше, и добавьте следующую строку кода перед всеми вызовами очереди команд ga():

window.ga_debug = {trace: true};

Полный код тега с включенной трассировкой выглядит так:

(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','https://www.google-analytics.com/analytics_debug.js','ga');

window.ga_debug = {trace: true};
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

Расширение браузера Chrome для отладки Google Аналитики

Вы можете также воспользоваться расширением для браузера Chrome, позволяющим включить отладочную версию analytics.js без изменения тега. С ее помощью можно не только проверить собственные страницы, но и узнать, как на других сайтах реализован сбор данных с помощью Google Аналитики.

Google Tag Assistant

Google Tag Assistant – расширение для браузера Chrome, которое помогает проверять тег, размещенный у вас на сайте, и решать распространенные проблемы. Это отличный инструмент для отладки и локального тестирования реализаций analytics.js перед запуском рабочей версии сайта.

Tag Assistant регистрирует типичные действия посетителей. Расширение регистрирует все обращения, которые вы отправляете, проверяет их на ошибки и предоставляет полный отчет о взаимодействиях. Оно также сообщает о проблемах и предлагает варианты улучшений.

Более подробную информацию можно найти в статьях Справочного центра о расширении Tag Assistant и об инструменте Tag Assistant Recordings. Также рекомендуем посмотреть видео, в котором Tag Assistant используется для выявления ошибок и проверки сложных реализаций отслеживания, например междоменного отслеживания.