GTM + Яндекс Метрика - ожидание инициализации
При работе с Google Tag Manager, далее GTM, очень удобно настраивать цели, эвенты и прочие радости аналитика. Для целей Universal Analytics в GTM есть специальный тег, настроить его просто и никаких проблем в этой связке нет.
Для счетчика и целей Яндекс Метрики, далее YM, оно и понятно, тега не предусмотрено. Для большинства задач подходит обычная вставка js кода в тег типа «Пользовательский HTML», но есть нюансы.
Uncaught ReferenceError: yaCounterXXXXXXXX is not defined
![Ошибка инициализации YM](/images/blog/2018/25-10/error.png)
Эту ошибку можно увидеть не только при использовании GTM, но с ним как правило чаще.
Ошибка намекает нам на то что счетчик метрики еще не загрузился, а мы уже что-то пытаемся передать.
Мы пытаемся передать цель еще не инициализированному счетчику, другими словами — хотим запрыгнуть в такси которое еще не подъехало.
Как исправить?
Ответ наипростейший — подождать пока такси не подъедет.
Опишу рецепт для GTM и YM, решение проблемы происходит в три шага:
1) Настройка счетчика
Идем в настройки YM, открываем дополнительные настройки, ставим галочку «Асинхронный код»
![Настройка счетчика YM](/images/blog/2018/25-10/step_1.png)
2) Дополнительный параметр счетчика
Добавляем в код вызова счетчика дополнительный параметр «triggerEvent:true» в обычных настройках его нет, взят из мана
triggerEvent:true
![Дополнительный параметр счетчика YM](/images/blog/2018/25-10/step_2.png)
3) Код вызова цели
Дорабатываем код вызова события, добавляем проверку на инициализацию YM
<script> document.addEventListener('yacounterXXXXXXXXinited',function(event){ yaCounterXXXXXXXX.reachGoal('bookForm'); }); </script>
![Настройка счетчика YM](/images/blog/2018/25-10/step_3.png)
Оставить комментарий
Комментарии (1)