| Краткое описание | Добавляет отслеживание Meta Pixel с использованием Conversions API (CAPI) в ваш форум Discourse. | ||
| Ссылка на репозиторий | Плагин Discourse Meta Pixel & Conversions API | ||
| Руководство по установке | Как установить плагины в Discourse |
Обычный способ добавить Meta Pixel в Discourse — вставить базовый код в компонент темы. Это вызывает fbq('track', 'PageView') один раз при загрузке документа, и поскольку Discourse никогда не перезагружает документ, вы получаете только одно событие PageView за визит, независимо от того, сколько тем читает пользователь. Этот плагин срабатывает при каждой навигации, добавляет события контента и конверсий, а также отправляет серверную копию через Conversions API, чтобы события сохранялись даже при наличии блокировщиков рекламы.
Почему не использовать просто компонент темы?
Компонент темы работает только в браузере, что имеет три последствия.
Блокировщики рекламы и ITP от Safari удаляют значительную часть событий браузера, и невозможно определить, какие именно из них отсутствуют. Он не может использовать Conversions API вообще, так как для этого нужен токен доступа, а в компоненте темы нет места для хранения секрета, который посетители не могли бы прочитать. И он срабатывает везде, где он внедрен, включая личные сообщения, /admin и страницы сброса пароля.
Если вам нужно только событие PageView для аудитории ретаргетинга, компонента темы действительно достаточно, и это займет две минуты. Этот плагин предназначен для качества конверсий.
Нужен ли этот плагин для моего форума?
Скорее всего, нет. Pixel и CAPI созданы для отслеживания конверсий и создания рекламных аудиторий. Хотя они могут提供一些 аналитические данные, панель администратора Discourse уже содержит надежные аналитические данные. Этот плаген предназначен для пользователей, которые в первую очередь хотят отслеживать конверсии и управлять рекламой Meta, которая помогает привлекать пользователей на ваш форум и сайт.
Возможности
- Браузерный Pixel и серверный Conversions API в одном плагине, использующие один идентификатор события, чтобы Meta удалял дубликаты, а не считал их дважды
PageView,ViewContent,Search,TopicEngaged,CompleteRegistration,TopicCreated,ReplyCreated- Срабатывает при каждой навигации SPA, а не при каждой загрузке страницы
- Серверные конверсии продолжают поступать, даже если браузерный Pixel заблокирован
- Личные сообщения, ограниченные категории и административные маршруты не генерируют событий
- Заголовки пользовательского контента и поисковые запросы никогда не отправляются
- Трафик персонала можно исключить по группам, и это强制执行 на серверных событиях тоже
- Пакетная доставка с классификацией повторных попыток, откатом при превышении лимита запросов и надежной таблицей идемпотентности
- Страница диагностики, показывающая последние доставки и их статус
Настройка
1. Установка
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/multidimension-al/discourse-meta-pixel-capi.git
Затем выполните ./launcher rebuild app. При пересборке запускается миграция, создающая таблицу доставки.
2. Pixel. Администрирование → Настройки → Meta Pixel & Conversions API. Введите ваш ID Pixel в meta pixel dataset id, затем включите discourse meta pixel enabled. Это рабочая конфигурация только с Pixel.
(Meta называет это ID Pixel в Events Manager и ID набора данных в документации Conversions API. Это одно и то же число.)
3. Conversions API (необязательно). Сгенерируйте токен в Events Manager → ваш набор данных → Настройки → Conversions API. Введите его в meta pixel capi access token, затем включите meta pixel capi enabled. Настройка не позволит включить функцию без токена и ID набора данных.
4. Проверка. Введите код из Events Manager → Test Events в meta pixel test event code и просмотрите форум. Каждое событие должно приходить один раз, а не дважды. Это означает, что удаление дубликатов работает. После проверки очистите поле, так как события, отправленные с кодом тестирования, не считаются конверсиями.
5. Контроль. Администрирование → Плагины → Meta Pixel → Диагностика показывает конфигурацию, состояние браузера, количество доставок и последние 25 доставок с любыми ошибками.
Параметры
| Название | Описание |
|---|---|
discourse meta pixel enabled |
Включить плагин. По умолчанию выключено. |
meta pixel pixel enabled |
Загружать Meta Pixel в браузере. |
meta pixel dataset id |
Ваш ID Meta Pixel (называется ID набора данных в документации CAPI). |
meta pixel capi enabled |
Отправлять серверную копию через Conversions API. Требуется токен. По умолчанию выключено. |
meta pixel capi access token |
Токен Conversions API из Events Manager. Серверный секрет, никогда не отправляется в браузер. |
meta pixel graph api version |
Версия Graph API для запросов CAPI. По умолчанию v26.0. |
meta pixel test event code |
Код Test Events. Устанавливайте только во время проверки, так как эти события не считаются конверсиями. |
meta pixel track page view |
Отправлять PageView для соответствующих страниц. |
meta pixel track view content |
Отправлять ViewContent при открытии публично видимой темы. |
meta pixel track search |
Отправлять Search при выполнении полностраничного поиска. Текст поиска никогда не передается. По умолчанию выключено. |
meta pixel track topic engaged |
Отправлять TopicEngaged после значимого чтения. |
meta pixel topic engaged seconds |
Секунды активного чтения перед срабатыванием TopicEngaged. По умолчанию 30. |
meta pixel track complete registration |
Отправлять CompleteRegistration при создании учетной записи. |
meta pixel track topic created |
Отправлять TopicCreated для новой публичной темы. |
meta pixel track reply created |
Отправлять ReplyCreated для ответа в публичной теме. |
meta pixel enhanced email matching |
Включать SHA-256 хэш электронной почты участника для улучшения качества сопоставления. По умолчанию выключено. |
meta pixel external id matching |
Включать непрозрачный HMAC идентификатора пользователя. Никогда не имя пользователя или электронная почта. |
meta pixel excluded groups |
Участники этих групп не генерируют никаких событий Meta. По умолчанию: администраторы, модераторы. |
meta pixel respect do not track |
Ничего не отправлять для посетителей, чей браузер сообщает Do Not Track. |
meta pixel public content only |
Отправлять события контента только для тем, которые может прочитать анонимный посетитель. |
meta pixel batch size |
Количество конверсий на запрос. Meta принимает до 1000. По умолчанию 100. |
meta pixel batch max wait seconds |
Сколько времени частично заполненная партия ожидает. По умолчанию 300. |
meta pixel delivery retention days |
Дней для хранения записей о доставке. Минимум 7, по умолчанию 30. |
meta pixel debug mode |
Логировать отправленные события в консоль браузера. |
Примечания
- Браузерная и серверная копии события используют один ID. Meta удаляет дубликаты по имени события и ID в течение 48 часов, поэтому окно ожидания пакета составляет минуты, а не часы.
- Создание тем и ответов происходит только на сервере. Браузерная копия не добавила бы сигнала идентификации, а клиент, который мог бы утверждать «тема была создана», мог бы сделать это ложно.
- Регистрация отправляется с сервера, но связывается с браузерным событием, потому что при создании учетной записи нет активного запроса, из которого можно было бы получить IP, user agent или
_fbp. - Исключенные группы强制执行 на каждом пути серверной отправки, а не только в браузере.
TopicCreated,ReplyCreatedиCompleteRegistrationвообще не включают браузер. - Точка конечности, на которую браузер отправляет данные, не является прокси CAPI. Он принимает четыре имени событий, идентификатор события и, опционально, ID темы и путь. Не URL и не произвольные
user_data.
Существует сопутствующий плагин Google Analytics 4, созданный аналогичным образом.

