Функция hitCallback выполняется после того, как Google Analytics передал данные на серверы Google.Обратимся сначала к официальной документации и посмотрим пример использования hitCallback:
1 2 3 4 5 6 |
ga('send', 'pageview', { 'page': '/my-new-page', 'hitCallback': function() { alert('analytics.js done sending data'); } }); |
Результатом использования этого кода будет сообщение analytics.js done sending data, которое появится после того, как данные о просмотре страницы будут переданы Google Analytics:
Таким образом, добавив несколько строк кода в стандартный код отслеживания Google Analytics мы получаем возможность использования hitCalback функции. Но как быть если мы используем тег менеджер и хотим вызвать hitcallBack в Google Tag Manager?
Как я говорил ранее, настройку можно выполнить без внесения изменений в код страниц, а также без использования тегов типа пользовательский HTML.
Первым шагом нам необходимо создать новый макрос, в который включить функцию, которая будет выполнена после отправки данных. Для примера создадим переменную:
1 2 3 4 5 |
function(){ return function(){ alert('analytics.js done sending data'); } } |
Обратите внимание, что возвращается в переменной функция, если использовать другой вариант переменной, то hitCallback будет выполняться два раза, что не правильно.
Готовый макрос выглядит следующим образом:
Второй шаг заключается в добавлении настройки к стандартному тегу Google Analytics или переменной конфигурации Google Aтalytics. Откройте ваш тег типа Universal Analytics, найдите строку Дополнительные настройки и кликните по ней левой кнопкой мыши, в открывшемся списке найдите строку Поля, которые необходимо задать и нажмите кнопку Добавить поле:
Название поля обязательно должно быть hitCallback, поле Значение указывается макрос, который был создан на первом шаге:
После этого опубликуйте версию контейнера или используйте предварительный просмотр для отладки Google Tag Manager. У меня после выполнения описанных операций отобразилось сообщение: