Компонент темы Gate для гостей

Я реализовал систему аналитики для Guest Gate v2.0 с полной поддержкой GTM (Google Tag Manager) и гибким ведением журнала пользовательских событий.

Добавленные настройки

  • enable_analytics (отключено по умолчанию): Включает или отключает весь функционал отслеживания по запросу.

  • analytics_debug_logging: При включении логирует все отслеживаемые события напрямую в консоль браузера. Это особенно полезно при настройке триггеров GTM.

Основные функции

Выделенный модуль помощника (guest-gate-analytics.js) отвечает за отправку событий. Каждое отслеживаемое событие одновременно отправляется в два назначения:

  1. window.dataLayer.push(...): Автоматически обрабатывается Google Tag Manager (GTM) и Google Analytics 4 (GA4), если они активны на сайте.

  2. discourse-guest-gate:analytics (Пользовательское событие браузера): Позволяет интегрироваться с сторонними инструментами (например, Matomo, Plausible или пользовательскими вебхуками) без необходимости внесения каких-либо дополнительных изменений в код.

Отслеживаемые события

  • guest_gate_shown (Срабатывает при появлении модального окна)

    • guest_gate_reason: Тип триггера (page_view, time, scroll или lightbox).

    • guest_gate_path: Путь URL, где было показано модальное окно.

  • guest_gate_click (Срабатывает при взаимодействии посетителя с модальным окном)

    • guest_gate_click_action: Конкретное выполненное действие (login, signup, sso_login, sso_signup, external_<provider>, например, кнопка входа через Google, или dismiss, если окно было закрыто без выполнения действия).

    • Включает те же метаданные reason и path, чтобы легко сопоставлять взаимодействия с триггерами отображения.

Конфиденциальность и защита данных

  • Не собирается и не передается никаких персональных данных (PII), только минимальные операционные метаданные, перечисленные выше.

Скоро…:rocket:

> ./support --coffee

3 лайка