Analytics
Сейчас в сети: 1.1K
Сейчас в сети: 1.1K
Вопросы настройки тегов, правила и макросы, администрирование GTM
Подсказки
star_border
Ответить

Странная ошибка JS мешающая нормально спать

Студент ✭ ✭ ✭

Здравствуйте. Настроил передачу ошибок JS в GA через GTM.

 

Заметил постоянную ошибку - Uncaught ReferenceError: yaCounter26948ххх is not defined (3 икса последние цифры счетчика метрики)

 

Сначала подумал - фигня какая - то. А потом начал тестировать и понял что ошибка возникает при нажатиях на кнопки сайта, которые отправляют события в аналитикс и в метрику, это кнопки "добавить в корзину", "добавить в сравнение", "купить в 1 клик". Так вот ситуация в том, что в метрику события не уходят, при этом срабатывает эта ошибка JS, и при этом если взять период времени неделю то достигнутые цели всё же есть. Значит настроены типа правильно...кстати настроены автоивент тегом вот так:

<script>
$('.addCart').click (function(){                //клик по кнопке "добавить в корзину"
dataLayer.push({
'eventCategory':'button',
'eventAction':'click',
'eventLabel':'addcart',
'event':'UAevent'

})
yaCounter26948ххх.reachGoal('addcart')
});

$('#smartFilterForm').click (function(){                          //взаимодействие с фильтром товаров
dataLayer.push({
'eventCategory':'filter',
'eventAction':'click',
'eventLabel':'elements',
'event':'UAevent'
})
yaCounter26948ххх.reachGoal('filter')
});
$('.addCompare').click (function(){                          // кнопка "добавить в сравнение"
dataLayer.push({
'eventCategory':'button',
'eventAction':'click',
'eventLabel':'addCompare',
'event':'UAevent'
})
yaCounter26948ххх.reachGoal('addCompare')
});

 

Но тем не менее, если я сейчас захожу на сайт и нажимаю на эти кнопки, то вижу вот такую картину, что события в GA ушли при этом срабатывает JS ошибка, и при этом в метрику цели не прилетают, можно медитировать в отчете по конверсиям метрики хоть пол дня - они там не появляются. Хотя блин, только что хотел сделать скрин в подтверждение и ошибки уже небыло а события сработали и цели в метрике появились...ладно пробуем еще раз...блин ошибки эти перестали срабатывать, ну и цели в метрике соответственно начали фиксироваться без перебоев...вопрос всё равно актуален, что за ошибка такая и почему она то есть то её нету, и почему она блокирует отправку событий в метрику...я грешил на то, что неправильно что-то настроил..но так ли это?

p.s. еще есть вот такая ошибка связанная с метрикой - ReferenceError: yaCounter26948ххх is not defined
она на события никак не влияет но она есть и смущает меня...что это может быть? 

Заранее спасибо всем откликнувшимся.

1 Ответ экспертаverified_user

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Рабочий А
Июнь

Странная ошибка JS мешающая нормально спать

Ведущий участник

Основная проблемы бала в блокировке доступа к метрике со стороны провайдеров Украины. Скрипт метрики изменен на синхронную загрузку и с другого адреса. После чего ошибки ушли

Просмотреть решение в исходном сообщении


Все ответы

Странная ошибка JS мешающая нормально спать

Ведущий участник

на момент срабатывание тега автоивента тег метрики не сработал, из-за этого не создался объект счетчика yaCounter26948ххх, о чем и ошибка. Настройте очередность запуска тегов

Странная ошибка JS мешающая нормально спать

Студент ✭ ✭ ✭

Здравствуйте Андрей. Спасибо за ответ. Имеете ввиду вот так?

http://joxi.ru/brRgPwXcQyEYDm

Странная ошибка JS мешающая нормально спать

Ведущий участник

чтобы тег дважды не срабатывал, оставьте его только после метрики. Проверьте, что код метрики настроен на синхронную загрузку https://yandex.ru/support/metrika/code/counter-initialize.xml

Странная ошибка JS мешающая нормально спать

Студент ✭ ✭ ✭

@чтобы тег дважды не срабатывал, оставьте его только после метрики.@@

Так он работает по триггеру "Модель ДОМ готова" и поставил его отработку после тега Яндекс Метрики (выше скриншот)...не совсем понял, что это значит, можете пожалуйста объяснить?

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

Странная ошибка JS мешающая нормально спать

Ведущий участник

посмотрите внимательно на текст, в который указывает стрелочка на вашем скрине - Ваш тег также будет активироваться непосредственно после этих тегов
Чтобы скрипт не запускался 2 раза, одним из способов можно загрузить метрику по готовности DOM, за ней активировать тег скрипта. Либо метрику сделать с синхронной загрузкой на просмотр страницы и скрипт запустить по готовности DOM, или сразу после метрики, но не оба варианта.

Проблема возникает от того, что скрипт GTM асинхронный, его очередь тегов асинхронна (за исключением обработки событий в dataLayer)  и код метрики используется асинхронный.
То, что выполнился тег с кодом асинхронной загрузки другого скрипта (в вашем примере watch.js в метрике) в GTM не означает, что код самой метрики запустился. Он запуститься, когда браузер загрузит полностью скрипт watch.js. До этого времени могут сработать остальные теги.
В вашем случае, нужно обязательно именно запустить скрипт метрики в теге, а не начать его загружать. Поэтому переделайте код метрики как в примере из раздела Подключение счетчика с помощью системы управления тегами - ссылку на который давал выше

Странная ошибка JS мешающая нормально спать

Студент ✭ ✭ ✭

Ок, спасибо, я попробую поэкспериментировать с этими вариантами...но вопрос в том, почему в 1 день эта ошибка есть а в другой всё нормально...то есть вчера цели в метрику фиксировались и ошибка не выскакивала, а сегодня опять началось...может проблема глубже? Попробовал оба варианта, ошибка никуда не делась. Может на стороне сайта что-то?

Странная ошибка JS мешающая нормально спать

Ведущий участник

Пришлите ссылку на сайт и ссылку для отладки GTM
Появление ошибки зависит от того, успел загрузиться и сработать тег метрики до готовности DOM, по которой у вас стартовал второй тег или нет.  Если не успел - будет ошибка, успел - не будет ошибки. Скорость загрузки файла зависит от канала, скорость обработки HTML и JS от производительности устройства

Странная ошибка JS мешающая нормально спать

Студент ✭ ✭ ✭

А можно Вашу почту? я туда ссылку скину

Странная ошибка JS мешающая нормально спать

Ведущий участник

chtodelat@esliklientov.net