Meta Pixel и Conversions API

:information_source: Краткое описание Добавляет отслеживание Meta Pixel с использованием Conversions API (CAPI) в ваш форум Discourse.
:hammer_and_wrench: Ссылка на репозиторий Плагин Discourse Meta Pixel & Conversions API
:open_book: Руководство по установке Как установить плагины в 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, созданный аналогичным образом.

Не забудь заполнить это! Я-то не забыл.

1 лайк