Машинное обучение внутри Google Tag Manager

18 июля, 2023

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

Я работаю с Google Tag Manager каждый день с 2018 года. И все это время нахожу что-то новое, неизведанное, полезное для себя и своих проектов. Чего только стоит подборка нестандартных использований GTM:

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

Оно будет основано на статье Ахмеда Али (Ahmed Ali), автора блога optimizationup.com, который в свое время опубликовал материал по машинному обучению внутри Диспетчера тегов Google. Я решил адаптировать его руководство для русскоязычной аудитории, чтобы и у вас появилось понимание о роли и значимости машинного обучения в интернет-маркетинге. Уже наступил тот момент, когда маркетологу, работающему с отслеживаниями пользовательских взаимодействий на веб-сайтах и в мобильных приложений, требуются навыки программирования и умения выполнять программные задачи.

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

Существует множество библиотек машинного обучения и API, которые вы можете начать использовать уже сегодня. API машинного обучения (Machine Learning API, ML API) упрощают разработку прогностических приложений и предлагают мощные предварительно обученные модели машинного обучения через службы REST, которые вы можете использовать для своего проекта. В этой статье речь пойдет о ML API под названием Namsor.

Пример распознавания данных по введенному имени и фамилии (Яков Осипенков)

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

Прогнозирование пола и этнической принадлежности имеет множество вариантов использования в маркетинге, таких как таргетинг на аудиторию, квалификация потенциальных клиентов и многое другое. Вы можете с помощью Namsor API и Google Tag Manager передавать в свой ресурс Google Analytics 4 информацию о поле вашей аудитории, даже тогда, когда сам GA4 по каким-либо причинам не распознает ее у пользователя и не отображает в отчетности, или отображает частично.

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

Для демонстрации работы Namsor API я буду использовать свой тестовый проект graphanalytics.ru, на котором есть форма для заполнения контактных данных пользователя:

Пример формы с контактным данными

В этой форме есть поле Имя, в которую пользователь может ввести информацию. Мы будем отслеживать это введенное значение, а затем с помощью Namsor API прогнозировать пол пользователя, который оставил заявку, и отправлять эту информацию вместе с событием в инструменты аналитики.

Для этого нужно сделать следующее:

  • создать переменную, которая извлекает значение из данного поля;
  • зарегистрироваться на сайте Namsor;
  • получить ключ API;
  • создать тег с кодом вызова Namsor API;
  • создать переменную уровня данных;
  • создать триггер специального события;
  • создать тег события для аналитических систем.

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

Создание пользовательской переменной

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

Обязательно прочтите их. Извлекать значения из полей формы с помощью JavaScript можно без каких-либо проблем и боязней со стороны политики конфиденциальности. Напротив, Google не так давно сам в своих инструментах Google Tag Manager и Google Analytics 4 добавил настройки, позволяющие точнее отслеживать основные пользовательские данные.

В Google Tag Manager за это отвечает пользовательская переменная типа Данные, предоставляемые пользователями:

Переменная "Данные, предоставляемые пользователями"

И в самом GA - Использовать данные, предоставленные пользователями:

Настройка тега "Использовать данные, предоставленные пользователями"

В рамках такой настройки, чтобы помочь Google повысить точность некоторых показателей, вы должны самостоятельно настроить отслеживание данных, предоставляемых пользователями. Это может быть - электронная почта, телефон, имя и адрес, фамилия, улица, город, регион и т.д.

Для моего поля Имя в форме переменная Собственный код JavaScript будет выглядеть так:

Переменная "Собственный код JavaScript"

А с помощью режима предварительного просмотра легко убедиться, что при совершении события (отправки формы) переменная принимает нужное нам значение:

Проверка извлечения данных в переменную

Теперь переходим к настройке сервиса Namsor.

Регистрация на сайте

Перейдите по ссылке и в правом верхнем углу нажмите Register:

Регистрация на сайте Namsor

Вы можете зайти под одной из учетных записей стороннего сервиса или же совершить классическую регистрацию по электронной почте. Я выберу второй вариант:

Пример регистрации по почте

После того, как вы введете данные и нажму Sign up, вас перенаправит в интерфейс Namsor, а на почту придет приветственное письмо с активацией личного кабинета. В нем также будет написан ключ API, который вам будет нужен для Google Tag Manager:

Письмо с кодом активации и ключом API

Перейдите из ссылки из письма, чтобы активировать свой аккаунт и API Key.

Получение ключа API

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

Копирование ключа API

Скопируйте этот ключ к себе. Он вам понадобится на следующем этапе настройки.

Создание тега

Вернитесь в свой контейнер Google Tag Manager и создайте тег типа Пользовательский HTML. Вставьте в него следующие строчки кода:

, где вместо {{ваша переменная}} вы должны добавить свою собственную переменную JavaScipt, созданную на предыдущем шаге для извлечения значений из поля имени, а в строке X-API-KEY вставьте значение вашего ключа API из интерфейса Namsor.

В Google Tag Manager это будет выглядеть так:

Пользовательский HTML тег

Чтобы попросту не расходовать ваши кредиты Namsor (на бесплатном тарифе они составляют 5000 в месяц) и не активировать тег тогда, когда не было введено имя, добавьте для него дополнительное условие с проверкой - когда ваша переменная с извлеченным значением имени не содержит/не равно undefined.

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

Триггер "Отправка формы" с дополнительным условием активации

Ахмед в своем материале предлагает использовать триггер просмотра страницы:

Триггер просмотра страницы с дополнительным условием активации

Добавьте этот триггер в тег, задайте ему название и сохраните.

Создание переменной уровня данных

В коде выше присутствует конструкция уровня данных (dataLayer), в которую помещено событие:

В нем также присутствует переменная gender, которая будет возвращать предсказанный Namsor API пол пользователя. Для нее вам нужно создать переменную типа Переменная уровня данных, чтобы в дальнейшем иметь возможность передавать пол пользователя в системы аналитики:

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

Задайте название переменной и сохраните ее.

Триггер специального события

В этом же dataLayer событие имеет название namesor. Создайте триггер типа Специальное событие с этим названием события:

Триггер специального события

Он будет служить вам условием активации тега.

Тег события

В качестве примера передадим данные о предсказанном поле пользователя на основе его имени в Google Analytics 4 вместе с отправкой формы. Для этого создайте тег типа Google Аналитика: событие GA4 со следующей конфигурации:

Тег события GA4

  • Тег конфигурации - ваш идентификатор потока GA4;
  • Название события - произвольное (например, send_form, если вы отслеживаете отправку формы);
  • Параметр события - произвольное (например, user_gender);
  • Значение параметра события - переменная уровня данных, которая определяет пол пользователя по введенным данным благодаря Namsor API;
  • Триггер активации - специальное событие.

Сохраните тег и проверьте работу API машинного обучения.

Проверка корректности работы

В этом вам поможет все тот же режим отладки Google Tag Manager. Просто совершите то событие, которое отслеживаете, и посмотрите на шкалу событий.

Заполнив форму и отправив ее, я увидел два event'а - от триггера отправки формы Form Submit и событие namsor. Раскрыв уровень данных для события namsor, вы должны увидеть в переменной gender значение, которое Namsor API определил по введенной в поле Имя информации. Я вводил в форме на сайте свое имя (Яков), поэтому в переменной gender отобразилось значение male (мужчина):

Определение пола по введенному имени с помощью Namsor API

Все верно! Тег события GA4 так же был активирован:

Активация тега по событию

Открыв сведения о теге, вы увидите, как в параметрах события значение male будет передано вместе с самим событием отправки формы:

Значение пола в параметрах события

А если написать в поле женское имя (например, Маша), то Namsor в переменной уровня данных отобразит female (женщина):

Namsor распознал женское имя Маша

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

Проверка с помощью DebugView

 

После настройки события и создания специального параметра может пройти до 24 часов прежде, чем данные появятся в отчетах Google Analytics 4. В завершение не забудьте опубликовать контейнер GTM, а также в интерфейсе счетчика GA4 создать специальный параметр user_gender с областью действия Событие:

Специальный параметр user_gender

Резюме

Вот таким вот образом работает API машинного обучения стороннего сервиса. Сложный функционал? Нет, но он очень ярко и точно демонстрирует то, как искусственный интеллект проникает в различные сферы деятельности, в том числе и в интернет-маркетинг. А диспетчер тегов Google является здесь связующим звеном.

Вы бы вряд ли смогли настроить такое отслеживание самостоятельно, поскольку пользователи в поле с именем могут вводить очень много различных значений, и учесть все варианты просто невозможно. Если в поле имя пользователь ввел Петя, то это мужчина, если Маша, то женщина? И так до бесконечности перебирать все имена условиями if-then-else? Плюс еще морфология, окончания, различные алфавиты и т.д. Поручение задачи разработчику тоже ни к чему бы не привело, потому что он бы просто не стал заниматься этим. Ручная работа - бессмысленная работа. А вот ML API и самообучающиеся системы - другое дело!

И это далеко не единственный функционал Namsor. Распознавание имен, телефонов, антропонимов, топонимов, определение пола, отделение имен от фамилий, перевод имен разных стран - все это есть в этом инструменте. Но дело даже не в том, что умеет отдельно взятый сервис. Главная цель этого материала состояла в том, чтобы показать вам нестандартные возможности использования GTM и познакомить с одним из главных трендов последних лет - машинным обучением и его роли в жизни вашего проекта и бизнеса.

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

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