Блог
SignalHost для WordPress: серверный Google Tag Manager и события WooCommerce в одном плагине
Опубликовано · 6 мин чтения
Плагин SignalHost добавляет серверный Google Tag Manager на сайт WordPress без вставки кода вручную. Он размещает отслеживание на каждой странице, отправляет события WooCommerce, форм и регистраций в том виде, которого ждёт ваш контейнер, сам переключается, когда начинает работать ваш собственный домен отслеживания, и предупреждает обо всём, что было бы посчитано дважды. Руководство идёт в том порядке, в каком вы с этим столкнётесь: установка, подключение, проверка и исправление того, что не работает.
Прежде чем начать
- WordPress 6.6 или новее на PHP 7.4 или новее и учётная запись администратора.
- Адрес сайта, который начинается с https://, — без этого подключение невозможно. Другие сайты всё равно могут использовать плагин со вставленным фрагментом кода, как описано ниже.
- Аккаунт SignalHost. Чтобы попробовать, хватит бесплатного тарифа: 10 000 запросов в месяц и один контейнер. Аккаунт можно создать прямо во время подключения.
- WooCommerce, если вам нужны события магазина. События форм и регистраций работают и без него.
1. Установите плагин
В WordPress откройте Plugins → Add New, найдите SignalHost, затем установите и активируйте SignalHost – Server-Side Tag Hosting for Google Tag Manager. Плагин добавляет пункт SignalHost в меню администратора и не обращается ни к одному внешнему сервису, пока вы не подключите сайт.
2. Подключите сайт к контейнеру
Откройте SignalHost в меню и нажмите «Connect with SignalHost» или, если вы у нас впервые, «Create a free account». Браузер перейдёт на signalhost.io и вернётся, когда вы закончите.
Там на экране «Подключить сайт» перечислено, что плагин сможет делать — добавлять ваш код отслеживания на каждую страницу, поддерживать его в актуальном состоянии и читать статус контейнера, — и чего он не сможет: использовать ваш аккаунт Google, токены рекламных платформ или данные оплаты. Затем вас спросят, какой контейнер должен использовать сайт. Контейнер — это ваш собственный сервер тегинга: веб-контейнер и серверный контейнер Tag Manager, созданные в вашем собственном аккаунте Google, так что они остаются вашими.
Выберите контейнер и нажмите «Подключить» или выберите «Новый контейнер для» вашего сайта и нажмите «Создать контейнер», чтобы пройти короткий мастер: он предложит подключить сайт ещё до окончания сборки, а плагин добавит код в тот момент, когда контейнер будет готов. Вернувшись в WordPress, вы увидите уведомление о том, что сайт подключён.
3. Проверьте, что всё работает
Вкладка «Status» — это контрольный список, который зеленеет сверху вниз: «Connected to SignalHost», «Tracking code on your site», «SignalHost served the code to a visitor» и «Data arriving». Второй шаг плагин проверяет, загружая вашу главную страницу так, как её увидел бы посетитель без входа в систему; кнопка «Check again» повторяет проверку.
Откройте сайт в браузере, добавьте товар в корзину, отправьте форму. Третий шаг зеленеет в течение минуты после первого посещения, а «Data arriving» затем показывает просмотры страниц за последние 7 дней. Параметр «Log events in the browser console» в разделе «Advanced» показывает каждое событие в момент, когда оно покидает страницу, а начиная с тарифа Growth страница контейнера на signalhost.io перечисляет события в разделе «Мониторинг событий в реальном времени».
Что плагин добавляет на ваш сайт
Загрузчик Google Tag Manager в head каждой страницы, направленный на ваш собственный адрес тегинга вместо googletagmanager.com, размещённый после вашего cookie-баннера и исключённый из функций «отложенного JavaScript» распространённых плагинов оптимизации. Помимо просмотров страниц, которые отправляет ваш контейнер, плагин отправляет следующие события, каждое со своим event_id, чтобы Meta, TikTok и другие платформы засчитывали событие пикселя в браузере и его серверного двойника один раз:
- WooCommerce: view_item_list, view_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info и purchase — как с классической, так и с блочной корзиной и оформлением заказа. Каждый заказ отправляется один раз, с отметкой на самом заказе, сколько бы раз ни открывалась страница благодарности.
- Формы: успешные отправки из Contact Form 7, WPForms, Gravity Forms, форм Elementor Pro и Fluent Forms — как заявка (generate_lead), обращение (contact), бронирование (schedule), анкета (submit_application) или подписка (subscribe), по выбору для каждой формы.
- Регистрации: sign_up, когда посетитель создаёт учётную запись — на странице регистрации, в разделе My Account или при оформлении заказа.
Каждый вид событий включается отдельным переключателем в разделе «What is tracked». События корзины, оформления заказа, форм и регистраций приходят из собственной сессии посетителя, а не из HTML страницы, поэтому кеш страниц не может передать событие одного посетителя следующему.
Параметр «Send customer details for better ad matching» выключен, пока вы его не включите. После этого email, телефон и адрес отправляются вместе с конверсиями, только если посетитель разрешил рекламные cookie, и хешируются до того, как попадут на рекламные платформы. Согласие следует за вашим cookie-баннером через Google Consent Mode; если ваш баннер его не устанавливает, выберите здесь «Set “denied until consent”» в разделе «Consent & privacy».
Если вы уже используете GTM4WP или другой тег Google
Плагин читает вашу главную страницу, проверяет другие ваши плагины и в разделе «Double-counting check» перечисляет всё, что было бы посчитано дважды: фрагмент SignalHost, который вы вставили раньше, собственный фрагмент Tag Manager от Google или тег Google для того же ресурса, Site Kit, MonsterInsights, ExactMetrics или Google Analytics for WooCommerce.
Для GTM4WP есть исправления в один клик. «Turn off GTM4WP’s container code» не даёт ему загружать тот же контейнер напрямую из Google, а его слой данных продолжает работать; «Turn off GTM4WP’s shop tracking» оставляет события магазина SignalHost. «Undo» отменяет любое из этих действий.
Ваш собственный домен отслеживания
Сначала ваш контейнер работает на адресе под signalhost.io. На платном тарифе кнопка «Подключить собственный домен» на странице контейнера проведёт вас через настройку поддомена вашего собственного сайта, например metrics.yoursite.com, с помощью одной DNS-записи. Браузеры считают его доменом первого лица, поэтому его cookie считаются вашими собственными, а клики по рекламе остаются засчитанными. Когда домен заработает, плагин переключит на него ваш сайт при следующем сеансе связи, обычно в течение часа, и очистит кеш страниц. Вручную заменять ничего не нужно.
Добавить SignalHost вручную
SignalHost можно запустить на WordPress и без плагина. На signalhost.io откройте свой контейнер, найдите фрагмент кода в карточке «Установить на сайт» и нажмите «Копировать». Вставьте его в head каждой страницы как можно выше, но после скрипта вашего cookie-баннера: подойдёт плагин для заголовка, например WPCode (его поле Header), или файл header.php вашей темы. Если сайт уже загружает Google Tag Manager или тег Google для того же ресурса Analytics, замените тот фрагмент, а не добавляйте второй. Затем нажмите «Готово».
Так ваш контейнер Tag Manager окажется на каждой странице, с просмотрами страниц и всем, что ваш сайт сам отправляет в слой данных. Вы теряете всё, что добавляет плагин: события WooCommerce, форм и регистраций, покупку один раз на заказ и обе проверки. Когда заработает ваш собственный домен, фрагмент придётся заменить самостоятельно.
Для сайта, который не может подключиться, например без https://, есть промежуточный вариант: в плагине выберите «I already have a snippet from SignalHost», вставьте код и нажмите «Use this snippet». События по-прежнему передаются, но плагин не сможет переключиться на ваш собственный домен или показать, поступают ли данные.
Управление и отключение
Кнопка «Disconnect» на вкладке «Status» один раз запрашивает подтверждение, а затем сразу убирает код отслеживания со всех страниц. Ваш контейнер и его данные сохраняются, а «Connect with SignalHost» в любой момент вернёт сайт. Сайт также есть в списке «Настройки › Подключённые сайты» на signalhost.io; кнопка «Отключить» там убирает код при следующем сеансе связи плагина, обычно в течение часа.
Удаление плагина отключает сайт и стирает всё, что плагин сохранил. На тестовой копии (staging) плагин замечает изменившийся адрес и приостанавливает отслеживание, чтобы тестовый трафик не попадал в ваши рабочие данные.
Если что-то не работает
- Нет кнопки подключения: адрес сайта не начинается с https://. Используйте вместо этого «I already have a snippet from SignalHost».
- Подключение прерывается сообщением о файрволе: плагин безопасности или сервер блокирует запросы к signalhost.io. Разрешите их и снова нажмите «Connect».
- Код не найден на главной странице: его удаляет тема без wp_head(), кеш страниц или плагин оптимизации. Нажмите «Clear page caches» в разделе «Advanced», затем «Check again».
- Код стоит на главной странице дважды или там есть старая копия: удалите фрагмент, который вы раньше вставили в тему или в плагин для заголовка.
- Главную страницу не удалось открыть с этого сервера: мешает защита паролем, режим обслуживания или файрвол. Откройте сайт в браузере, чтобы проверить его там.
- Ваши собственные посещения не видны: включён параметр «Do not track administrators». Зайдите на сайт, не входя в систему.
- Что-то другое: напишите на hello@signalhost.io и укажите адрес сайта.
Товарные знаки
SignalHost — независимый продукт компании Algorithmo GmbH, не связанный с WordPress Foundation, WooCommerce, Google, Meta или TikTok и не одобренный ими. Google Analytics, Google Ads и Google Tag Manager — товарные знаки Google LLC; Meta — товарный знак Meta Platforms, Inc.; TikTok — товарный знак ByteDance Ltd.; WordPress — товарный знак WordPress Foundation. WooCommerce и другие упомянутые здесь названия плагинов являются товарными знаками соответствующих владельцев.

