Top

Отслеживать ошибки JavaScript как события

Отслеживать ошибки JavaScript как события

Rate this post

Собственно говоря, процесс очень прост. Намного проще, чем в интерфейсе предыдущей версии Google Tag Manager.

Кстати, обозначение «необнаруженная» относится к ошибке, которая не была найдена и обработана ни одним скриптом на странице. Самый распространённый способ обнаружения ошибок – использование вокруг своего кода блоков try...catch, которые захватывают любые ошибки, всплывающие в контексте, где находится блок. Если ошибку всё равно не удаётся обнаружить, она запустит JavaScript Error Trigger. Таким образом, это ещё и хороший способ проверять текущие методы обнаружения ошибок!

Итак, сначала убедитесь, что активированы встроенные переменные (Built-In Variables).

Затем переходите к триггерам (Triggers) и создайте новый:

Я установлю запуск триггера на «All JavaScript Errors» («Все ошибки JavaScript»), но дальше будут подсказки насчёт этого выбора, поэтому обязательно прочитайте данный пост до конца.

Наконец, вам понадобится тэг событий Google Analytics (Google Analytics Event Tag), который собирает и связывает всю эту информацию. Вот что использую я:

Результат использования этих настроек будет примерно таким:

Event Category: JavaScript Error
Event Action: Uncaught ReferenceError: appear is not defined
Event Label: 1255: http://www.simoahava.com/scripts/bundle.js

Я отсылаю это событие как Non-Interaction: True («не-взаимодействие»), потому что это не является взаимодействием и не должно считаться таковым.

Подсказки

Отслеживание ошибок в JavaScript может стать весьма противоречивым опытом. С одной стороны, это очень правильное, твёрдое отношение разработчика к делу – хотеть знать, что идёт не так (или уже пошло не так) на твоём сайте. С другой – это может вызвать лавину событий в профиле Google Analytics, отчего сеансы могут достигать лимита ответов и возникать проблемы с выборками. Так что вот вам несколько подсказок на этот счёт.

1. Отслеживать ошибки как цели Google Analytics

Так и слышу, как вы кричите: «Отслеживать ОШИБКИ как ЦЕЛИ?! Что он курит?!». Да, это не бизнес-цель, но цели могут быть и негативными. А заинтересован я в этой конкретной негативной цели потому, что хочу увидеть коэффициент конверсии для сеансов с ошибками JavaScript. Это предоставит мне всяческие крутые возможности анализировать колебания количества ошибок с течением времени. Чтобы установить цель, можно использовать такие настройки:

Затем следует создать Сигнал тревоги (Alert), который будет посылать вам email каждый раз когда количество ошибок JavaScript на вашем сайте существенно увеличится:

Теперь вы будете получать email при каждом существенном увеличении количества ошибок JavaScript, зарегистрированных на вашем сайте..

2. Использовать конкретные среды или режим отладки

Отслеживание каждой отдельной необнаруженной ошибки JavaScript может привести к лавине ответов. Современный сайт известен прежде всего количеством отправленных ошибок, а не красивым пользовательским интерфейсом или бесподобным фреймворком. Чтобы удерживать количество ошибок низким, лучше ограничить их обнаружение только конкретной средой или режимом отладки.

Таким образом будут зарегистрированы только ошибки, запущенные вашими тестерами и разработчиками. Отрицательная сторона состоит в том, конечно, что это не оригинальная настройка, и сколько ни тестируй и не отлаживать, всегда что-то будет упущено.

3. Добавить «ручную» выборку

Ещё один способ предотвратить пересылку каждой отдельной ошибки – вручную выбирать ответы, которые будут отправлены в Google Analytics. Можно, например, установить триггер на запуск только от 50% зарегистрированных ошибок. Тут можно использовать встроенную переменную случайного числа (Random Number Built-In Variable):

Смысл в том, чтобы запускать триггер только в тех случаях, когда переменная случайного числа возвращает число, которое заканчивается на 0, 1, 2, 3 или 4. Это 50% возможных вариантов.

Естественно, недостаток в том, что можно упустить некоторые ошибки, которые проявляются редко. Но большинство значительных ошибок должны обнаружиться.

4. Ошибки сценария

Если ваш сайт использует файлы JavaScript, загруженные из внешних сетей распределения контента, сообщения и номера строк ошибок, зарегистрированных в этих внешних скриптах, не показываются в браузере. С этой реальностью вам придётся работать. Не существует способа определить, где и какая ошибка имела место, поскольку браузер покажет только неопределённое сообщение «Ошибка сценария» («Script Error») с номером строки 0. Тем не менее, URL сценария всё равно виден, и можно использовать его для сужения поля возможных ошибок.

Неплохим решением будет разместить максимально возможное количество сценариев на своём сайте. Вы будете больше знать о возникающих ошибках, а кроме того – ведь зависимость от внешних сетей доставки контента может нести угрозу безопасности, если третья сторона решит добавить опасный или вредоносный код в библиотеки, которые вы используете (или если их взломают).

Итоги

Надеюсь, эта статья была полезной. Отслеживание ошибок – один из способов убедиться, что ваш сайт будет оптимально обслуживать посетителей. Google Analytics предоставляет великолепный инструмент для отслеживания этих ошибок, поскольку позволяет вам также создавать «ошибочные» события с фокусом на сеансе или на пользователях. С этими сегментами вы можете начинать анализ реального влияния ошибок на сайте на бизнес

Ошибки могут быть разрушительными для бизнеса, а использование Google Analytics для их обнаружения может помочь вам овладеть ситуацией до того, как потеряете слишком много денег.

Источник

Share