Frontender Magazine

Отслеживание ошибок с помощью Google Analytics

Google Analytics всегда был больше, чем просто обыденным счётчиком посещений и инструментом статистики. Вы можете замерить эффективность рекламной кампании, понять, насколько глубоко пользователи продвигаются с точки входа на сайт до покупки, узнать, какими браузерами пользуются и на каких языках говорят ваши пользователи.

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

// Отслеживание основных JavaScript-ошибок
window.addEventListener('error', function(e) {
    _gaq.push([
        '_trackEvent',
        'JavaScript Error',
        e.message,
        e.filename + ':  ' + e.lineno,
        true
    ]);
});

// Отслёживание AJAX-ошибок
$(document).ajaxError(function(e, request, settings) {
    _gaq.push([
        '_trackEvent',
        'Ajax error',
        settings.url,
        e.result,
        true
    ]);
});

Теперь, когда вы познакомились с Google Analytics поглубже, вы сможете наблюдать техническую статистику вашего сайта наряду с обычной. Конечно, вам стоит убедить маркетологов, что это фичи, а не баги, но это уже другая история. Внедрите отслеживание ошибок с помощью Google Analytics прямо сейчас, а меня всегда сможете поблагодарить позже.

Если вы заметили ошибку, вы всегда можете отредактировать статью, создать issue или просто написать об этом Антону Немцеву в skype ravencry.

David Walsh
Автор:
David Walsh
GitHub:
darkwing
Twitter:
@davidwalshblog
Сaйт:
http://davidwalsh.name/
LinkedIn:
davidjameswalsh
Владимир Старков
Переводчик:
Владимир Старков
Сaйт:
http://iamstarkov.com
Twitter:
@iamstarkov
GitHub:
iamstarkov

Комментарии (4 комментария, если быть точным)

Автар пользователя
iamstarkov

Из той же серии очень хороший доклад Алексея Андросова «Ошибки, которые мы любим»

Также можно рассмотреть специальные сервисы для этого trackjs.com и qbaka.com

Автар пользователя
nex2hex

Не надо писать ошибки в GA: 1) Нет группировки, понять какие ошибки происходят чаще и что нужно править - сложно 2) Если ошибка происходит в асинхронных функциях (типа ajax) - желательно показать место, откуда она была вызвана 3) Уведомлений по порогу тоже нет (не будете же вы каждый раз лазить в статистику)

Кроме платных http://trackjs.com/ и https://qbaka.com/ есть https://github.com/getsentry/sentry и адаптер для js https://github.com/getsentry/raven-js

Автар пользователя
iamstarkov

Не надо писать ошибки в GA:

Может быть. В этой статье важен сам подход, который для меня прошлым летом оказался очень полезным и интересным

Автар пользователя
jumanji27

С выходом Universal GA, такие функции сильно расширились, можно слать в GA кастомные ивенты с какой-то инфой. Активно пользуемся этим для анализа работы с API. Очень удобно когда сложно следить за изменением в API, получается такой мини-CI на клиенте.

Анализ ошибок на клиенте сейчас довольно убог платные/бесплатные дают очень мало инфы, но это во многом и проблемы языка.

З.Ы. Поле комментариев залезает на плашку «Сказать» =)