+380635889716

Отслеживание 404 ошибок через Google Tag Manager

Про интернет-маркетинг и системы аналитики

Отслеживание 404 ошибок через Google Tag Manager

Недавно столкнулся с проблемой настройки отслеживания 404 ошибок, без доступа к коду. В Интернете пишут, что реализация осуществляется через GTM (Google Tag Manager).
Чтобы приступить к работе необходимо корректно настроить GTM контейнер и через него встроенный Google Analytics. Далее перейдем к самому созданию переменной пошагово.

1. Создаем переменную

Для этого переходим в: Создание переменной - blog.websearch.com.ua
  1. На панели навигации в Google Tag Manager слева нажимаем пункт “Переменные”.
  2. В разделе “Пользовательские переменные” нажимаем “Создать”.
  3. Придумываем название для переменной, в нашем случае будет websearch test, поэтому если захотите использовать другое название, не забудь заменить это название в коде.
Название переменной в Google Teg Manager - blog.websearch.com.ua 4. Далее нужно выбрать пункт — “Собственный JavaScript”. Код JavaScript - blog.websearch.com.ua Вставляем наш код:
 function getReq(){
 var req = false;
 if (window.XMLHttpRequest) {
 try {
 req = new XMLHttpRequest();
 } catch (e) {
 req = false;
 }
 } else if (window.ActiveXObject){
 try {
 req = new ActiveXObject('Microsoft.XMLHTTP');
 } catch (e) {
 req = false;
 }
 }
 if (!req){}
 return req;
 }
После этих действий нам нужно создать еще одну переменную.

2. Создаем вторую переменную.

Это нужно для того чтобы эта переменная могла отдавать код ответа сервера при обращении к первой переменной. Выполняем такие же действия как и в первом пункте только придумываем другое название (мы выбрали “Servercode Websearch”).
function() {
 var req = {{websearch test}};
try {
 req.open('GET', '{{Page URL}}', false);
 req.send('');
 } catch (e) {
 success = false;
 error_msg = "Error: " + e;
 }
return req.status;
}
Создание переменных в Google Teg Manager- blog.websearch.com.ua

3. Создание триггера:

  • Тип триггера: “Просмотр страницы”;
  • Условия активации: “Некоторые просмотры страниц”;
  • Условия, при котором должен активироваться триггер: код ответа содержит 404.

4. Создание тега:

  • Тип тега: “Universal Analytics”;
  • Тип отслеживания: Событие;
  • Категория: мы назвали “error404”, а вы можете назвать как вам будет удобно;
  • Триггер активации: указываем триггер созданный на прошлом шагу.
Создание тега с заданными параметрами - blog.websearch.com.ua

5. Проверка работы тега и публикация

Для того чтобы убедиться что наш тег работает корректно, нужно перейти в в предварительный просмотр в Google Tag Manager.предварительный просмотр в Google Tag Manager - blog.websearch.com.ua Далее переходим на нашу 404 страницу, на любом сайте находиться по адресу “site.com/404” где вместо “site.com” вставляем название вашего сайта. Если контейнер отображается под строкой “Tags fired on this page”, значит тег установлен без ошибок. Проверка работы тега в Google Teg Manager - blog.websearch.com.ua Проверка работы тега в Google Teg Manager - blog.websearch.com.ua После того, как убедились в корректной работе тега, настраиваем отслеживание цели в Google Analytics:
  1. Цель:”Собственная”
  2. Описание цели: Название: “error404”, Тип цели: “Событие”
  3. Заполняем также.
Отслеживание цели в Google Analytics - blog.websearch.com.ua Отслеживание целей в Google Analytics - blog.websearch.com.ua

6. Заключительный шаг

Последним этапом будет проверка перехода на несуществующую страницу вашего сайта. Для того чтобы это проверить, нужно перейти на неё и посмотреть событие в Google Analytics. Чтобы это сделать переходим в “Отчеты” — “В режиме реального времени” — “События”: Проверка перехода в режиме реального времени - blog.websearch.com.ua Таким образом настраивается отслеживание 404 ошибок без вмешательства в код.

7. Альтернативный способ

Этот метод является быстрым однако нагружает сайт. Скрипт проверяет код ответа, поэтому делает дополнительный запрос к серверу. Лучшим решением будет если программист в Head 404 страницы перед кодом GTM внедрит dataLayer={‘response’: 404}. Благодаря этому можно будет повесить тригер на проверку этой переменной и не делать дополнительных запросов к серверу.