Отслеживание мобильных пользователей с помощью GTM

19 сентября, 2019

Два способа определения пользователей, которые перешли на ваш сайт с мобильного устройства, с помощью Google Tag Manager.

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

Отслеживание мобильных пользователей с помощью GTM

Пример отображения сайта на компьютере и телефоне

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

А что делать, если нам необходимо отслеживать определенные действия на телефонах, чтобы потом таким пользователям показывать уникальное предложение? Если мы не определим тип устройства, с которого был осуществлен переход к нам на сайт, то и условие активации (триггер) мы никак не запустим. Запустим, конечно, силами разработчиков, но не собственными.

А чтобы это сделать самостоятельно с помощью GTM, необходимо создать пользовательскую переменную, которая отличала бы мобильных пользователей от настольных компьютеров.

Сделать это можно различными способами. Я рассмотрю 2:

  1. с помощью JavaScript кода, который определяет тип устройства в зависимости от полученной ширины экрана;
  2. с помощью JavaScript кода, который возвращает булево значение true (истина) или false (ложь).

Разберем более подробно.

Способ №1

Создаем в GTM пользовательскую переменную типа Собственный код JavaScript и вставляем туда следующий код:

В Google Tag Manager это выглядит так:

Отслеживание мобильных пользователей с помощью GTM

Переменная deviceType1

Комментарий по коду: мы объявляем переменную width, в которую заносим данные по объекту window, с помощью которого сможем получить размеры рабочей области окна браузера. За это отвечает свойство innerWidth. И объявляем переменную screenType.

Отслеживание мобильных пользователей с помощью GTM

innerWidth

Подробнее про объект window, свойства innerWidth, outerWidth и другие читайте в этой статье.

Затем запускаем условие (цикл), при котором происходит сопоставление размеров окна браузера пользователя. Если его ширина меньше или равна 768 пикселям, то в переменную screenType заносится mobile. В противном случае спускаемся на проверку следующего условия – если размеры рабочей области окна браузера больше 768 пикселей и меньше или равно 992, то в screenType заносится tablet. И в противном случае если ни одно из этих условий не сработало, то значит это desktop (ПК).

Почему 768 и 992? Все дело в размерах экранов устройств. Чтобы лучше понять, перейдите на сайт mydevice.io и в таблице Smartphones отсортируйте по убыванию столбец CSS width.

Отслеживание мобильных пользователей с помощью GTM

Таблица с разрешениями экранов (Smartphones)

В данных таблицах представлены наиболее распространенных модели устройств. Вы также можете посмотреть фактическую ширину и высота экрана для планшетов, переключившись выше на вкладку Tablets.

Как видим, значение не превышает 504 пикселей для Blackebrry Passport. Но это для портретной (вертикальной) ориентации, когда пользователь устройство держит вертикально. Но есть еще и ландшафтная ориентация (столбец CSS height), которую тоже надо учитывать. Именно поэтому в коде выставлено значение 768. Хотя сейчас у того же Apple iPhone X это значение составляет 812 пикселей.

Отслеживание мобильных пользователей с помощью GTM

Пример разрешения экрана Apple iPhone X

Примечание: в 2001 году в HTML4 и CSS2 была введена поддержка аппаратно-зависимых таблиц стилей, позволившая создавать стили и таблицы стилей для определенных типов устройств.

Из документации Mozilla:

Медиазапросы (Media Queries, @media) используются в тех случаях, когда нужно применить разные css стили, для разных устройств по типу отображения (например: для принтера, монитора или смартфона), а также конкретных характеристик устройства (например: ширины окна просмотра браузера), или внешней среды (например: внешнее освещение). Учитывая огромное количество подключаемых к интернету устройств, медиазапросы являются очень важным инструментов при создании веб-сайтов и приложений, которые будут правильно работать на всех доступных устройствах, которые есть у Ваших пользователей.

Я рекомендую ориентироваться на следующие медиазапросы:

Как видим, самые популярные разрешения смартфонов в портретной ориентации лежат в пределах 320 – 479 пикселей, у планшетов в пределах 768 – 1024 пикселей (в нашем примере я поставил 992).

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

Отслеживание мобильных пользователей с помощью GTM

Специальный отчет в Google Analytics

С помощью данного скрипта не всегда возможно со 100% вероятностью верно определить тип устройства пользователя. В этом и заключаются основные минусы способа №1:

  • установка ограничений по ширине и высоте попиксельно – какие цифры считать правильными?
  • сложно учесть ориентацию пользователя в момент просмотра сайта (держит он девайс горизонтально или вертикально?).

Как проверить? Для этого достаточно в GTM запустить режим отладки и посмотреть, какое значение передается в нашу переменную.

Отслеживание мобильных пользователей с помощью GTM

Режим отладки GTM - Способ №1

Я зашел на сайт с персонального компьютера, тип устройства он определил корректно (desktop). С помощью консоли разработчика и функции Toggle Device Toolbar я также могу протестировать адаптивный дизайн сайта путем имитации разных размеров и разрешений экрана, выбрав нужный из списка. Перезагрузив страницу, в переменной deviceType1 я получу значение mobile.

Отслеживание мобильных пользователей с помощью GTM

Toggle Device Toolbar

Эту пользовательскую переменную можно использовать в триггерах и тегах для любых условий активации (ограничивается вашей фантазией и задачами), и передавать эту информации в счетчики аналитики. Кроме этого, вы на этапе трекинга таким образом можете исключить данные, которые не планируете отправлять в Analytics. Ярким примером реализации служит клик по номеру телефона на мобильных устройствах.

Отслеживание мобильных пользователей с помощью GTM

Клик по телефонной трубке (номеру телефона) на моб. устройствах

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

Способ №2

Этот способ наиболее точный, но он возвращает не тип устройства, а булево значение true (мобильное устройство, истина) или false (нет, ложь).

Чтобы воспользоваться этим методом, в GTM также создайте пользовательскую переменную типа Собственный код JavaScript со следующим кодом (взят со Stack Overflow):

В Google Tag Manager выглядит так:

Отслеживание мобильных пользователей с помощью GTM

deviceType2

Сохраняем переменную. Идем в режим предварительного просмотра. Поскольку я захожу с компьютера, то мне возвращается значение false.

Отслеживание мобильных пользователей с помощью GTM

Режим отладки - Способ №2

Поскольку Google Analytics и данный скрипт определяет устройство через строку User-Agent, можно воспользоваться расширением User-Agent Switcher (для Google Chrome), чтобы изменить это значение.

Отслеживание мобильных пользователей с помощью GTM

Использование User-Agent Switcher

В примере я выбрал устройство iPhone 6. Как видим на скриншоте выше, переменная deviceType2 (Способ №2) определила по User-Agent, вернув значение true, а deviceType1 (Способ №1) определил как desktop, поскольку размер экрана более 992 пикселей по ширине.

Моя рекомендация: использовать способ №2.

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

Отслеживание мобильных пользователей с помощью GTM

Триггер, который срабатывает только для мобильных пользователей

Понравилась статья? Поставьте оценку ?

Метки:

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

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