Все о GTM Server Side для начинающих
До сих пор делаете вид, что понимаете, о чем идет речь, когда обсуждают серверное добавление тегов с помощью Google Tag Manager?
Эта статья – детальный гайд по GTM Server Side для начинающих. После прочтения вы поймете разницу веб- и серверного контейнеров, узнаете в чем их преимущества и недостатки, сколько стоит GTM Server side и почему он так необходим.
Меня зовут Александр Игнатенко, я занимаюсь маркетинговой аналитикой – консультирую по настройке и принятию решений с помощью данных в онлайн-маркетинге, а также помогаю с разработкой и внедрением кастомных моделей атрибуции и A/B-экспериментами. Кроме того, я веду телеграм-канал о маркетинговой аналитике «Модель атрибуции».
Содержание
Для кого эта статья
Если покопаться, то можно найти массу интересных материалов о server-side tagging в сети. Однако, все они как правило или максимально общи, или рассчитаны на узкий круг зрелых аналитиков и разработчиков. Менее продвинутым пользователям приходится тяжелее – часть терминов и сущностей остается непонятной, а логика работы и бенефиты не настолько очевидны. Это не совсем вяжется с идеологией GTM – «увольнять» прослойку разработчиков из системы управления тегами.
Поэтому и появилась эта статья – FAQ для начинающих о том, как (и для чего) устанавливать server-side-контейнер Google Tag Manager. Его развертывание и запуск – далеко не самая тривиальная задача и она требует от исполнителя наличия вполне конкретных core-компетенций (об этом ниже). Однако разбираться в принципах работы GTM Server Side важно не только аналитикам, но и маркетологам, продакт-менеджерам. В первую очередь – для принятия бизнес-решений, подготовки техзадания и других задач.
То есть – если вы управляете привлечением трафика или разработкой веб-продуктов – вам важно иметь хотя бы общее представление о server-side tagging. Хотя бы на уровне идеологии и логики. Все потому что на сегодняшний день это один из немногих доступных путей подготовиться к внедрению ограничений на использование cookies (об этом дальше). Так что эта статья для вас, если вы:
- senior-маркетологи;
- веб-аналитики;
- менеджеры веб-продуктов;
- веб-разработчики;
- все сопричастные.
В качестве базиса мною были взяты материалы блога идеолога веб-аналитики Simo Ahava – не оригинально, но так уж получилось, что его статьи гораздо лучше, живее и полезнее официальной документации.
Материал включает в себя теоретическую раскладку о server-side tagging и подробные ответы на популярные вопросы о серверном GTM-контейнере. То есть этот текст для всех любопытных, но он не для тех, кто ищет подробную инструкцию.
Детали о технической тонкостях настройки и запуска серверного контейнера сознательно опущены, поскольку это тема отдельной серии публикаций. Однако те, у кого чешутся руки, в конце статьи могут найти ссылку на инструкцию от Simo Ahava.
Что нужно знать для работы с GTM Server Side?
Оговорюсь – начинать свой путь в освоении систем управления тегами с этого материала – не самая лучшая идея. И вот почему. Да, интерфейсы Google Tag Manager, Google Analytics и Google Cloud эволюционировали в достаточно комфортные среды, управление которыми интуитивно понятно. Но тем не менее, без базового понимания работы системы управления тегами окунуться в server-side tagging означает поставить себя в условия очень серьезного стресса. Я постарался упростить лексику, снабдил материал доступными комментариями и ссылками на документацию, но и этого может оказаться недостаточно. Поэтому до начала работы убедитесь, что вы или ваш разработчик/аналитик:
- хорошо понимаете принципы работы веб-контейнера Google Tag Manager, разбираетесь в основных сущностях, способны самостоятельно настроить и отладить работу нескольких тегов – обязательно. У системы управления тегами достаточно простая логика, но без понимания того, как происходит запуск и работа с тегами, придется очень тяжело. Так что если чувствуете белые пятна в своих навыках в этой области – потратьте время на изучение доступной информации – благо что ее в избытке. Я рекомендую официальную справку, уроки Google Analytics Academy и соответствующий раздел блога Simo Ahava;
- работали с Google Analytics, понимаете как физически функционируют счетчики веб-аналитики, знакомы с основами сбора данных для анализа веб-сайтов – обязательно. Здорово, если вы понимаете, каким образом осуществляется поставка данных, как и с помощью каких идентификаторов происходит их агрегация. Если нет – ничего страшного, идем сюда, сюда или сюда;
- знакомы с Google Cloud – хотя бы на уровне структуры, а также создания и управления аккаунтом – желательно. Самое простое и эффективное решение – разворачивать server-side на серверах Google Cloud. Для понимания вопроса можно посмотреть обучающие видео на Youtube или почитать документацию;
- понимаете в чем сложности аналитики онлайн-продуктов, знаете про текущие и готовящиеся ограничения браузеров и обновления Apple в области privacy – опционально. Если вы не понимаете масштаба проблем или незнакомы с ними – на vc писали об этом тут и тут.
Что такое GTM Server Side и как он работает?
Минутка занудной теории – увы, без нее никак. Итак, имплементация Google Tag Manager доступна в двух возможных вариантах:
- Client-side (так работают сейчас большинство контейнеров);
- Server-side (анонсирован в 2020 году).
Использование GTM на стороне клиента (client-side) означает, что сам контейнер (как программный продукт) устанавливается в виде нескольких строк JavaScript непосредственно в код сайта. Что происходит после загрузки страницы? Инициализируется (запускается) и контейнер GTM. Он начинает прослушивать происходящее на этой веб-странице на предмет соответствия предварительно настроенным сущностям (триггерам). Как только он «услышит» знакомое ему условие триггера, которое было выбрано в настройках, GTM активирует так называемый тег – то есть отправит запрос с данными об этом событии на сторону – допустим в Google Analytics, Яндекс Метрику или Facebook Ads.
В аккаунте Менеджера тегов есть один или несколько контейнеров. Каждый контейнер состоит из набора макросов, правил и тегов. Существуют типы контейнеров для сайтов, AMP-страниц, приложений Android и iOS.
Например: в веб-контейнере GTM мы настроили тег Google Analytics, который должен отрабатывать при загрузке страницы, и опубликовали контейнер. После этого пользователь загружает страницу нашего веб-сайта, скрипт GTM инициализируется, детектит это событие и отправляет данные о нем непосредственно в Google Analytics. После мы идем в GA и наблюдаем изменения статистики. Так это работает в client-side.
Server-side GTM отличается тем, что данные о взаимодействии с содержимым вашего сайта отправляются не напрямую «третьим лицам» (допустим GA или Метрике), а в облачный контейнер Google Tag Manager. Там эти данные обрабатываются так называемым клиентом (об этом чуть ниже) и уже пересылаются дальше – в сервисы аналитики, рекламные кабинеты и куда бы-то ни было еще.
Иначе говоря – контейнер GTM конфигурируется не в рамках строк JavaScript-кода на вашем сайте, а на облачном сервере. Работает это так: пользователь который загружает страницу, активирует отправку так называемого HTTP-запроса в облачный контейнер GTM, там запрос обрабатывается предустановленным клиентом Google Analytics и уже потом в виде стандартизированного события уходит в ваш счётчик Google Analytics.
HTTP запросы - это текстовые сообщения, отправляемые клиентом, чтобы инициировать реакцию со стороны сервера. Их стартовая строка состоит из трёх элементов: метод HTTP, заголовки и тело запроса.
Важно:
Клиент– ключевая сущность GTM Server Side. У нее нет аналогов в веб-контейнере и она служит для предобработки данных. В облачном контейнере может быть несколько клиентов. По умолчанию установлены клиенты Universal Analytics и GA4.
Server-side GTM не подразумевает обязательной одновременной клиентской реализации диспетчера тегов, но она выглядит крайне уместной. То есть контейнерам лучше сосуществовать вместе дабы избежать лишней головной боли с настройкой тегов.
Управление серверным контейнером GTM происходит практически также, как и веб-контейнером – с помощью тегов, триггеров и переменных, хотя есть и свои отличия.
Серверный контейнер должен быть развернут на отдельном сервере. Чаще всего говорят про реализацию на Google Cloud, как наиболее простую и доступную для большинства неискушенных пользователей. Однако это могут быть и облачные серверы любого другого провайдера.
Для чего нужен GTM Server Side и в чем его преимущества?
У использования серверного контейнера есть несколько преимуществ.
First-party context
Это ключевое. На сегодняшний день устанавливая на свой сайт скрипты сторонних сервисов (счетчики аналитики, пиксели ремаркетинга, соцсетей и другие), вы должны отдавать себе отчет в том, что данные о посетителях вашего проекта будут уходить в эти сервисы. Пользователи не всегда этому рады. Общество этому не радо никогда , Именно поэтому возникает давление на браузеры, которое ведет к тому, что последние постоянно ужесточают возможность отправки пользовательских данных третьим лицам.
Cookies – небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Веб-клиент (обычно веб-браузер) всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя.
Пример такой инициативы – запрет Google на использование 3rd-party cookies в браузере Google Chrome с 2023г. Более подробно последствия этого решения для владельцев сайтов и рекламодателей описаны здесь, но если в двух словах – у тех и у других пропадет возможность получать данные о посетителях с адекватной точностью, так как условные Google Analytics или Яндекс Метрика в контексте вашего продукта – сторонние сервисы, и просто так (без явного согласия юзера) делиться этими данными с кем попало нельзя.
Но если вы отправляете данные с вашего веб-сайта не напрямую в Google Analytics, а в серверный GTM-контейнер, который ассоциирован с вашим же доменом, то вы соблюдаете так называемый first-party context. Это важная разница – если ваш сайт находится на домене mysite.com, а GTM-контейнер скажем на gtm.mysite.com, то информация о посетителях:
а) становится недоступна другим JS-скриптам в браузере;
б) обрабатывается на вашем собственном сервере, а не непонятно где;
в) позволяет вам после предобработки получать статистически верные данные.
Конечно, server-side tagging – это не единственная альтернатива 3rd-party cookies. Но другие или уже в прошлом (как FLOC от Google), или ограничены платформами (SKADNetwork от Apple), или страдают в плане точности от тех же самых ограничений (браузерные localStorage, Fingerprint). Так что, серверный контейнер на текущий момент – лучшее решение для решения 3rd-party-проблемы по соотношению простоты и эффективности.
Ускорение работы сайта
В случае использования скриптов аналитики непосредственно в коде сайта это почти всегда негативно сказывается на скорости загрузки и общей производительности веб-страниц. Сама по себе работа сторонних сервисов не несет вашим пользователям какой-то ценности, но способна замедлять работу сайта. Почему же их (пользователей) опыт должен от этого страдать? Перенося работу аналитических скриптов в облако с помощью серверного GTM, вы поможете страницам вашего веб-продукта загружаться быстрее и возможно поспособствуете позитивным изменениям в поисковом ранжировании.
При этом необходимо трезво оценивать роль удаления и оптимизации JS-кода – это всего лишь шажок в комплексе мере и само по себе не является панацеей, не заставит веб-сайт летать и не поднимет вас в одночасье в топ выдачи.
Безопасность данных
К сожалению, управлять тем, какие данные будут собирать сторонние сервисы, расположенные в виде скриптов в коде вашего сайта, практически невозможно. Зачастую, исходя из бизнес-задач они (сервисы) будут получать гораздо больше данных, чем им необходимо. Кроме того, недобросовестные разработчики могут прибегать к манипуляциям с данными, которые строго говоря являются конфиденциальными, и даже искажать вашу статистику, отправляя скажем фейковые запросы к Google Analytics.
Происходит это по двум причинам:
а) скрипты сторонних разработчиков, установленные на вашем сайте, все равно остаются для вас и пользователей чужими продуктами;
б) их работа пока что регулируется достаточно слабо.
Один из свежих примеров общественного давления со стороны регулятора: решение австрийского управления по защите данных (DSB), признавшего незаконным использование Google Analytics на территории ЕС.
Используя серверный контейнер GTM, вы осуществляете предобработку данных де-факто самостоятельно и сами решаете, что отправлять в сервисы аналитики, а что нет. Кроме того, вы более свободны в использовании конфиденциальных данных – в случае если пользователь вам это доверил – и можете не бояться их утечки.
Вишенка на торте – блокировщики рекламы
Существующие на сегодняшний день решения для блокировки нежелательного контента на сайте (браузерные расширения или ограничения самого браузера) работают просто: пресекают функционирование определенного трекера (как правило состоящего в стоп-листе – здесь компания Avast любезно опубликовала материал о механике работы блокировщиков рекламы) с отправкой запроса сторонним сервисам. Но что если запрос уходит на ваш сервер, который связан с вашим же доменом? Тогда прервать его работу топорным методом расширений, блокирующих работу Google Analytics или каких-то рекламных сервисов, уже не получится. И это не самое очевидное, но все же преимущество использования серверного GTM.
Сколько стоит GTM Server Side?
Стоимость использования GTM-контейнера на стороне сервера целиком и полностью привязана к ценообразованию вашего провайдера. Чаще всего прайс будет производной от загруженности веб-сайта. Посмотрим на стоимость на примере Google Cloud.
Ключевая характеристика, влияющая на использование серверного GTM на Google Cloud – это количество необходимых серверов. Googlе в своей документации рекомендует использовать от 3 до 6 серверов (является настройкой по умолчанию), что позволит обрабатывать 50-200 запросов в секунду. Этого скорее всего с лихвой хватит e-commerce- и издательским проектам средней руки. На сегодняшний стоимость одного сервера с 1 vCPU, 0.5 GB memory, 10 GB disk составляет $40 в месяц.
То есть, исходя из рекомендаций (от 3 серверов), вам необходимо $40 x 3 = $120 в месяц. Для более высоконагруженных проектов стоимость будет расти, но к сожалению калькулятора для быстрого расчета стоимости я так до сих пор и не встретил.
Ну и конечно, если вы только-только создаете проект в Google Cloud, то получите $400 велком-бонуса. Это необходимо учитывать при расчете расходов для установки и запуска серверного контейнера.
Что нужно для установки и настройки серверного GTM-контейнера?
Этот раздел – своеобразный чек-лист до начала работы по установке GTM Server Side. Ниже описан необходимый минимум, достаточный для внедрения аналитики вашего ресурса с помощью Google Analytics, GA4 и Google Tag Manager в своей серверной имплементации. Итак, до начала работы вам необходимы:
- Установленный веб-контейнер GTM. Строго говоря, это не является обязательным, но для простоты и удобства используйте именно этот вариант. Это позволит комфортно осуществлять отладку работы серверного контейнера. Если вы в самом начале пути, начните с установки веб-контейнера GTM на ваш сайт, следуя этой простой инструкции.
- Чаще всего для имплементации server-side GTM рассматривается работа тега Google Analytics. Так что нужен рабочий счетчик GA4 или Universal Analytics c реализацией через диспетчер тегов с помощью переменной настроек Google Analytics. Это также очень тривиальные задачи, их реализация подробно описана в справке здесь и здесь.
- Платежный аккаунт на Google Cloud для развертывания серверного контейнера. Для начала вы можете просто создать его по видео-инструкции, не пополняя баланс.
- Доступ к панели управления DNS от вашего хостинг провайдера для внесения новых записей. Тут находится пример инструкции от популярного хостинг-провайдера.
Заключение
Это все, что важно знать о внедрении системы управления тегами с помощью сервера. Тонкости реализации, настройки тегов, переменных, изменения DNS-записей, отладки контейнера вы можете подсмотреть в многочисленных инструкциях. Я рекомендую ту, что опубликовал Simo Ahava, однако она не является единственно верной.
Система серверного управления тегами находится в стадии бурного роста, поэтому много в этой статье будет нуждаться в скорых обновлениях. Если вы заметите неточность – напишите об этом в комментарии. Другие мои мысли на тему маркетинговой аналитики можно почитать в моем телеграм-канале «Модель атрибуции».