Отслеживание окон alert () с помощью GTM

20 декабря, 2019

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

Команда alert () выводит на экран окно с сообщением, приостанавливает выполнение сценария и дальнейшее взаимодействие пользователя со страницей до тех пор, пока это окно не закроется. В рассматриваемом примере это делается с помощью кнопки ОК:

Отслеживание окон alert () с помощью GTM

Диалоговое окно alert ()

У таких окон нет ни классов, ни идентификаторов, ни CSS-селекторов. К этому объекту таким образом нельзя достучаться. Но можно использовать готовое решение – заместитель (Proxy pattern), который позволит отслеживать такие модальные окна. Оригинал статьи и пример кода доступны по ссылке (Автор: David Vallejo).

Чтобы это сделать, необходимо в Google Tag Manager вставить в тег типа Пользовательский тег HTML следующий код:

В GTM это выглядит так:

Отслеживание окон alert () с помощью GTM

Код для отслеживания alert () в Google Tag Manager

Триггер активацииAll Pages (Все страницы). Можно задать и другое условие. Например, активировать тег только на тех страницах, где появляются такие окна.

К сожалению, это не будет работать для Internet Explorer ниже 9 версии, поскольку в них alert не функция (function), а объект (object). Поэтому в самом начале кода добавлена проверка для браузеров до IE9.

С помощью такой конструкции мы передаем информацию в dataLayer. Теперь нам необходимо создать триггер типа Пользовательское событие - alert_showed и alert_message. При этом можно использовать регулярные выражения:

Отслеживание окон alert () с помощью GTM

Триггер - Пользовательское событие

Сохраняем. Также можно создать соответствующие теги для отправки данных в Google Analytics и Яндекс.Метрику.

Теперь при заполнении формы будет открываться всплывающее окно, срабатывать событие и активироваться тег.

В режиме предварительного просмотра GTM это выглядит так:

Отслеживание окон alert () с помощью GTM

В режиме отладки GTM

В alert_message передалось и сообщение, которое пользователь видит в диалоговом окне после отправки формы:

Отслеживание окон alert () с помощью GTM

alert_message

Эта информация может пригодиться, поскольку бывают такие сайты, на которых нет проверки валидации заполненной формы, и тогда событие alert_showed будет фиксироваться каждый раз, когда пользователь просто будет нажимать на кнопку Отправить. Однако клик по кнопке не равноценен отправленной заявке.

В этом случае alert_message в Google Tag Manager можно использовать пользовательскую переменную типа Переменная уровня данных.

Отслеживание окон alert () с помощью GTM

Переменная уровня данных

И тогда наш триггер нужно немного изменить, поскольку мы будем фиксировать не все события, а только те, в которых выводится сообщение об успешной отправке заявки.

Отслеживание окон alert () с помощью GTM

Отслеживание некоторых специальных событий

Сохраняем изменения и публикуем обновленный контейнер GTM.

Метки: ,

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике