Блог / Статьи

Полезная информация для вашего хостинга

Установка и настройка серверного Google Tag Manager на VPS

Установка и настройка серверного Google Tag Manager на VPS

В условиях современной онлайн-экономики эффективное отслеживание поведения пользователей на веб-сайтах играет важнейшую роль в принятии маркетинговых решений и оптимизации веб-ресурсов. В этой статье мы рассмотрим, как установить и настроить серверный Google Tag Manager (GTM) на VPS, что позволит оптимизировать управление тегами для отслеживания пользовательской активности.

Создание поддоменов

Для корректной работы серверного Google Tag Manager потребуется два поддомена на вашем основном домене. Один из них будет использоваться для серверного GTM, а второй — для сервера превью. Эти поддомены можно добавить через панель управления в разделе "Домены и поддомены". Например, поддомены могут быть названы как sgtm.example.com и preview-sgtm.example.com.

В панели управления DNS нужно будет прописать A-записи для этих поддоменов, указав IP-адрес вашего VPS, на котором будет работать серверный GTM.

Создание контейнера для серверного GTM

Перед установкой серверного Google Tag Manager необходимо создать контейнер в Google Tag Manager и получить его ключ. Для этого:

1. Перейдите в ваш аккаунт Google Tag Manager и нажмите на три точки рядом с вашим аккаунтом.

GTM1

2. Выберите "Создать контейнер".

GTM2

3. В появившемся окне введите название контейнера, выберите платформу "Server" и нажмите "Создать".

 

После создания контейнера откроется окно с настройками, в котором нужно выбрать "Добавить сервер тегов вручную". Скопируйте ключ из поля "Настройки контейнера" — он потребуется в процессе установки серверного GTM.

Установка серверного GTM на VPS

Для настройки серверного Google Tag Manager на VPS необходимо учесть несколько факторов. Например, каждый контейнер серверных тегов требует примерно 1 ядро процессора и 0.25 ГБ оперативной памяти. Поэтому перед началом установки важно правильно подобрать параметры VPS с учетом требуемого количества контейнеров, а также добавив 0.5 ГБ RAM для работы ОС и прочего программного обеспечения.

Оптимальная конфигурация для работы с четырьмя контейнерами может быть, например, 4 ядра CPU, 3 ГБ RAM и минимум 20 ГБ дискового пространства.

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

Пошаговая установка и настройка

1. Создание директории: Для начала создайте папку, в которой будут храниться конфигурационные файлы серверного GTM: 

mkdir -p ~/sgtm && cd ~/sgtm

2. Загрузка файлов: Скачайте и распакуйте подготовленные файлы на сервер. После распаковки в директории появятся 4 файла: `docker-compose.yml`, `gtm.env`, `gtm-preview.env`, `nginx.conf`.

3. Настройка конфигурации: Откройте файл `gtm.env` в текстовом редакторе (например, с помощью команды `vim`): 

vim gtm.env

В первой строке файла, после `CONTAINER_CONFIG=`, вставьте ключ контейнера, который вы получили в Google Tag Manager. Во второй строке, после `PREVIEW_SERVER_URL=`, укажите домен вашего превью-сервера.

Пример конфигурации: 

CONTAINER_CONFIG=mF1dGg9MkZHZmNlTjg1NlZES3FHM09KODlMdwaWQ9R1RNLU4yRFAzVk5GJmVudj0xJ==
PREVIEW_SERVER_URL=https://sgtm-preview.example.com

4. Сохранение изменений: После внесения изменений в конфигурацию сохраните файл и закройте редактор.

Таким образом, вы завершили настройку конфигурации для серверного Google Tag Manager. На этом этапе можно приступить к дальнейшей настройке и запуску контейнеров.

Дополнительные настройки серверного Google Tag Manager

Теперь, когда вы настроили основные конфигурации, перейдем к следующим этапам, включая настройку сервера превью и работу с SSL-сертификатами для безопасного соединения через HTTPS.

Настройка сервера превью

1. Откройте файл `gtm-preview.env` с помощью текстового редактора (например, vim): 

vim gtm-preview.env

В первой строке файла после `CONTAINER_CONFIG=` вставьте ключ контейнера, полученный ранее в Google Tag Manager. Также добавьте строку `RUN_AS_PREVIEW_SERVER=true`, чтобы активировать сервер превью.

Пример конфигурации: 

CONTAINER_CONFIG=mF1dGg9MkZHZmNlTjg1NlZES3FHM09KODlMdwaWQ9R1RNLU4yRFAzVk5GJmVudj0xJ==
RUN_AS_PREVIEW_SERVER=true

Настройка Nginx

Далее откроем файл конфигурации Nginx `nginx.conf`: 

vim nginx.conf

В файле найдите и замените домены в строках:

- Строки 60, 68, 76, 79 и 80: замените `sgtm.example.com` на домен, который вы использовали для серверного GTM.
- Строки 101, 109, 117, 120 и 121: замените `sgtm-preview.example.com` на домен для сервера превью.

Запуск контейнеров

После завершения всех настроек конфигурации, запустите контейнеры командой: 

docker-compose up -d

Получение SSL-сертификатов

Для обеспечения работы Google Tag Manager через HTTPS необходимо получить SSL-сертификаты для доменов сервера тегов и сервера превью. Для этого выполните следующие команды:

1. Для домена серверного GTM: 

docker exec -it sgtm-certbot-1 certbot certonly --webroot --webroot-path /var/www/certbot/ -d sgtm.example.com

2. Для домена сервера превью: 

docker exec -it sgtm-certbot-1 certbot certonly --webroot --webroot-path /var/www/certbot/ -d sgtm-preview.example.com

После успешного получения сертификатов, нужно активировать HTTPS для серверного GTM. Для этого откройте файл `nginx.conf` и раскомментируйте строки 72-95 и 113-134, удалив символ `#` в начале каждой строки.

Перезапустите контейнер Nginx: 

docker restart sgtm-nginx-1

Добавление крон-задач для обновления сертификатов

Для автоматического обновления SSL-сертификатов и перезагрузки конфигурации Nginx добавьте следующие задачи в crontab:

1. Откройте crontab: 

crontab -e

2. В редакторе добавьте две строки для автоматического обновления сертификатов и перезагрузки Nginx:

 

   # RENEW CERTIFICATES
   20 1 15 */1 * docker exec sgtm-certbot-1 certbot renew
   
   # RELOAD NGINX TO APPLY CERTIFICATES
   20 4 15 */1 * docker exec sgtm-nginx-1 nginx -s reload

 

3. Сохраните изменения и закройте редактор.

Завершающая настройка в Google Tag Manager

Вернитесь в интерфейс Google Tag Manager и укажите адрес вашего серверного GTM:

1. Перейдите в Менеджер тегов Google и выберите контейнер, который вы создали ранее.

GTM3

2. На вкладке "Администрирование" выберите раздел "Настройки контейнера".

GTM3

3. Нажмите кнопку "Добавить URL" и введите URL вашего серверного GTM, например, `https://sgtm.example.com`.

GTM4

4. Нажмите "Сохранить".

Теперь серверный Google Tag Manager настроен и готов к работе с безопасным HTTPS-соединением.

GTM7

Настройка тегов и подключение аналитики

После того как серверный Google Tag Manager настроен, следующим шагом будет работа с тегами, триггерами и подключение аналитических систем, таких как Google Analytics и Яндекс.Метрика.

Работа с тегами в Google Tag Manager

1. Перейдите в контейнер, который вы создали на втором этапе настройки серверного GTM.
2. В левом меню доступны следующие разделы:
- Теги — для создания и управления тегами, которые будут отслеживать различные события на вашем сайте.
- Триггеры — для настройки условий активации тегов.
- Преобразования — для настройки конверсий.
- Папки — для систематизации тегов, триггеров и других элементов.

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

Подключение клиентов аналитики

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

Подключение серверного GTM к сайту

Чтобы отслеживать действия на сайте с помощью серверного Google Tag Manager, необходимо установить специальный скрипт Google Tag (`gtag.js`) на страницы вашего сайта.

Вот пример кода скрипта: 

<!-- Google tag (gtag.js) -->
<script async src="https://tagging.example.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
     server_container_url: 'https://tagging.example.com',
  });
</script>

- TAG_ID: Замените на ваш идентификатор потока данных в Google Analytics.
- https://tagging.example.com: Замените на ваш домен серверного GTM, например, `https://sgtm.example.com`.

Этот код нужно добавить на страницы сайта, чтобы передавать данные в серверный GTM, откуда информация будет передаваться в подключенные системы аналитики.

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

После того как скрипт будет добавлен, данные о посещениях и действиях пользователей будут передаваться в серверный GTM, который будет пересылать информацию в системы аналитики, такие как Google Analytics.

Изменение количества контейнеров серверного GTM

Если вам нужно изменить количество контейнеров серверного GTM, это можно сделать, отредактировав два файла: `docker-compose.yml` и `nginx.conf`.

1. Откройте файл `docker-compose.yml` с помощью текстового редактора (например, `vim`): 

vim docker-compose.yml

2. Найдите строку с параметром `replicas` (она находится на 39-й строке) и измените значение этого параметра в большую или меньшую сторону в зависимости от того, сколько контейнеров вам нужно.

3. После внесения изменений сохраните файл и закройте редактор.

Эти изменения позволят масштабировать контейнеры для серверного GTM в соответствии с вашими потребностями.

Настройка проксирования запросов в Nginx

После изменения количества контейнеров в `docker-compose.yml`, необходимо обновить файл `nginx.conf`, чтобы Nginx корректно распределял запросы между всеми активными контейнерами.

Редактирование списка контейнеров в Nginx

1. Откройте файл `nginx.conf` с помощью текстового редактора: 

vim nginx.conf

2. Найдите блок upstream gtm-default (строки 29–36), который отвечает за список контейнеров. Здесь перечислены контейнеры, куда Nginx проксирует запросы:

Пример исходной конфигурации: 

   upstream gtm-default {
       zone gtm-default 64k;
       server sgtm-gtm-1:8080;
       server sgtm-gtm-2:8080;
       server sgtm-gtm-3:8080;
       server sgtm-gtm-4:8080;
       keepalive 8;
   }

3. Если вы увеличили количество контейнеров, добавьте новые записи для дополнительных контейнеров перед строкой `keepalive 8;`. Например, если вы увеличили их до 6: 

   upstream gtm-default {
       zone gtm-default 64k;
       server sgtm-gtm-1:8080;
       server sgtm-gtm-2:8080;
       server sgtm-gtm-3:8080;
       server sgtm-gtm-4:8080;
       server sgtm-gtm-5:8080;
       server sgtm-gtm-6:8080;
       keepalive 8;
   }

4. Если вы уменьшили количество контейнеров, удалите лишние строки. Например, для двух контейнеров конфигурация будет выглядеть так: 

   upstream gtm-default {
       zone gtm-default 64k;
       server sgtm-gtm-1:8080;
       server sgtm-gtm-2:8080;
       keepalive 8;
   }

5. Сохраните изменения и закройте редактор.

Применение изменений

Для того чтобы Nginx и серверный GTM начали работать с новой конфигурацией, нужно перезапустить контейнеры: 

docker-compose down && docker-compose up -d

Заключение

Мы рассмотрели процесс установки и настройки серверного Google Tag Manager на VPS, включая управление количеством контейнеров и обновление конфигурации Nginx. Теперь ваш серверный GTM полностью настроен и готов передавать данные аналитики с вашего сайта.

Преимущества серверного GTM:
- Данные для аналитики хранятся на вашем сервере.
- Отслеживание не блокируется большинством блокировщиков рекламы.
- Вы сохраняете привычный интерфейс Google Analytics или Яндекс.Метрики для анализа.

Теперь вы можете эффективно управлять тегами и собирать данные аналитики в одном месте, обеспечивая контроль над всеми процессами.

Для установки и стабильной работы серверного Google Tag Manager важен выбор надежного VPS-хостинга. Производительность серверного GTM напрямую зависит от конфигурации VPS, так как каждый контейнер требует ресурсов: минимум 1 ядро CPU и 0.25 ГБ RAM. Хостинг с высокой скоростью соединения, поддержкой Docker и стабильной работой SSL-сертификатов обеспечит бесперебойную обработку данных аналитики, а также повысит скорость и надежность взаимодействия с системами, такими как Google Analytics и Яндекс Метрика. Выбор подходящего VPS-хостинга — это ключевой шаг к эффективному управлению данными вашего сайта.